当前位置: 首页 > 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.rkmt.cn/news/1532816.html

相关文章:

  • 3D数据集剪枝:解决长尾分布与嵌入几何优化
  • Python subprocess管理外部进程的完整实践
  • SpringBoot+Vue BS老年人体检管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 绍兴豆包推广公司评测:实力与服务维度对比解析 - 奔跑123
  • 【解决方案】Parsec VDD:突破物理限制的虚拟显示器技术实践
  • 17天300万流水:揭秘邀请退款模式
  • 2026年长沙、成都婚介市场观察:有实力的正规婚介公司如何甄别? - 优质品牌商家
  • 孪生空间精准映射 营区库区物资与仓储空间透明化管控
  • 通用Agentic RAG智能知识系统
  • 3步实现NVIDIA显卡免费升级:用FSR 3帧生成技术替代DLSS-G的完整指南
  • 魔兽争霸3终极增强指南:WarcraftHelper插件让你的游戏体验焕然一新
  • 东莞跨境电商培训机构排名:2026年最新评测 - 东莞选校指南
  • FMRX2BMS 五功能马达驱动IC
  • 3分钟让外文游戏秒变中文:XUnity.AutoTranslator游戏翻译神器完全指南
  • PPG研究中暑的算法记录
  • 机器学习模型生产化:服务化架构、热更新与可观测性实战
  • Python Tkinter表格组件终极指南:tksheet实战应用解析
  • 3大痛点解决:Windows上直接安装APK文件的革命性方案
  • 解锁暗黑破坏神2存档编辑新维度:d2s-editor技术探索与实践路径
  • 模拟芯片ESD防护版图设计:从核心原理到实战布局布线
  • 2026年一流车企,一致之选:五代桩能效U7背后的车规级验证体系
  • codex和open claude两者只有客户端工具开源,底层大模型权重全部闭源
  • Vue动态组件+异步组件实战:Tab切换、按需加载、KeepAlive缓存,一次搞定
  • 基于RV1126的智能视觉系统开发:从硬件选型到AI模型部署全流程解析
  • 终极指南:如何用LightBulb自动调节屏幕色温保护眼睛健康
  • 2026年水族滤材选购指南:滤材什么牌子值得买及专业选型标准 - 华旭传媒
  • 2026年家用电梯安装公司哪家好?多品牌对比与真实案例深度解析 - 优质品牌商家
  • 2026在线抠图去背景保姆级教程:免费网站推荐+详细操作方法
  • 嵌入式Flash存储管理:fls模块原理、配置与高可靠应用实战
  • FAST-LIO2与Livox Mid-360 SLAM系统:从驱动安装到建图实战全解析