使用yolov5进行自定义对象检测



我一直在尝试用一个标签自定义训练YOLOv5模型,并在YAML文件中进行了适当的更改。然而,无论我训练了多少个时期,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

我和你有同样的问题。训练似乎是正确的,但验证推理一直没有预测任何结果,导致mAP/P/R等=0。这似乎肯定是一个软件问题。经过许多痛苦的研究,我确实找到了一个对我有效的解决方案(警告,我是一个软件专家/学习CUDA,请原谅我的任何错误猜测,这对我很有效,我想帮助其他人(:

步骤1。在创建虚拟环境以安装其yolov5 requirements.txt时,请确保在创建想要python 3.9的环境时指定。对一些人来说,这可能就是你所需要的。对我来说,事实并非如此。

步骤2。这变得很棘手,对我来说,CUDA安装的是最新的11.7版本,但CUDA工具包报告的是不同的10.2版本。我想知道工具包是否与pytorch接口错误/报告了错误的版本或其他什么。经过一些步骤,使nvcc-版本与您的nvidia-smi版本AKA匹配,以获得正确的CUDA工具包安装(我需要在安装后对linux进行一些PATH修改,以便它是正确的版本,可以在谷歌上搜索安装后的说明(从这里开始,如果您尝试运行train.py,如果您有一个更新的GPU,您将收到关于pytorch兼容性问题的投诉。我的GPU是RTX 3090,可能与python 3.9相关。为了解决这个问题,在创建的yolov5虚拟环境中,将pytorch升级到正确的cuda版本,对我来说,在我的linux操作系统上,它是conda install pytorch torchvision torcoudatoolkit=11.6-c pytorch-c conda forge。

步骤3。用于yolov5目录的git pull。AKA从yolov5获得任何需要的更新。

就像魔术一样,我终于看到了非零的mAP p R验证值。我希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新