yolo训练参数

YOLO训练参数详解
部署运行你感兴趣的模型镜像

参数含义

名词是什么怎么看怎么调
epoch把整个训练集完整扫一遍的次数。100 epoch = 把 10 000 张图顺序 feed 100 轮。数据少(<5 k)先 100;数据大(>50 k)50~80 就够;loss 早平就 EarlyStopping。
batch / batch_size一次前向-反向喂给 GPU 的样本数。batch=32 表示 32 张图同时算梯度再更新权重。显存 8 G 可 32@640;爆显存就减半;batch 越大梯度越稳但占显存。
lr0初始学习率,控制权重每次迈的步长。默认 0.01;太大 loss 震荡,太小收敛慢。微调时降 5~10 倍(0.001);warmup_epochs 里会从 0 线性升到 lr0。
mAP@0.5把 IoU 阈值固定在 0.5 时的平均精度(mean Average Precision)。单类检测>0.9 就能用;0.85~0.9 继续加数据;<0.85 先看标注质量。升 mAP:加数据→调大模型→更长时间训练→mosaic/颜色增强。
mAP@0.5:0.95IoU 从 0.5 到 0.95 每隔 0.05 取一次 AP 再平均,更严格。COCO 官方指标;车牌单类场景与 @0.5 相差 2~3 个点即可。同上,但对定位精度更敏感,适合评估“框是否贴边”。
Recall所有真车牌里,被模型找出来的比例。Recall=0.94 表示 100 块牌里漏 6 块。漏检多就降 conf-thres(0.25→0.15)、加样本、增小目标增强。
Precision模型检出的“车牌”里,真的是车牌的比例。Precision=0.89 表示每 100 个框里 11 个是误报。误检多就升 conf-thres、加负样本、训练时关闭 mosaic 过早易过拟合。
IoU预测框与真框的交并比,0~1。0.5 以上才算 TP(真阳性);0.7 以上定位算优秀。评估指标,不用手动调。
backbone负责“看”并提取通用特征的网络前段。YOLO11 的 CSPDarknet-P5;ImageNet 预训练权重。通常不动;极小数据可用 freeze=10 先冻 10 epoch 再解冻。
neck把 backbone 多尺度特征融合的“脖子”,YOLO11 是 PAN+FPN。用户层无需改;换模型大小(n/s/m/l/x)即自动缩放通道数。——
head最后三尺度检测头,输出 3×(5+nc) 个通道。单类车牌就是 3×6=18 通道;负责给框+置信度+类别。——
anchor提前聚类出的高宽比模板。YOLO11 默认自动聚类 3 组共 9 框;香港车牌 1:3 居多。若宽高分布特殊,加 anchor=4 让代码重跑 k-means;或手动写进 *.yaml
close_mosaic训练后期关掉 mosaic 增强的 epoch 数。mosaic 把四张图拼成一张,小目标会被缩小;车牌小,设 10 表示最后 10 epoch 关掉,让网络看到“正常尺度”。小目标多就 10~15;大目标可 0(全程开)。
warmup_epochs前几 epoch 学习率从 0 线性升到 lr0,防止早期震荡。默认 3;大数据集可 5;极小数据可 1。一般不动。
momentum梯度滑动平均系数,默认 0.937。越大越稳但收敛慢;通常不动。——
weight_decayL2 正则系数,默认 0.0005。防止过拟合;数据量很大可降到 0.0001。——
conf-thres推理时置信度阈值,低于则丢弃。默认 0.25;想减少误检就 0.4~0.5;想多召回就 0.15。只影响推理,不影响训练。
iou-thresNMS 时 IoU 超过此值就合并框。默认 0.7;密集车牌可 0.5;稀疏场景 0.8。同上,推理参数。

30 秒速记口诀

  • epoch 看数据量,batch 看显存;
  • lr0 降五倍,mosaic 早关;
  • mAP 上 90 就能用,Recall 漏检加样本;
  • backbone 先冻后解,anchor 不对重聚类;
  • conf/iou 只关推理,训练阶段别乱动。

