如何判断代码是否收敛
yolov8官方文档早停机制,只关注每一轮训练中,精度是否提高,不看loss值
判断是否收敛
看精度指标
比如配损设置为50,如果50轮精度指标都没有上涨的话,就会停止训练,与loss值不相关。
partition record mAP0.5 mAP0.5:0.95
需要看这四张图是否还有上涨趋势,没有上涨趋势就收敛
0.5收敛的,0.5:0.95不一定收敛
由上图可以看出0.5基本是平的,但是0.5:0.95还有上涨趋势,还没有收敛,需要继续增加学习次数
过拟合怎么办
一般会写代码把模型精度最高的保存下来当最后的模型
分类很容易过拟合
目标检测不容易过拟合
目标检测中过拟合的话,可以选择best epoch点上的模型去继续做工作,这样不会因为精度下降而有影响。
因为是取的训练过程中精度最高的模型
曲线上的过拟合
一般不推荐采用last time模型,因为有的模型是训练到后面越训练精度越低。此时基准模型的最高点是要比改进模型的最高点要高。用last pt点可能有“学术不端”风险
模型上过拟合
可能在实验中yolov8s要比yolov8m的精度要高,即模型上过拟合
用大模型跑数据集可能精度更低,剪枝以后可能精度会提升