FGD
FGD copied to clipboard
mAP为0
我在coco数据集上用yoloxm蒸馏yoloxs,损失曲线也正常,但是第一个epoch,精度为0,我已经按照reademe一步一步改了,之前是在自己数据集上精度为0,我想排查下到底哪里有问题,就在coco上进行了实验,发现在coco上也是同样问题。请问我这可能是哪里的问题那,已经困扰我很多天了。。。。
我没遇到过这个情况,我只能帮你debug一下。训练中的测试使用的是simple下的self.student.simple_test,你可以试试把这改成self.teacher.simple_test,看看训练中eval是不是老师的精度。或者可以把训练完1轮的model进行transfer后,使用dist_test.sh进行推理一下,看看学生是否正确训练
我试过把训练好的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: @.***>
还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。
好的,谢谢指导
发自我的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: @.***>
还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。
你好,我按照你说的做了2个实验:
1、第一个实验是让teacher去val,val的结果如下图,但是相比于直接预测val精度降低了,并且训练着第2个epoch相比于第一个epoch精度有变化,按理说不是应该没有变化吗;
2、用fgd的框架训练,但是不用fgd的loss,student能正常训练,但是精度依旧为0,下图是这个实验的的loss和结果,不知道什么原因导致的。。。我太菜了,希望能够指点指点,万分感谢;
还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。
这个是用fgd的框架训练,但是不用fgd的loss的log
你试试这个框架蒸馏其他的模型,看看retinanet啥的有没有问题,还不行就重新clone设置代码把
你试试这个框架蒸馏其他的模型,看看retinanet啥的有没有问题,还不行就重新clone设置代码把
好的
还有两个你可以debug注意的点,1是你可以试试使用蒸馏框架,但不带蒸馏损失看看能不能正常训练。2是可能问题在于学生的初始化self.studnet.init_weights和train.py的model.init_weights(),不同版本mmdet使用的方法是不同的。
你好,我按照你说的做了2个实验: 1、第一个实验是让teacher去val,val的结果如下图,但是相比于直接预测val精度降低了,并且训练着第2个epoch相比于第一个epoch精度有变化,按理说不是应该没有变化吗;
2、用fgd的框架训练,但是不用fgd的loss,student能正常训练,但是精度依旧为0,下图是这个实验的的loss和结果,不知道什么原因导致的。。。我太菜了,希望能够指点指点,万分感谢;
第一个实验精度下降我找到原因了,是因为下面
你试试这个框架蒸馏其他的模型,看看retinanet啥的有没有问题,还不行就重新clone设置代码把
你好,我用了retinanet试了fgd,训练正常,下面是前4epoch的结果;
我也整不明白了 你来个完整log我看看
我也整不明白了 你来个完整log我看看
我的训练在服务器,不能下载才来。。。。
那你自己dubug一下吧,试试学生也像老师那样load一个训练好的模型进行初始化,看看能不能正常eval
模型进行初始化
这个我试过,也是0
我看issue其他同学是可以正常跑出来的,你从头整一下代码把,对齐mmdet和mmcv-full版本
我看issue其他同学是可以正常跑出来的,你从头整一下代码把,对齐mmdet和mmcv-full版本
好的,非常感谢
这个我试过,也是0 嗨,你最后改出来了吗,你用的哪个版本的mmdet和mmcv-full啊,用低版本的mmdet的话里面没有yolox算法,高版本的话会报sgd optimizer错误