训练过程中屏幕显示的

列名现场含义好坏参考异常时怎么办
Epoch当前第几轮(迭代完整个数据集一次算 1 epoch)。涨到设定值就停。想提前停看后面 mAP 是否已平稳。
GPU_mem显存占用(GB)。RTX3060-12G 跑 640×batch=32 约 6-8G;>90% 就易爆。batchimgsz
box_loss预测框与真框的坐标/长宽误差(CIoU Loss)。从 0.06 降到 0.02 以下算收敛;若反弹→震荡。loss 回升把 lr0 调小;长期不降加数据/增强。
cls_loss类别置信度交叉熵(单类车牌恒=0 也显示)。单类场景这条值极低(<0.01),可忽略。多类时>0.03 说明类别混淆,检查标注。
dfl_lossDistribution Focal Loss,YOLOv8+ 把“框的上下左右”当分布回归产生的额外 loss。同步下降即可;绝对值比 box_loss 小一个量级。同 box_loss 处理。
Instances本 batch 里参与损失计算的“目标”总数(含复制-粘贴、mosaic 后的)。随 batch 大小波动即可;=0 说明 batch 里一张图都没框→会报 Nan。长期=0 检查标注路径/空 txt。
Size当前训练分辨率(imgsz)。默认 640;多尺度训练时 480-640-800 轮流跳。若固定 640 仍跳动,说明开启多尺度,正常。

7% ╸─────────── 21/295 0.0it/s 30:57<6:21:20

片段含义现场举例
7%当前 epoch 已完成的 百分比7% = 刚跑完 7 % 的 batch。
╸───────────图形化进度条(已走 7 % 长度)。纯视觉,无单位。
21/295已跑 batch 数 / 总 batch 数295 个 batch 里才跑 21 个。
0.0it/s瞬时速度(iterations per second)。0.0 是 UI 刷新延迟,正常会跳到 2~5 it/s。
30:57<6:21:20已用时间 < 预计剩余时间已跑 30 分 57 秒,全部跑完还要 6 小时 21 分

每epoch结束

会有一次
Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 37/37 2.2it/s 17.1s

一行是 当前 epoch 的“验证阶段”进度条,跑完就标志着这个 epoch 正式结束。如下:

片段含义现场值举例
Class类别名(你只有 1 类就显示 licenseall)。单类只出现 1 行。
Images验证集一共多少张图。37 = 你的 val 文件夹共 37 张。
Instances这 37 张图里总共多少目标(车牌)。若每张 2 块牌 → ≈74。
Box(P R mAP50 mAP50-95)4 个指标:精确率、召回率、IoU=0.5 平均精度、IoU=0.5:0.95 平均精度。等进度条走完会给出 4 个数字,如 0.923 0.897 0.919 0.712
37/37已跑完 37 个 batch / 共 37 个 batch。即验证集迭代完毕。
2.2it/s验证速度:每秒处理 2.2 个 batch。越大越好,GPU 空闲时通常 5~10 it/s。
17.1s验证阶段总用时。单 epoch 的验证一般 10~30 s。

在这里插入图片描述
上图意味着:

  • 37 张验证图、74 块车牌;
  • 精确率 92.3 %,召回率 89.7 %,mAP@0.5 = 91.9 %(单类看这条就行),mAP@0.5:0.95 = 71.2 %(更严格)。
  • 验证条走完立刻进入下一 epoch 的训练。
    一句话:它是“小考交卷”进度条,数字就是本 epoch 的 mAP 成绩。

中止训练

  • 随时 Ctrl+C 都能拿到“能用”的权重,但要不要停、什么时候停,看两个数即可:
  1. 中间停止 = 立刻生成可用权重
  • Ultralytics YOLO 默认 每个 epoch 结束都保存一次:
    • runs/train/xxx/weights/last.pt ← 最新完整 epoch
    • runs/train/xxx/weights/best.pt ← 历史验证 mAP 最高的一次
  • 你按下 Ctrl+C 后,程序会再写一次 last.pt(当前 epoch 刚跑完的状态),直接加载就能继续或推理:
