Yolov8网络提供了一个全新的 SOTA 模型,最近很多小伙伴在研究这个网络,在进行网络修改以及运行时可能会出现一些问题,不知道下面我遇到的这个坑你是否也踩过。
在用新版本的yolov8做模型训练时,如果仅仅是运行源代码,而不做对网络的结构的修改,直接用yolov8 网络进行训练,估计不会遇到这问题,但是如果修改了网络主干等结构,在训练时会出现,Box的精度P、召回率R、mAP等值均为0的问题。如下图所示:
解决方案:
找到ultralytics-main\ultralytics\yolo\engine\trainer.py,Ctrl+F搜索self.amp,这里出了问题,我们只需将自动混合精度训练参数--amp设置为False即可。然而这个参数的具体设置在ultralytics-main\ultralytics\yolo\cfg\ default.yaml文件中,找到amp参数,将其设置为False,再进行模型训练时就不会出现P、R、map均为0了。
当然,针对具体不同情况,可能并不都适用。希望我的建议对大家有用,有不同见解欢迎大家讨论,谢谢!