当前位置: 首页 > news >正文

yolo模型微调训练

一、训练脚本

from ultralytics import YOLO def main(): model = YOLO("yolo26n.pt") model.train( data="E:/vision_code/yolo_wt/data/data.yaml", imgsz=640, epochs=100, batch=15, device=0, workers=0, save_period=10 ) if __name__ == "__main__": main()

二、训练参数含义

参数示例含义建议
modelyolo26n.pt训练基座模型310B 部署优先ns
datadata.yaml数据集配置文件指向 Roboflow 导出的data.yaml
epochs100训练轮数先用50-100
batch4每批训练图片数量4GB 显存建议2-4
imgsz640输入图片尺寸通用用640
device0训练设备GPU 用0,CPU 用cpu
workers0数据加载线程数Windows 建议0
optimizerauto优化器新手用auto
lr00.001初始学习率微调可用0.001,也可默认
patience30早停等待轮数20-50
saveTrue是否保存训练结果默认保存
save_period10每隔多少轮保存一次权重想保留中间模型用10
projectruns/detect训练结果保存目录可自定义
namehelmet_yolo26n本次训练名称方便区分实验
exist_okTrue是否允许覆盖同名目录不想覆盖就用False
pretrainedTrue是否加载预训练权重微调建议True
resumeFalse是否从中断处继续训练中断后可用True
ampTrue自动混合精度训练GPU 训练建议开启
cacheFalse是否缓存图片到内存/磁盘内存够可用disk
seed0随机种子复现实验用
verboseTrue是否输出详细日志默认即可

三、输出参数含义

字段含义怎么看
GPU_mem当前训练占用的 GPU 显存越低越省显存
box_loss

框的位置损失,越低说明预测框越接近真实框

越低越好
cls_loss类别损失,越低说明分类越准越低越好
dfl_loss边框分布损失,辅助定位,越低越好越低越好
Instances当前 batch 中目标框数量表示这一批图片里有几个标注目标
Size输入图片尺寸你设置的是640
71/137当前 epoch 内 batch 进度共 137 个 batch,当前第 71 个
4.1it/s每秒处理多少个 batch越高训练越快
20.1s<16.0s已用时间/预计剩余时间进度条时间信息

四、TensorBoard 查看 YOLO 训练过程

1. 安装 TensorBoard

pip install -U tensorboard

确认能启动:

tensorboard --version

2. 开启 Ultralytics 的 TensorBoard 日志

查看当前设置:

yolo settings

如果看到:

tensorboard: False

执行:

yolo settings tensorboard=True

再次确认:

yolo settings

确保是:

tensorboard: True

3. 开始训练

命令行训练示例:

yolo detect train model=yolo26n.pt data=E:/vision_code/yolo_wt/data/data.yaml imgsz=640 epochs=50 batch=4 device=0 workers=0 project=E:/vision_code/yolo_wt/train_wt/runs name=helmet_yolo26n

Python 脚本训练示例:

from ultralytics import YOLO def main(): model = YOLO("yolo26n.pt") model.train( data="E:/vision_code/yolo_wt/data/data.yaml", imgsz=640, epochs=50, batch=4, device=0, workers=0, project="E:/vision_code/yolo_wt/train_wt/runs", name="helmet_yolo26n", plots=True, ) if __name__ == "__main__": main()

4. 确认是否生成 TensorBoard 日志

训练开始后或训练结束后,执行:

Get-ChildItem -Recurse E:\vision_code\yolo_wt\train_wt\runs -Filter "events.out.tfevents*"

如果能看到类似:

events.out.tfevents.171xxxx

说明 TensorBoard 日志生成成功。

5. 启动 TensorBoard

推荐指向总的runs目录:

tensorboard --logdir E:\vision_code\yolo_wt\train_wt\runs

如果只想看某一次训练:

tensorboard --logdir E:\vision_code\yolo_wt\train_wt\runs\helmet_yolo26n

浏览器打开:

http://localhost:6006

6. 在 TensorBoard 里看什么

主要看Scalars页面:

曲线含义趋势
train/box_loss训练集框回归损失越低越好
train/cls_loss训练集分类损失越低越好
train/dfl_loss框定位细节损失越低越好
val/box_loss验证集框损失越低越好
val/cls_loss验证集分类损失越低越好
metrics/precision准确率,误检少不少越高越好
metrics/recall召回率,漏检少不少越高越好
metrics/mAP50宽松检测精度越高越好
metrics/mAP50-95严格综合检测精度越高越好

五、相关结果图片说明

1.不同置信度阈值下,模型的综合检测效果怎么样。

F1 分数,它综合了:

Precision:预测出来的框有多少是真的,误检少不少
Recall:真实目标有没有都找出来,漏检少不

all classes 0.80 at 0.393:

