赞
踩
2022-04-08
前几天(4月8号左右),下了个 yolov5 ,想做个目标检测。
从安装依赖,下载权重到进行预测都很顺利,到训练自己的数据集,却出了点问题,发现预测结果都没有框。
可能我们的问题不一样,但和我一样是小白可以参考一下。
在 runs/train/exp 文件夹下,观察结果,发现图片的确是自己的数据集,并且自己标注的框框也都有,但是 result.png 的曲线却显得不正常。
如果你的问题,和我的一样,可以继续看下去,可能对你有所帮助,如果我们的问题不一样,可以不必花太多时间在这片博客上,建议去寻找新的解决方案。
GitHub 的 issues上有类似问题,如果英文好的话,可以参考一下:
yolov5 does not train or detect
该 hub 友的预测结果图是这样的。
我们慢慢往下滑,观察他运行终端的提示信息,当翻到 Epoch = 0 的位置时,出现了这个: 你可以试着在你的终端中找找是否也有这个反馈。 该 issue 中的 Output 的提示是这样的,也就是上面的截图的内容:
UserWarning: Detected call of
lr_scheduler.step()
beforeoptimizer.step()
. In PyTorch 1.1.0 and later, you should call them in the opposite order:optimizer.step()
beforelr_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 oflr_scheduler.step()
beforeoptimizer.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」。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。