python - yolov5 不训练模型
问题描述
我用yolov5训练了一个数据集。该模型存在,但它不起作用。它并没有准确地预测。
这是我使用的代码:
python train.py --img 640 --batch 8 --epochs 3 --data ../datasets/coco128/coco128.yaml --workers 0 --image-weights '' --name test
代码的输出:
当我们查看测试文件夹进行预测时:
标签
预测
如您所见,预测什么都不是。还有 best.pt 和 last.pt 文件。它们的大小为 14.475 mb。但是 google colab 使用相同的代码。
此外,当我尝试使用默认的 yolov5s.pt 预测图像时,它可以工作,预测是正确的。
矩阵混淆,result.csv 也几乎是空的,带有 nan 文本。
谢谢你的帮助...
解决方案
我在使用 YOLOv5 时遇到了类似的问题,并且能够通过关注--img
(图像大小)和--conf
属性来解决它。
调用训练脚本时,可以定义图像尺寸
python train.py --img 672 1216 ...
但是您可能忘记在推理脚本中使用相同的参数
python detect.py --img 672 ...
另一个问题是当您的数据集太小并且 Recall/Precision/mAP 太低时,您需要在推理期间降低输出的置信度过滤器:
python detect.py ... --conf 0.7
您可能需要将 减小--conf
到 0.1 才能看到任何输出。然后使用它,直到您对输出中的精度/召回率感到满意为止。
推荐阅读
- amazon-dynamodb - How do I query by only part of a composite key in DynamoDB?
- python-3.x - PermissionError: [Errno 13] 尝试读取目录时出现权限被拒绝错误
- python - IronPython:通过 C# 代码进行脚本验证
- php - Laravel 多语言 url 翻译不起作用
- python - (KivyMD) 如何更改 MDLabel 的文本?
- javascript - 如何使用 Select 保持基本下拉菜单打开?
- hadoop - 试图将文件夹从本地移动到包含 %20 的 hdfs。无法复制目录
- rust - 我们如何在 sqlx rust 中定义一个 jsonb 和 UUID 字段?
- python - 启动前的内核访问和停止进程
- c - Realloc() 用于结构