当置信度阈值大约设为 0.393 时,F1 最高,大约是 0.80

2.Precision-Confidence Curve,意思是:不同置信度阈值下,模型预测结果的“准确率”变化。

横轴:Confidence,置信度阈值。阈值越高,模型越严格,只保留更有把握的框。

纵轴:Precision,精确率,可以理解为:模型预测出来的 helmet 里面,有多少是真的 helmet

all classes 1.00 at 0.987,当置信度阈值设到 0.987 左右时,Precision 可以达到 1.00

3.Precision-Recall Curve,简称PR 曲线,用来看模型在“少误检”和“少漏检”之间的整体表现。

横轴:Recall,召回率,表示真实的安全帽里,模型找出来了多少。
Recall 高 = 漏检少


纵轴:Precision,精确率,表示模型预测出来的安全帽里,有多少是真的安全帽。
Precision 高 = 误检少


all classes 0.838 mAP@0.5,意思是:这个模型在 IoU=0.5 标准下,mAP 是 0.838

IoU 是预测框和真实标注框的重叠比例

mAP=0.838 是整体检测得分

判断模型整体好不好,看的是整条 PR 曲线和 mAP

4.Recall-Confidence Curve,意思是:不同置信度阈值下,模型的召回率怎么变化。

横轴:Confidence,置信度阈值。阈值越高,模型越严格,只保留更有把握的检测框。

纵轴:Recall,召回率,表示真实存在的安全帽里,模型找出来了多少。

Recall 高 = 漏检少,Recall 低 = 漏检多

all classes 0.95 at 0.000,意思是:当 conf 接近 0 时,Recall 最高,大约 0.95,也就是在非常宽松的情况下,模型最多能找出约 95% 的真实安全帽。

5.混淆矩阵 Confusion Matrix,用来看模型“预测对了多少、漏检多少、误检多少”。

横轴 True:真实类别

纵轴 Predicted:模型预测类别

正确检测:191 个

漏检:28 个

误检:72 个

6.归一化混淆矩阵 Confusion Matrix Normalized。上图同一个意思,只是把数量换成了比例。

六、分布式训练

支持单机多卡, 多机单卡

http://www.jsqmd.com/news/1020966/

相关文章:

  • 绍兴豆包推广公司评测:实力与服务维度对比解析 - 奔跑123
  • 2026年口碑好的布袋除尘器/江苏喷砂房除尘器长期合作厂家推荐 - 行业平台推荐
  • D2DX:三步解锁暗黑破坏神2高清宽屏体验,告别卡顿黑边
  • 凯撒旅业实力怎么样?在行业里排第几?从全产业链布局看其市场韧性 - 品牌2026
  • 设计 Token 系统建设:从颜色变量到设计决策的工程化体系
  • 二维二分法:结构化决策工具,从产品优先级到职业规划的应用
  • 【解决方案】Parsec VDD:突破物理限制的虚拟显示器技术实践
  • 17天300万流水:揭秘邀请退款模式
  • RK3566嵌入式视频开发实战:从硬件解码到AI推理全流程解析
  • 梯度下降法数学理解
  • Python abc抽象基类的虚拟子类机制
  • 2026年长沙、成都婚介市场观察:有实力的正规婚介公司如何甄别? - 优质品牌商家
  • 孪生空间精准映射 营区库区物资与仓储空间透明化管控
  • BetterNCM安装器终极指南:5分钟解锁网易云音乐插件系统
  • 通用Agentic RAG智能知识系统
  • 3步实现NVIDIA显卡免费升级:用FSR 3帧生成技术替代DLSS-G的完整指南
  • 魔兽争霸3终极增强指南:WarcraftHelper插件让你的游戏体验焕然一新
  • MuleSoft AI编排:企业级LLM集成的七层可审计架构
  • Python闭包与装饰器的高级陷阱
  • 2026水族用品什么牌子好?马印全品类覆盖进入候选 - 华旭传媒
  • Novel-downloader:可扩展通用型小说下载解决方案的技术架构解析
  • 2026年口碑好的超细粉选粉机/水泥磨选粉机/江苏立式选粉机/大型工业选粉机厂家哪家好 - 行业平台推荐
  • 东莞跨境电商培训机构排名:2026年最新评测 - 东莞选校指南
  • Sqribble:面向知识工作者的文档操作系统与自动化交付方案
  • PPG研究中暑的算法记录
  • 六顶点模型与高斯自由场的数学关联及收敛性分析
  • 无需 iTunes,5 种方法将 iPhone音乐传输至电脑
  • Python装饰器与描述符在ORM中的实现
  • FMRX2BMS 五功能马达驱动IC
  • 2026铝蜂窝隔断品牌怎么选?西南地区五家供应商多维度对比分析 - 优质品牌商家