model = YOLO('runs/train/xxx/weights/last.pt')
model.predict('test.jpg')   # 立刻用

复制
model = YOLO(‘runs/train/xxx/weights/last.pt’)
model.predict(‘test.jpg’) # 立刻用
2. 什么时候停最划算?——盯两行数字即可

指标建议阈值说明
box_loss 不再下降连续 5-10 epoch 波动 <0.001模型已“学不动”,再跑只是过拟合。
mAP@0.5 平稳连续 5-10 epoch 变化 <0.002验证集不再提升,可早停。

在 runs/train/xxx/results.csv 里拉一下折线图,两线都平即可停;
或者肉眼盯终端 mAP 数字:

Epoch 050: mAP@0.5=0.903
Epoch 051: mAP@0.5=0.904
...
Epoch 059: mAP@0.5=0.903   ← 连续 10  epoch 不上 0.905

→ Ctrl+C 停,用 best.pt 即可。
3. 想让代码自动停:早停参数

yolo train ... patience=20  # 验证 mAP 20 epoch 无提升就自动停

默认 patience=100(即一直跑完你设的 epochs),调成 20 可省 30-50 % 时间。
4. 停后继续跑(可选)

yolo train resume data=hkplate.yaml model=runs/train/xxx/weights/last.pt

会从断点 epoch 接着跑,不需要从头再来。

一句话口诀

“loss 不降、mAP 不平不罢休,一平就 Ctrl+C,best.pt 直接投。”

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### YOLO 训练参数保存路径与配置文件 YOLO训练参数通常通过配置文件来管理,这些参数决定了模型的行为以及训练过程中的各项设置。以下是关于 YOLO 模型训练参数保存位置及其配置的相关信息: #### 1. **训练参数的保存位置** 在 YOLO 中,默认情况下,训练运行的结果会被保存到 `project` 参数所指定的根目录下[^1]。具体来说: - 如果未显式设置 `project` 和 `name` 参数,则默认会将实验结果存储在名为 `runs/train/exp` 或类似的递增命名子目录中。 - 可以通过修改 `project` 来更改保存的基础路径,例如将其设为 `/custom/path/to/saves/`。 ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') model.train(project='/path/to/custom/project', name='my_experiment', exist_ok=True) ``` 上述代码片段展示了如何自定义项目路径并启用覆盖功能。 --- #### 2. **配置文件的作用** YOLO 使用 YAML 文件作为主要的配置方式,用于定义训练参数、数据集结构以及其他重要选项。典型的配置文件可能包括以下几个部分[^3]: - 数据集配置 (`data.yaml`):描述类别数量、图像路径和其他元数据。 - 超参数配置 (`hyp.yaml`):包含批量大小、学习率等关键超参数。 以下是一个简单的 `data.yaml` 示例: ```yaml train: /path/to/train/images/ val: /path/to/validation/images/ nc: 2 # 类别数 names: ['class1', 'class2'] # 类别名称列表 ``` 对于超参数配置文件(如 `hyp.scratch.yaml`),可以调整如下内容: ```yaml lr0: 0.01 # 初始学习率 momentum: 0.937 # 动量 weight_decay: 0.0005 # 权重衰减 ``` --- #### 3. **下载模型文件的自定义路径** 当需要指定预训练模型或其他资源的下载路径时,可以通过环境变量或命令行参数实现这一点[^2]。例如,在 Python 环境中,可设置 `TORCH_HOME` 或 `XDG_CACHE_HOME` 来改变缓存的位置: ```bash export TORCH_HOME=/desired/cache/directory ``` 或者直接在加载模型时传递特定路径给 API 函数: ```python model = YOLO('/specific/path/to/model/yolov8n.pt') ``` 这使得用户能够灵活地控制模型及相关资源的存储位置。 --- #### 总结 综上所述,YOLO训练参数可通过多种方式进行管理和定制。无论是通过脚本内的动态设定还是借助外部配置文件,都可以满足不同场景的需求。合理利用这些工具可以帮助提升开发效率和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值