bubbliiiing / yolov4-pytorch

这是一个YoloV4-pytorch的源码,可以用于训练自己的模型。
MIT License
2.1k stars 616 forks source link

小数据集训练没有预测效果怎么回事? #305

Open xing-bing opened 2 years ago

xing-bing commented 2 years ago

我用模型训练的口罩数据集训练完之后检测不出来,而且置信度很低,只有0.00几, 但是同样的数据集我使用你的retinanet模型训练完之后就能检测出来, 不知道是哪里出了问题

bubbliiiing commented 2 years ago

先看2007_train.txt里面有没有目标信息吧

xing-bing commented 2 years ago

有信息的, 这个数据集我在retinanet上面跑过, 在你的retinanet网络中可以正常实现, 检测结果也挺好,但是在yolo4上面训练之后就没有检测出来,置信度很低。

bubbliiiing commented 2 years ago

损失多少?

bubbliiiing commented 2 years ago

train.py和2007_train.txt截图

xing-bing commented 2 years ago

0.15左右

xing-bing commented 2 years ago

image

bubbliiiing commented 2 years ago

数据量?

xing-bing commented 2 years ago

576

xing-bing commented 2 years ago

拆分0.1作为测试集

bubbliiiing commented 2 years ago

改了什么参数?

xing-bing commented 2 years ago

训练损失正常, 一直往下降, 到0.1几左右收敛

xing-bing commented 2 years ago

类文件改了, 冻结50代训练

bubbliiiing commented 2 years ago

没有解冻?

xing-bing commented 2 years ago

后50代解冻

bubbliiiing commented 2 years ago

sgd?

xing-bing commented 2 years ago

嗯嗯

xing-bing commented 2 years ago

conf 预测值都是0.00几, 太低了,

bubbliiiing commented 2 years ago

batch?

xing-bing commented 2 years ago

200

xing-bing commented 2 years ago

0.15大概就收敛了, 基本就不下降了

bubbliiiing commented 2 years ago

= =batch_size……………………

bubbliiiing commented 2 years ago

多少

xing-bing commented 2 years ago

image

xing-bing commented 2 years ago

8, 4

bubbliiiing commented 2 years ago

描述准确一些,你这个不是200代么,为什么是 冻结50代训练、后50代解冻

xing-bing commented 2 years ago

200代是前50代冻结, 后面解冻, 之前跑一百代的时候前50冻结, 后50解冻。

xing-bing commented 2 years ago

我也是搞旋转框的时候一直不行, 然后换成水平框训练一下结果水平框也不行。

bubbliiiing commented 2 years ago

这个训练完看看,因为你的图片数量较少,理论上更新的step很少,100 epoch是比较少的,200-300差不多,如果还是没效果,建议关闭mosaic,换adam优化器试试,yolov4检测口罩没理由检测不到,

bubbliiiing commented 2 years ago

那你自己改了别的代码么?

xing-bing commented 2 years ago

没有, 搞这个的时候重新下载的

bubbliiiing commented 2 years ago

建议训练完看一下,如果依然效果不好,就关闭mosaic试试。因为我看你的目标很小

bubbliiiing commented 2 years ago

mosaic加了更小了,本来yolo就只有416

xing-bing commented 2 years ago

行, 我今晚搞完再试一下

xing-bing commented 2 years ago

你就是我的目标检测导师

bubbliiiing commented 2 years ago

加油

xing-bing commented 2 years ago

向你学习, 大佬

xing-bing commented 2 years ago

老哥, 我今天又用yolo5的源码跑了一下, 可以正常检测出来, 会不会是咱这代码有点问题啊

bubbliiiing commented 2 years ago

u版?

xing-bing commented 2 years ago

嗯嗯

xing-bing commented 2 years ago

image

bubbliiiing commented 2 years ago

数据集可分享?我自己跑一遍

xing-bing commented 2 years ago

可以

xing-bing commented 2 years ago

咋分享

bubbliiiing commented 2 years ago

bubbliiiing@qq.com

xing-bing commented 2 years ago

已发送

bubbliiiing commented 2 years ago

试了一下。 sgd要求更多的更新代数,你的数据集太少,每个epoch的更新step太小,用adam效果好得多。

bubbliiiing commented 2 years ago

image

xing-bing commented 2 years ago

你设置了多少代啊

bubbliiiing commented 2 years ago

100

xing-bing commented 2 years ago

ok, 我再来试试