Yolov5 物体检测训练
Posted
技术标签:
【中文标题】Yolov5 物体检测训练【英文标题】:Yolov5 object detection training 【发布时间】:2022-01-08 22:54:35 【问题描述】:关于我的目标检测yolov5 训练过程,我需要您的帮助!
我尝试训练我的物体检测模型 yolov5 来检测小物体(从头开始)。为了标记我的图像,我使用了 roboflow,我应用了一些数据增强和一些 roboflow 作为服务提供的预处理。当我完成预处理步骤并且数据增强 roboflow 提供了不同输出格式的选择时,在我的情况下它是 yolov5 pytorch,并且 roboflow 为我将数据拆分为训练验证和测试。因此,一切都按照我的数据准备进行了设置,最后我得到了带有 data.yaml 的文件夹和带有标签的图像,在 data.yaml 中,我把我看到的训练和验证集的路径在 yolov5 的 GitHub 教程中。 我非常仔细地按照步骤进行操作。
问题是当训练开始时,我在 obj 和 box 列中得到 nan,如下图所示,我不知道原因,有人能与此相关吗或者请给我任何线索以找到解决方案,这是我在计算机视觉领域的第一个项目。
This is what i get when the training process starts
This the last message error when the training finish
I think the problem comes maybe from here but i don't know how to fix it, i used the code of yolov5 team as it's in the tuto
训练继续进行,没有任何问题,但地图和精度在整个过程中保持为 0!!
Ps:这是我关注的tuto链接:https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
【问题讨论】:
这就是我要解决的问题。 - 在 collab 上运行您的代码,因为环境被证明运行良好 - 确认您的标签看起来不错并且设置正确。您可以检查以确保课程看起来正确吗?在其中一张屏幕截图中,您似乎没有标签。 非常感谢@alexheat 的回答!我将按照您的建议在 colab 中测试我的代码,并让您知道它是否工作正常。关于标签,我检查了他们的设置并进行了一些可视化,显示盒子应该是这样并且看起来很好,对于我只有一个类的类,该类的标签是 0,因为 yolov5 从一个标签的 0 开始,如果有第二个标签,则第二个标签为 1。 我不知道这是否与我的问题有关(在我的模型代码实现中的某个地方除以 0 作为示例,因为我自己没有编写代码,所以我采用了 yolov5 的代码,因为它是如此我不知道代码里面的步骤和操作)。 【参考方案1】:这就是我要解决的问题。 - 在 collab 上运行您的代码,因为环境被证明运行良好 - 确认您的标签看起来不错并且设置正确。您可以检查以确保课程看起来正确吗?在其中一张屏幕截图中,您似乎没有标签
【讨论】:
【参考方案2】:在 colab 中运行我的代码成功,结果很好。我认为问题出在我的个人笔记本电脑环境中,可能是我使用的 pytorch 版本“1.10.0+cu113”,或者其他什么!如果您有任何建议可以正确地为 yolov5 设置我的环境,我很乐意向你们学习。非常感谢@alexheat
【讨论】:
欢迎您。如果你喜欢我的回答,请接受我的回答。我自己一直在 Google Colab 上做,因为我自己的笔记本电脑也无法使用它 done (y) 我搜索了一下,发现问题可能来自于 Torch 的版本,因为在我之前提到的笔记本电脑中,我有 1.10.0+cu113 但在教程中yolov5,他们使用的是 1.10.0+cu111,也许你可以试试这个版本,看看它是否有效 :) 我自己还没有尝试过,但如果我这样做了,我会告诉你结果!以上是关于Yolov5 物体检测训练的主要内容,如果未能解决你的问题,请参考以下文章