YOLOv5训练mAP值上不去

设备1:主机
i5-6600T
翔升GTX 1650
驱动程序版本471.11
Cuda版本11.4
Cudnn版本8.4.0.27

设备2:笔记本yoga 14s
R7-4800U
无独显

训练对象:
类似于路牌上,标准蓝色背景的向左和向右的箭头,统一归类为横向箭头(class name),只有这里一个class。

问题描述和横向对比:

  1. 使用yoga 14s,调用CPU
    1-1. 用现有模型检测,效果OK
    1-2. 用CPU训练新模型
    mAP值随epoch正常提升,起初为0.0001左右,10个epoch后到0.5以上,最终结束于0.75~0.8。模型后续实测效果良好。
  2. 使用主机,调用GPU
    2-1. 用现有模型检测,效果OK
    2-2. 用GPU训练新模型
    mAP值始终在低位徘徊,起初为10^(-8),后续一直在10^(-8)~10^(-5)徘徊。

训练使用相同数据集和train的参数:
--img 640
--batch 4
--epochs 100
--workers 0

目前的尝试解决方案:
显卡驱动更新,从原来的456多,更新到471.11,本希望满足pytorch官网上所述的对应11.3版本cudatoolkit的pytorch,但是studio驱动只找到471.11,因此现在的cuda是11.4的版本。

指标上不去和驱动, 环境没关系, 虽然yolo确实是做检测的, 但不是说你拿过来什么都不改就能在一个新的数据上有很好的表现的

pytorch版本最好要和对应的cuda,cudnn,ta,tv对应上,对应不上及时能运行也无法保证不会出问题,如果你确定你的这个只是GPU推理可以而训练不行的话,那么需要考虑将cudnn版本降下来,可以试试8.2.x的版本看看
至于你说的版本找不到,可以去历史版本看下
cuda版本下载:https://developer.nvidia.com/cuda-toolkit-archive
cudnn版本下载: https://developer.nvidia.com/cudnn