YuHengsss / YOLOV

This repo is an implementation of PyTorch version YOLOV Series
Apache License 2.0
278 stars 39 forks source link

损失函数和预训练模型的选择问题 #48

Closed xiaowk5516 closed 1 year ago

xiaowk5516 commented 1 year ago

你好,我注意到 loss 设置为3reg_loss+2ref_loss+obj_loss+cls_loss,而YoloX的loss是5*reg_loss+obj_loss+cls_loss。这个参数3和2是经过实验得来的么?(我并没有看到论文中有提到)

另外YoloX在ImageNet Det数据上训练时使用到了COCO的预训练权重么?

YuHengsss commented 1 year ago

hello,与 reg_loss 相关的 weights 其实并没有更新,其实去掉也无所谓(论文里有提到只更新了部分参数)。第二点是的,不加coco pretrain 的点会低一些

xiaowk5516 commented 1 year ago

hello,与 reg_loss 相关的 weights 其实并没有更新,其实去掉也无所谓(论文里有提到只更新了部分参数)。第二点是的,不加coco pretrain 的点会低一些

谢谢解答,我记得有提到yolov只更新yolox的head部分的参数,这样的话reg_loss还是会更新解耦头中的回归分支的参数吧(我再去看看代码),另外就是yolov最后预测结果中的box其实只用了yolox输出的box是么?

YuHengsss commented 1 year ago

hello,与 reg_loss 相关的 weights 其实并没有更新,其实去掉也无所谓(论文里有提到只更新了部分参数)。第二点是的,不加coco pretrain 的点会低一些

谢谢解答,我记得有提到yolov只更新yolox的head部分的参数,这样的话reg_loss还是会更新解耦头中的回归分支的参数吧(我再去看看代码),另外就是yolov最后预测结果中的box其实只用了yolox输出的box是么?

是的,yolox 的prediction筛选掉了大部分低置信度的特征,将后面的特征放到了聚合模块交换时序信息。其实也可以尝试把所有的权重都开放,但是受限于时间,显存以及多卡训练的问题,没有进行尝试,锁权重的代码链接在这里: https://github.com/YuHengsss/YOLOV/blob/47237acf12ddd6a6173a079b789a0cb38ffb0da7/exps/yolov/yolov_s.py#L56

xiaowk5516 commented 1 year ago

hello,与 reg_loss 相关的 weights 其实并没有更新,其实去掉也无所谓(论文里有提到只更新了部分参数)。第二点是的,不加coco pretrain 的点会低一些

谢谢解答,我记得有提到yolov只更新yolox的head部分的参数,这样的话reg_loss还是会更新解耦头中的回归分支的参数吧(我再去看看代码),另外就是yolov最后预测结果中的box其实只用了yolox输出的box是么?

是的,yolox 的prediction筛选掉了大部分低置信度的特征,将后面的特征放到了聚合模块交换时序信息。其实也可以尝试把所有的权重都开放,但是受限于时间,显存以及多卡训练的问题,没有进行尝试,锁权重的代码链接在这里:

https://github.com/YuHengsss/YOLOV/blob/47237acf12ddd6a6173a079b789a0cb38ffb0da7/exps/yolov/yolov_s.py#L56

谢谢解答,我搞清楚这部分的内容了。我也试过多卡训练,一直出问题,yolov是很好的工作。

YuHengsss commented 1 year ago

谢谢,也祝您生活愉快~