当前位置:   article > 正文

yolov5 训练模型预测没有框?mAP为零?_yolov5自己的训练集 没有框框

yolov5自己的训练集 没有框框

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

我的问题

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

GitHub 的类似 issue

GitHub 的 issues上有类似问题,如果英文好的话,可以参考一下:
yolov5 does not train or detect
该 hub 友的预测结果图是这样的。
在这里插入图片描述
我们慢慢往下滑,观察他运行终端的提示信息,当翻到 Epoch = 0 的位置时,出现了这个:userwarning 你可以试着在你的终端中找找是否也有这个反馈。 该 issue 中的 Output 的提示是这样的,也就是上面的截图的内容:

UserWarning: Detected call of lr_scheduler.step() before optimizer.step(). In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step() before lr_scheduler.step(). Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
warnings.warn("Detected call of lr_scheduler.step() before optimizer.step(). "

大概意思是: 在PyTorch 1.1.0 版本之后,调用optimizer.step() 要放在 lr_scheduler.step() 的前面,这里出错的话,会导致 PyTorch 跳过第一个 「rate schedule」 的值。
(我猜,这可能导致epoch = 0时的训练被跳过,以至于对后面的叠加造成影响,导致最终的训练结果无效。)
然后,给了个 PyTorch 的一个链接的详细介绍:
https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
我们点进去,找找发现确实有这么个「WARNING」。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/666960
推荐阅读
相关标签