yolov5验证loss比训练loss大很多

img

请问 val/cls_loss为啥比训练的大这么多,是过拟合了嘛?应该如何调整呀?另外图上的这些毛刺是怎么回事儿?数据集有1200张,四类,扩充至了4800张

不是,你这个是class_loss一塌糊涂导致你的pr和map曲线也不行,但是你的obj和box是正常的,也就是说网络有找到目标,只不过目标在分类的时候分错了。首先考虑的应该是你的数据集情况。
1.你的数据量多大(指去掉重复之后的情况)?数据分布不均匀的话这样很正常,也就是你的训练集数据分布无法覆盖到验证集上面去
2.数据集标签有问题,也就是标注错误情况存在也会导致这个问题,而且你的召回率明显低于精确率也证明你的数据标签存在错误的情况,要么检查下标签,要么试试开启下label smooth开关试试看
3.batch size多大?太小的话就增大

过拟合或者图片重复太多

看起来是过拟合了,你的训练集和验证集是怎么分的,一般来说应该是先扩充,再按比例随机一部分出来做验证集,另外你的扩充比例可能也有点大,缩小比例试试看