-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
代码问题 #2
Comments
对不起我没看仔细论文,v1,v2,v3使用了MTC,未使用蒸馏,SDPose-Reg使用了蒸馏。 |
您好,在实际推理的时候,我们会使用不包含蒸馏与MTC的模型读取参数进行推理,代码实现里v1,v2,v3的inference部分都是进行了多次推理的。实际上的计算量应该使用没有MTC的计算量。
…------------------ 原始邮件 ------------------
发件人: "MartyrPenink/SDPose" ***@***.***>;
发送时间: 2024年5月15日(星期三) 晚上8:03
***@***.***>;
***@***.***>;
主题: Re: [MartyrPenink/SDPose] 代码问题 (Issue #2)
对不起我没看仔细论文,v1,v2,v3使用了MTC,未使用蒸馏,SDPose-Reg使用了蒸馏。
但是我运行test_flops出现的计算量比作者论文中大很多,还未得到解决,希望作者能解答我的疑惑,谢谢。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
好的,谢谢您的答复,我对您的工作非常感兴趣,请问我如何使用不包含蒸馏与MTC的模型读取我训练的权重文件呢?大佬能否将这部分工作开源呢? |
您好,所有的代码都开源在这个仓库里了,使用其中sdpose head进行训练是使用了蒸馏的,再使用tokenpose head读取权重进行推理即可。
…------------------ 原始邮件 ------------------
发件人: "MartyrPenink/SDPose" ***@***.***>;
发送时间: 2024年5月20日(星期一) 下午2:19
***@***.***>;
***@***.******@***.***>;
主题: Re: [MartyrPenink/SDPose] 代码问题 (Issue #2)
您好,在实际推理的时候,我们会使用不包含蒸馏与MTC的模型读取参数进行推理,代码实现里v1,v2,v3的inference部分都是进行了多次推理的。实际上的计算量应该使用没有MTC的计算量。
…
------------------ 原始邮件 ------------------ 发件人: "MartyrPenink/SDPose" @.>; 发送时间: 2024年5月15日(星期三) 晚上8:03 @.>; @.>; 主题: Re: [MartyrPenink/SDPose] 代码问题 (Issue #2) 对不起我没看仔细论文,v1,v2,v3使用了MTC,未使用蒸馏,SDPose-Reg使用了蒸馏。 但是我运行test_flops出现的计算量比作者论文中大很多,还未得到解决,希望作者能解答我的疑惑,谢谢。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>
好的,谢谢您的答复,我对您的工作非常感兴趣,请问我如何使用不包含蒸馏与MTC的模型读取我训练的权重文件呢?大佬能否将这部分工作开源呢?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
谢谢作者的回答,我还有几点疑问: |
作者您好,我今天使用tools/dist_test.sh configs/body/2d_kpt_sview_rgb_img/tokenpose/coco/tokenpose_hr32_stage3_coco_256x192.py /work_dirs/sdpose_b_hr32_coco_256x192/best_AP_epoch_290.pth 1进行推理,但是结果非常差,请问是我的操作不正确吗? |
很抱歉哈,因为开源的时候整理代码修改了结构,之前的回复有一些出错的地方:
1.在sdpose里面是使用了蒸馏的,我们在model内的推理部分就保存了多次前向的结果,并且在sdpose_head的loss计算部分你可以看到蒸馏;
2.很抱歉因为论文主要作者都已经从前单位离职,crowdpose部分的config可能没有办法开源了;
3.整理代码之后直接使用sdpose_head进行推理即可,他在计算的时候只使用第一次前向的结果进行推理,之后的循环结果都是没有参与推理的。
…------------------ 原始邮件 ------------------
发件人: "MartyrPenink/SDPose" ***@***.***>;
发送时间: 2024年5月23日(星期四) 中午11:59
***@***.***>;
***@***.******@***.***>;
主题: Re: [MartyrPenink/SDPose] 代码问题 (Issue #2)
作者您好,我今天使用tools/dist_test.sh configs/body/2d_kpt_sview_rgb_img/tokenpose/coco/tokenpose_hr32_stage3_coco_256x192.py /work_dirs/sdpose_b_hr32_coco_256x192/best_AP_epoch_290.pth 1进行推理,但是结果非常差,请问是我的操作不正确吗?
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets= 20 ] = 0.000
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets= 20 ] = 0.000
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets= 20 ] = 0.000
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets= 20 ] = 0.000
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets= 20 ] = 0.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 20 ] = 0.001
Average Recall (AR) @[ IoU=0.50 | area= all | maxDets= 20 ] = 0.003
Average Recall (AR) @[ IoU=0.75 | area= all | maxDets= 20 ] = 0.001
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets= 20 ] = 0.001
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets= 20 ] = 0.002
AP: 2.983390592303173e-06
AP (L): 5.7384475625176e-06
AP (M): 6.11148705978272e-06
AP .5: 6.517437403773797e-06
AP .75: 2.237343348676537e-06
AR: 0.00133816120906801
AR (L): 0.0019323671497584536
AR (M): 0.0009013930620049166
AR .5: 0.0026763224181360202
AR .75: 0.001102015113350126
然后我又把sdpose_b_hr32_coco_256x192的config中type=SDPoseead改成了type=TokenPoseHead,这样就报错了,请问要怎样才能用训练出来的sdpose权重文件在tokenpose上正确推理呢?
期待您的回复,谢谢!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
谢谢您的解答,对于第三点我还有疑问,我直接使用tools/test_flops.sh configs/body/2d_kpt_sview_rgb_img/sdpose/coco/sdpose_s_v1_stemnet_coco_256x192.py 1对您的代码进行参数和计算量的计算,但是得出的结果却比论文中高很多,请问是我计算方法错误了吗? |
作者您好,又有一个问题,请问CrowdPose数据集是经过训练后再测试的吗,还是使用基于COCO训练的SDPosev1、v2直接测试的呢 |
您好,关于第一个问题,直接使用mmpose中自带的脚本进行测试的结果并不准确,此外直接测试对应的config会计算额外循环带来的计算量。我们的sdpose-s-v1因为与tokenpose-s-v1的结构与推理过程完全相同,所以参数量与计算量与tokenpose-s-v1是对齐的;
关于第二个问题,是在crowdpose上重新训练过的。
…------------------ 原始邮件 ------------------
发件人: "MartyrPenink/SDPose" ***@***.***>;
发送时间: 2024年5月27日(星期一) 下午5:17
***@***.***>;
***@***.******@***.***>;
主题: Re: [MartyrPenink/SDPose] 代码问题 (Issue #2)
作者您好,又有一个问题,请问CrowdPose数据集是经过训练后再测试的吗,还是使用基于COCO训练的SDPosev1、v2直接测试的呢
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
作者您好,再向您请教几个问题;在您工作的代码中有两种transformer,一种是transformer_sd,一种是transformer,在transformer中存在剪枝代码,transformer_sd中不存在,在其他工作的代码中都是使用transformer,但是作者的SDPose的代码中使用的是transformer_sd,那么请问其自蒸馏体现在代码的哪个部分呢?为什么SDPose-Reg连接的是transformer而不是transformer_sd呢?
The text was updated successfully, but these errors were encountered: