0
点赞
收藏
分享

微信扫一扫

yolov5 训练模型预测没有框?mAP为零?

2022-04-08
前几天(4月8号左右),下了个 yolov5 ,想做个目标检测。
从安装依赖,下载权重到进行预测都很顺利,到训练自己的数据集,却出了点问题,发现预测结果都没有框。
可能我们的问题不一样,但和我一样的小白可以参考一下。

我的问题

在 runs/train/exp 文件夹下,观察结果,发现图片的确是自己的数据集,并且自己标注的框框也都有,但是 result.png 的曲线却显得不正常。
在这里插入图片描述
如果你的问题,和我的一样,可以继续看下去,可能对你有所帮助,如果我们的问题不一样,可以不必花太多时间在这片博客上,建议去寻找新的解决方案。

GitHub 的类似 issue

GitHub 的 issues上有类似问题,如果英文好的话,可以参考一下:
yolov5 does not train or detect
该 hub 友的预测结果图是这样的。
在这里插入图片描述
我们往下滑,找到 Epoch0 的位置,userwarning
你可以试着在你的终端中找找有没有这个反馈。

该 issue 中的 Output 的提示是这样的,也就是上面的截图的内容:

大概意思是: 在PyTorch 1.1.0 版本之后,调用optimizer.step() 要放在 lr_scheduler.step() 的前面,这里出错的话,会导致 PyTorch 跳过第一个 「rate schedule」 的值。
然后,给了个 PyTorch 的一个链接的详细介绍:
https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
我们点进去,找找发现确实有这么个「WARNING」。👊
在这里插入图片描述

解决方案

既然找到了原因,就想点儿办法解决。

我们先看看 hub 友 的问题是否解决了。
issus 页面往下滑,发现有另一位 hub 友发表了自己的看法,他也发现了可能是因为版本的原因。
在这里插入图片描述
而该问题的提出者,也根据这个问题找到了解决方案。
也就是降低了更改版本。在这里插入图片描述
命令代码如下:

pip3 install torch==1.9.1+cu102 torchvision==0.10.1+cu102 torchaudio===0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

如果没什么意外的话,问题应该解决了。

我当时没想到在 GitHub 上也有类似的问题,因此自己观察终端反馈,网上搜了相关降低版本的命令,额,有的灵,有的不灵,但最后鼓捣半天还是成功了。

总结:
当我们遇到问题,第一件事并非直接百度,这可能会浪费很多时间,并且会遇到很多玄学的解决方法,有时候,这并非好事。
我们或许该多注意结果的数据是否合理,终端中是否有异常信息,再加以推测问题原因,最后寻求搜索引擎和互联网的帮助。


下面是我当时的解决办法,如果上述命令没效果的话,试试玄学吧,😂:

  1. 卸载Pytorch
    conda 的命令:
    conda uninstall pytorch
    conda uninstall libtorch
    
    pip 的命令:
    pip uninstall torch
    
  2. 重新安装 Pytorch :
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch
  1. detect 一下看看有没有问题,再进行 train 。
  2. 可能会遇到的问题:

这是因为 libiomp5md.dll 已经有了,把虚拟环境中的 libiomp5md.dll 剪切到别的地方就OK了。这里我参考的链接:https://www.cnblogs.com/Flat-White/p/14678858.html

到这,我所遇到的所有问题已经解决并分享了,如果你有其他问题,我可能无法提供帮助。

举报

相关推荐

0 条评论