FGD icon indicating copy to clipboard operation
FGD copied to clipboard

mAP为0

Open baibaidedongdong opened this issue 2 years ago • 16 comments

我在coco数据集上用yoloxm蒸馏yoloxs,损失曲线也正常,但是第一个epoch,精度为0,我已经按照reademe一步一步改了,之前是在自己数据集上精度为0,我想排查下到底哪里有问题,就在coco上进行了实验,发现在coco上也是同样问题。请问我这可能是哪里的问题那,已经困扰我很多天了。。。。 1665288123524 1665288158590 1665288178548

baibaidedongdong avatar Oct 09 '22 04:10 baibaidedongdong

我没遇到过这个情况,我只能帮你debug一下。训练中的测试使用的是simple下的self.student.simple_test,你可以试试把这改成self.teacher.simple_test,看看训练中eval是不是老师的精度。或者可以把训练完1轮的model进行transfer后,使用dist_test.sh进行推理一下,看看学生是否正确训练

yzd-v avatar Oct 09 '22 04:10 yzd-v

我试过把训练好的student进行transfer结果同样为0,还没试用teacher预测,等下我试下看下结果

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Mesopotamia @.> 发送时间: 2022年10月9日 12:11 收件人: yzd-v/FGD @.> 抄送: baibaidedongdong @.>, Author @.> 主题: Re: [yzd-v/FGD] mAP为0 (Issue #71)

我没遇到过这个情况,我只能帮你debug一下。训练中的测试使用的是simple下的self.student.simple_test,你可以试试把这改成self.teacher.simple_test,看看训练中eval是不是老师的精度。或者可以把训练完1轮的model进行transfer后,使用dist_test.sh进行推理一下,看看学生是否正确训练

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

baibaidedongdong avatar Oct 09 '22 04:10 baibaidedongdong

还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。

yzd-v avatar Oct 09 '22 04:10 yzd-v

好的,谢谢指导

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Mesopotamia @.> 发送时间: 2022年10月9日 12:26 收件人: yzd-v/FGD @.> 抄送: baibaidedongdong @.>, Author @.> 主题: Re: [yzd-v/FGD] mAP为0 (Issue #71)

还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

baibaidedongdong avatar Oct 09 '22 04:10 baibaidedongdong

还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。

你好,我按照你说的做了2个实验: 1、第一个实验是让teacher去val,val的结果如下图,但是相比于直接预测val精度降低了,并且训练着第2个epoch相比于第一个epoch精度有变化,按理说不是应该没有变化吗; 1665305262308

2、用fgd的框架训练,但是不用fgd的loss,student能正常训练,但是精度依旧为0,下图是这个实验的的loss和结果,不知道什么原因导致的。。。我太菜了,希望能够指点指点,万分感谢; 1665305313489

baibaidedongdong avatar Oct 09 '22 08:10 baibaidedongdong

还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。

这个是用fgd的框架训练,但是不用fgd的loss的log 1665305413952

baibaidedongdong avatar Oct 09 '22 08:10 baibaidedongdong

你试试这个框架蒸馏其他的模型,看看retinanet啥的有没有问题,还不行就重新clone设置代码把

yzd-v avatar Oct 09 '22 09:10 yzd-v

你试试这个框架蒸馏其他的模型,看看retinanet啥的有没有问题,还不行就重新clone设置代码把

好的

baibaidedongdong avatar Oct 09 '22 09:10 baibaidedongdong

还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。

你好,我按照你说的做了2个实验: 1、第一个实验是让teacher去val,val的结果如下图,但是相比于直接预测val精度降低了,并且训练着第2个epoch相比于第一个epoch精度有变化,按理说不是应该没有变化吗; 1665305262308

2、用fgd的框架训练,但是不用fgd的loss,student能正常训练,但是精度依旧为0,下图是这个实验的的loss和结果,不知道什么原因导致的。。。我太菜了,希望能够指点指点,万分感谢; 1665305313489

第一个实验精度下降我找到原因了,是因为下面 1665306976344

1665307045172

baibaidedongdong avatar Oct 09 '22 09:10 baibaidedongdong

你试试这个框架蒸馏其他的模型,看看retinanet啥的有没有问题,还不行就重新clone设置代码把

你好,我用了retinanet试了fgd,训练正常,下面是前4epoch的结果; image

baibaidedongdong avatar Oct 10 '22 01:10 baibaidedongdong

我也整不明白了 你来个完整log我看看

yzd-v avatar Oct 10 '22 01:10 yzd-v

我也整不明白了 你来个完整log我看看

我的训练在服务器,不能下载才来。。。。

baibaidedongdong avatar Oct 10 '22 01:10 baibaidedongdong

那你自己dubug一下吧,试试学生也像老师那样load一个训练好的模型进行初始化,看看能不能正常eval

yzd-v avatar Oct 10 '22 01:10 yzd-v

模型进行初始化

这个我试过,也是0

baibaidedongdong avatar Oct 10 '22 01:10 baibaidedongdong

我看issue其他同学是可以正常跑出来的,你从头整一下代码把,对齐mmdet和mmcv-full版本

yzd-v avatar Oct 10 '22 01:10 yzd-v

我看issue其他同学是可以正常跑出来的,你从头整一下代码把,对齐mmdet和mmcv-full版本

好的,非常感谢

baibaidedongdong avatar Oct 10 '22 01:10 baibaidedongdong

这个我试过,也是0 嗨,你最后改出来了吗,你用的哪个版本的mmdet和mmcv-full啊,用低版本的mmdet的话里面没有yolox算法,高版本的话会报sgd optimizer错误

yingwenmingzi123 avatar Mar 16 '23 02:03 yingwenmingzi123