YOLOX icon indicating copy to clipboard operation
YOLOX copied to clipboard

请问为什么我训练出来的Yolox nano 模型parameter和Gflops与论文中的不匹配

Open Eric-dot opened this issue 4 years ago • 11 comments

之前训练yolox_s的时候还好,训练出来的parameter是8.95M,和论文里面的9M正好匹配。可惜觉得速度还是慢了,在cpu下只有7帧的效果,所以想试下最小的nano,可是训练完后发现parameter有2.25M,Gflops2.91。和论文里面的0.91M差距很大,我就把yolox_voc_s里面的width和depth改成了nano的0.33和0.25,然后换了yolox_nano.pth,请问为什么效果不理想

Eric-dot avatar Sep 30 '21 10:09 Eric-dot

应该还有其他参数需要修改,比如self.test_size = (416, 416),可以参考下default中的nano.py中的__init__试试

92109210 avatar Sep 30 '21 10:09 92109210

对的,我就是对着nano.py文件里面的网络结构改的,size也改成了(416,416),然后mixup也设置成了false,感觉基本要改的都改过了,但是parameter却是介于nano和tiny中间,就很奇怪

Eric-dot avatar Sep 30 '21 11:09 Eric-dot

在yolo_nano的训练过程中遇到了这个问题,AttributeError: 'int' object has no attribute 'numel',请问各位是怎么改的yolo_nano呀,不知道为什么改了参数以后报莫名奇妙的错误

gejintaohua avatar Oct 04 '21 13:10 gejintaohua

image 这两句要在yolox/exp/yolox_base.py里修改

1VeniVediVeci1 avatar Oct 06 '21 11:10 1VeniVediVeci1

在yolo_nano的训练过程中遇到了这个问题,AttributeError: 'int' object has no attribute 'numel',请问各位是怎么改的yolo_nano呀,不知道为什么改了参数以后报莫名奇妙的错误

#771

1VeniVediVeci1 avatar Oct 06 '21 11:10 1VeniVediVeci1

image 这两句要在yolox/exp/yolox_base.py里修改

Thank you. 我发现问题的根源不在这个depthwise,我是在yolox_base的基础上改的,但是一旦把mosaic_prob的值按照官方给的参数从1改到0.5,就会开始不断报错,不知道你是否尝试过~

gejintaohua avatar Oct 06 '21 11:10 gejintaohua

image 这两句要在yolox/exp/yolox_base.py里修改

Thank you. 我发现问题的根源不在这个depthwise,我是在yolox_base的基础上改的,但是一旦把mosaic_prob的值按照官方给的参数从1改到0.5,就会开始不断报错,不知道你是否尝试过~

就是会报错的,我也遇到了,那个参数一改就一堆错误

Eric-dot avatar Oct 08 '21 02:10 Eric-dot

image 这两句要在yolox/exp/yolox_base.py里修改

Thank you. 我发现问题的根源不在这个depthwise,我是在yolox_base的基础上改的,但是一旦把mosaic_prob的值按照官方给的参数从1改到0.5,就会开始不断报错,不知道你是否尝试过~

感谢分享!训练其它模型的时候都没问题,就yolox_nano一直报错,以为错误在模型结构设置,反复检查也没错,没想到是mosaic的这个参数造成的。

请问你目前发现mosaic_prob改变导致bug的原因了吗?

gurujin123 avatar Nov 17 '21 12:11 gurujin123

之前训练yolox_s的时候还好,训练出来的parameter是8.95M,和论文里面的9M正好匹配。可惜觉得速度还是慢了,在cpu下只有7帧的效果,所以想试下最小的nano,可是训练完后发现parameter有2.25M,Gflops2.91。和论文里面的0.91M差距很大,我就把yolox_voc_s里面的width和depth改成了nano的0.33和0.25,然后换了yolox_nano.pth,请问为什么效果不理想

请问你解决了吗,我也是用nano训练出来模型大小和官方的差太多

ymw123 avatar May 09 '22 07:05 ymw123

image 这两句要在yolox/exp/yolox_base.py里修改

Thank you. 我发现问题的根源不在这个depthwise,我是在yolox_base的基础上改的,但是一旦把mosaic_prob的值按照官方给的参数从1改到0.5,就会开始不断报错,不知道你是否尝试过~

是的,self.mosaic_prob 修改成 0.5 以后,nano 不能训练。 但是奇怪的是,让 self.max_epoch = 5 就可以运行。 我试过把 max_epoch 设成 100、50、25,都不可以,就 5 能动。 然后把 mosaic_prob 换成 1.0 就都 ok 了。

mjj1997 avatar Jun 04 '22 05:06 mjj1997

也许nano代码自身存在缺陷!

Reaidu avatar Dec 11 '23 05:12 Reaidu