我一直在尝试用一个标签对YOLOv5模型进行自定义训练,并且对YAML文件.However进行了适当的修改,不管我进行训练的时间长短,mAP(平均精度)值仍然是0。我为这个问题奋斗了很多天。有人能提出解决办法吗?
Epoch gpu_mem box obj cls labels img_size
1/2 0.614G 0.07749 0.03705 0 7 640: 100% 15/15 [00:01<00:00, 10.99it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 3/3 [00:00<00:00, 26.59it/s]
all 12 14 0 0 0 0
Epoch gpu_mem box obj cls labels img_size
2/2 0.614G 0.07758 0.03295 0 5 640: 100% 15/15 [00:01<00:00, 10.98it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 3/3 [00:00<00:00, 28.13it/s]
all 12 14 0 0 0 0
发布于 2022-08-21 19:54:56
我和你有同样的问题。训练似乎是正确的,但验证推理一直没有预测,导致mAP /P/R等= 0。这似乎是一个软件问题。经过许多天的痛苦研究,我找到了一个对我有用的解决方案(警告,我是一个软件专家/学习数据自动化系统,原谅我的任何错误推测,这只是对我有效,并愿意帮助别人):
步骤1.当创建一个虚拟环境来安装他们的yolov5 requirements.txt时,确保在创建您想要的python3.9环境时指定。对一些人来说,这可能是你所需要的。对我来说不是。
第二步:这很棘手,对我来说,CUDA安装的是最新的11.7版本,但cuda工具包报告的版本不同。我想知道这个工具包是否与pytorch/报告错误版本或其他什么东西接口不正确。通过这样的步骤,nvcc -版本匹配您的nvidia-smi版本AKA获得正确的CUDA工具包安装(一些路径修改后安装的linux我需要,所以它将是正确的版本,谷歌邮政安装说明)从这里,如果你尝试运行train.py,你会收到一个投诉,如果你有一个较新的GPU的地雷是RTX 3090,可能是python3.9相关的火把兼容性问题。为了解决这个问题,在已经创建的yolov5虚拟环境中,升级pytorch以更正cuda版本,对于我来说,在我的linux操作系统上,它是conda安装cudatoolkit=11.6 -c -c conda。
步骤3. git拉出yolov5目录。也可以从yolov5获得任何所需的更新。
就像魔术一样,我终于看到了非零的mAP P R验证值。我希望这能帮到你。
https://stackoverflow.com/questions/73425890
复制相似问题