yolo 4 - 进阶技巧 QA

Q:python 3.10 为什么不能指定 yolo12n.pt 为基座进行训练

A:3.10 可以下载的ultralytics的最后一个8.3.0,对应 yolo11,如果想使用最新的 yolo12 至少需要使用 pyhton3.11(截止目前,python3.11可以使用ultralytics 8.3.241)

PS:pyhotn 并不是越新越好,很多第三方的包不一定适配那么快。但是相对的,如果在 pyhton3.11上可以使用yolo12,那么对于 yolo12 而言,其配套设施一定完善。

Q:ultralytics(yolo 核心库)对其他依赖包的版本有什么要求吗

A:你只管 pip install ultralytics (记得让 traeCN 帮你先换源),剩下的交给 python 自己搞定。

Q:我想训练让 yolo 可以识别特定的物品,这个物品在体积、大小上有什么要求吗

A:说一点要求没有那是不可能的,yolo 也有自己不太擅长的事情,或者说所有图像识别都有自己弱项,就是体积小、细长、半透明、图片自带阴影的物体,例如笔。

注意这里是多个 debuff 叠加。

Q:采集图片时有什么具体要求吗

A:有好几项事项需要注意

1.特征明显,突出主体,背景和主体在颜色上要有明显差异;

2.多角度、多方位、多光照的采集样本素材;

3.注意光照、投影可能对主体的干扰;

4.采集几张背景,降低干扰;

5.如果你可以预见最终要处理的场景,可能要做一些适应性调整。

上图中展示了地板被错误的识别成了训练素材中的桔子,桔子也觉得挺意外的

Q:我训练了 100 个 epoch,感觉模型还差点意思,并且看了一下训练日志,发现各个参数还没有落到合理区间,我想试试150 epoch,是从 0 开始,还是可以从之前训练好的模型开始呢?

A:其实理智的思考一下,如果只能从零开始,你是不是要send your regards to the develop team,那他们肯定也考虑到了这件事情。

首先,在你的训练文件,找到是不是指定了训练模型的输出目录,如果没有指定,那一般是在 runs目录下,trainxxx 的目录,找到你刚训好的模型,一般在 weights 目录下有 best.ptlast.pt,一个是当前最佳、一个是最后一个 epoch 跑出来的,你自己决定用哪个。

然后打开 tranCN:

注意:从现有的模型继续训练,调整 learning rate 是一件很重要的事情,这样可以更好的接着训练。

Q:从日志来看,epoch 越多,loss 越低,我一开始就开 300epoch 是不是就行了

A:理想很美好,现实很骨感

以下展示训练了 100、200、300epoch 的三个模型对实物的推理结果:

很遗憾,300epoch 模型没有推理出内容。且 100ephch 的置信度 0.47,200epoch 置信度 0.26且出现了识别错误的情况。

过拟合:练的太多了,产生了"刻板印象",模型认为这个东西就应该这样,其实此时的要求过于苛刻了

欠拟合:"我就训练了 5 个 epoch,啥也没认出来"

PS:有些时候,训练输出可能只能参考一下,最终效果要以实际为准。

Q:我终于调整好了我的第一个模型,效果还挺不错的,能够识别 3 种我自拟的物品。但是因为需要,我要新增加一个物品,我要从 0 开始重新练吗?

A:develop team又一次感觉到了凉风吹过。

1.将新增的图片和标签放到现有数据集(不能只有新图),这个类型的数据量应该跟现有的差不多,注意你新增的标签在标签文件的序号应该都是 3 了(已经存在 0、1、2)

2.修改 data.yaml

原有:

修改后:

lr 建议从0.001 起步,epoch 减半

注意:如果你发现训练后对原有的类别识别的置信度明显下降,建议从 0 开始推倒重来,这里面的参数调整比较复杂,有这点调整参数的时间,还不如重来一次的快。

Q:代码 bug、报错怎么处理,我不擅长 python

A:tranCN 会是你的好帮手,前提是你要把环境配好(往期内容:https://blog.csdn.net/razelan

相关推荐
dundunmm6 小时前
【每天一个知识点】YOLO算法
算法·yolo·目标检测
Blossom.1189 小时前
边缘智能新篇章:YOLOv8在树莓派5上的INT8量化部署全攻略
人工智能·python·深度学习·学习·yolo·react.js·transformer
FL16238631291 天前
轴承表面缺陷检测数据集VOC+YOLO格式2064张8类别
人工智能·yolo·机器学习
汤姆yu1 天前
基于yolov8的深度学习水果识别检测系统
yolo
FL16238631292 天前
[C#][winform]基于yolov8的水表读数检测与识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
开发语言·yolo·c#
AI街潜水的八角2 天前
基于YOLOv12番茄农作物病害检测系统1:番茄农作物病害检测数据集说明(含下载链接)
yolo
懷淰メ2 天前
python3GUI--基于YOLOv8深度学习的车牌识别系统(详细图文介绍)
深度学习·opencv·yolo·pyqt·图像识别·车牌识别·pyqt5
jay神2 天前
基于YOLOv8的行人车辆检测系统
人工智能·深度学习·yolo·计算机视觉·毕业设计