跳到主要内容

训练

模型工作区第三个 Tab。用当前工作区模型的明文 .pt 与项目数据集做微调。点 开始训练 才启动 Python + Ultralytics YOLO;打开页面只读项目资产,不探测 Python。

训练页

训练页:内层「当前训练 / 训练结果」两 Tab,图示训练结果——运行列表、四项指标(mAP50 / mAP50-95、Precision、Recall)、任务指标明细与运行详情;当前训练页是训练参数表单与训练前检查清单。

从 模型工作区 进来。内层两个 Tab:当前训练 / 训练结果。从项目树双击打开时锁定该模型,页内不再提供模型下拉或另选预训练入口。

能训什么​

训练器走 Ultralytics 训练栈。任务类型是下面五类;探针命中的 Ultralytics RT-DETR .pt 也可训,不是另开一类任务:

任务说明
检测 detection轴对齐框
分类 classification图像分类
分割 segmentationYOLO 分割权重,不是 SegFormer
姿态 pose关键点;数据集关键点数须与模型一致
旋转框 obb旋转检测;类别名须与模型一致

下列任务不支持训练,开始按钮直接拒绝,拒绝文案按界面原文:

  • ocr — YOLO训练不支持OCR识别任务
  • ocr-text-detection — 训练不支持 ocr-text-detection,已拒绝(不会按 OCR 或检测训练)
  • instance-segmentation — 训练不支持 instance-segmentation,已拒绝(不会按语义分割训练)
  • 其它非五类 — 训练不支持任务类型 <原值>(仅 detection/classification/segmentation/pose/obb)
  • 加密模型(.darmodel)— 加密模型仅可用于推理,不能训练

可训架构:YOLO26 / YOLO11 / YOLOv8 / YOLOv10 / YOLO12(分类只收 *-cls)和 Ultralytics RT-DETR 的 .pt(结构探针命中才放行)。DINO / SegFormer / SAM2 / torchvision / YOLOv6 / YOLOv7 / lyuwenyu RT-DETR .pth / Paddle / 异常检测都不在这条训练轨上。没有强化学习。OCR 蒸馏走 蒸馏 的 Paddle 环境检查。

提示

加密模型不能当基模型。要二次训练:先在 推理 里「导出为数据集」,再对明文 .pt 加新数据训。

基模型固定为当前工作区模型的本地明文 .pt。未选模型或没有明文权重时,检查清单基模型一项显示阻断原因;没有「导入基模型」横幅,也没有预训练模型下拉。

当前训练​

第一行:训练标题、任务类型、预设下拉、取消、开始训练。第二行:当前会话 ID(未启动显示 (未启动))+ 预设说明(默认文案为「选择预设自动填充训练参数」)。

按钮状态:

  • 开始训练 — 项目、模型明文权重、数据集、配对兼容、数据集健康、参数合法全部通过后才可点;同一模型已有活跃任务时禁用
  • 取消 — 有活跃任务才可点;一次取消当前全部活跃任务

从项目树双击进入时模型锁定,日志写「训练模型已固定」。页面卸载不会停掉后台任务;训练进行中会拦住卸载。切换项目会取消旧项目任务。

预设​

选预设自动写入全部参数(含页面不逐项露出的增强与损失权重)。检测族预设只在检测 / 分割 / 姿态 / 旋转框下出现;其余预设始终可选。

通用与专项预设的真实取值:

预设轮次批学习率输入优化器调度早停衰减预热冻结
快速试跑50160.001640AdamWCosine200.000510
标准训练100160.01640SGDCosine300.000530
高精度300160.01640SGDCosine500.000530
单类别强化 (1 类, 高召回)150160.005640AdamWCosine400.000330
少类别 (2-5 类, 均衡)120160.008640AdamWCosine350.000430
多类别 (10+ 类, 类别均衡)200160.005640AdamWCosine400.000530
类别不均衡 (长尾分布)250160.003640AdamWCosine500.000350
新增类别 (增量学习, 保留旧类)80160.001640AdamWConstant250.000320
新增类别 (冻结骨干, 防遗忘)60160.0005640SGDConstant200.0003110
小目标检测 (高 mosaic + 大 DFL)200160.005640AdamWCosine500.000330
低显存 (8GB GPU, 冻结骨干)10080.005640SGDConstant300.0005310

同一张预设还会写入增强与损失权重(全部预设数据增强=开、AMP=开、启用验证=开):

预设mosaicmixupcopy_pastedegreestranslatescalefliplrhsvboxclsdfl
快速试跑0.50000.10.50.50.015 / 0.7 / 0.47.50.51.5
标准训练1.00000.10.50.50.015 / 0.7 / 0.47.50.51.5
高精度1.00.150.100.10.50.50.015 / 0.7 / 0.47.50.51.5
单类别强化 (1 类, 高召回)1.00.10.2150.20.70.50.02 / 0.8 / 0.5100.32.0
少类别 (2-5 类, 均衡)1.00.10.150.10.50.50.015 / 0.7 / 0.47.51.01.5
多类别 (10+ 类, 类别均衡)1.00.20.150.10.50.50.015 / 0.7 / 0.47.50.41.5
类别不均衡 (长尾分布)1.00.30.4100.20.70.50.02 / 0.8 / 0.57.51.51.5
新增类别 (增量学习, 保留旧类)0.50.10.150.10.50.50.015 / 0.7 / 0.47.50.81.5
新增类别 (冻结骨干, 防遗忘)0.30000.050.30.50.01 / 0.5 / 0.37.50.81.5
小目标检测 (高 mosaic + 大 DFL)1.00.30.500.10.50.50.015 / 0.7 / 0.4151.04.0
低显存 (8GB GPU, 冻结骨干)0.50000.10.50.50.015 / 0.7 / 0.47.50.51.5

hsv 列依次是 hsv_h / hsv_s / hsv_v。box / cls / dfl 是损失权重。检测族预设(单类别强化、少类别、多类别、类别不均衡、新增类别两项、小目标检测)带 box/copy_paste 等检测族专用参数,只对检测 / 分割 / 姿态 / 旋转框开放。小目标检测预设的完整名随任务中文名生成,检测任务下显示为「小目标检测 (高 mosaic + 大 DFL)」。

训练参数​

改完即保存进项目,下次打开同一项目仍是这套参数(保存 10 项:轮次、批、输入、学习率、设备、预训练路径、衰减、预热、验证开关、早停);优化器、学习率调度与增强强度不保存,只随本次运行走。学习率与权重衰减失焦即时校验,越界红框并在参数卡内写原因,不弹窗。

参数范围 / 选项默认映射到 Ultralytics
选择数据集项目内数据集下拉无data;目录时脚本内找 data.yaml 等清单
训练轮次1 到 10000100epochs,始终传入
批大小1 到 102416batch,始终传入
学习率大于 0 且不超过 10.01lr0,始终传入
输入尺寸32 到 4096,步进 32640imgsz,始终传入
优化器auto / SGD / Adam / AdamW / NAdam / RMSPropSGDoptimizer;仅非 auto 时传入
学习率调度Cosine / Linear / Constant / ReduceOnPlateauCosine只有 Cosine 映射为 cos_lr=True,其余三项不写 cos_lr,走 Ultralytics 默认非余弦
数据增强开 / 关开开=声明 flip、flipud、rotate、hsv、translate、scale、mosaic、mixup、copy_paste;关=对应强度清零
早停耐心值0 到 5000patience;0 表示关闭早停,不传该键
权重衰减不小于 00.0005weight_decay;等于 0.0005 时不传,用 Ultralytics 默认
预热轮次0 到 1003warmup_epochs;等于 3 时不传
启用验证勾 / 不勾勾勾=只传 val=True;不勾=不跑验证。勾选时存 0.2、不勾存 0,这个数不是 fraction,也不切分数据
训练设备auto / cpu / cuda / cuda:0 / cuda:1 / 0 / 1 / 2 / 3autodevice;auto 有 CUDA 用 GPU,否则 CPU
备注

学习率调度界面有四项,脚本目前只区分 Cosine 与非 Cosine。Linear / Constant / ReduceOnPlateau 不会各自实现一套调度器。启用验证不是切分比例,train/val 划分以 data.yaml 为准。

预训练权重固定跟随当前工作区所选模型的明文权重路径,表单里不出现另选入口。产物目录是项目 outputs/training/,每次运行一个子目录。

训练前检查清单​

右侧固定宽 340,内容多时表内滚动。符号语义:

  • ✓ 通过
  • ✗ 阻断
  • ⚠ 警告,不一定挡开始
  • ○ 尚未选择或尚未检查
项通过条件
基模型当前模型有本地明文权重文件。加密模型显示「加密模型仅可用于推理,不能训练;可先用其推理导出数据,再对数据二次训练」;未选模型显示「未选择模型」
数据集已选数据集且路径存在。未选显示「未选择数据集」;路径不存在显示「路径不存在,请检查数据集配置」
数据集格式检出 images/ 与 labels/(或 train/、val/ 下同名目录)。缺一边或都缺给 ⚠ 警告
数据集健康目录型数据集走轻量校验:目录存在、图片数大于 0、不损坏。yaml 清单入口标「yaml 清单, 由配对校验检查」
Python 环境点开始后才探测。未探测显示「开始训练时将自动检查」;探测后可用显示「可用」,否则「不可用,查看日志了解详情」
GPU点开始后随环境报告刷新。未检查显示「尚未检查」;无 CUDA 给 ⚠ 并提示将用 CPU;有卡显示型号与剩余显存
磁盘空间项目所在盘剩余空间。大于等于 5 GB 通过;不足 5 GB 阻断
兼容性模型与数据集任务类型一致,家族与标注格式兼容,pose 关键点数一致。不一致时写具体硬阻断原因
备注

清单全绿但没点开始,不等于已经训过。空载默认 100 轮 / 批 16 只是表单初值,不是训练结果。

模型与数据集不兼容时,参数区下方出现横幅,文案由配对检查给出具体原因,例如「数据集任务类型与模型不兼容」或家族、关键点、标注格式的硬阻断描述。类别数不一致只给警告,不挡开始。

正在训练与日志​

有活跃任务时出现「正在训练」表:模型、状态、Epoch、Loss、指标。指标列按品类显示 accuracy_top1 或 mAP50-95。底部聚合进度条取全部活跃任务进度均值;尚无有效百分比时走不确定流光动画。

任务状态可见值包括:等待中、检查训练环境、训练中、训练完成、已取消、训练失败、环境检查失败、取消失败,以及训练器回传的进度文案。

  • 取消按钮一次取消全部活跃任务,逐条写日志「已取消任务」
  • 同一模型同时只允许一个活跃任务
  • 训练日志只读,Consolas 字体,自动滚到底;超过约 20 万字符后丢弃最旧一半
  • 页面加载完成会写「训练配置已加载;点击“开始训练”时检查 Python 训练环境」

环境或资产未就绪时状态为「训练环境或项目资产未就绪」,不开始训练,不编造 loss、mAP 或 best.pt。

点开始后先做检查与环境探测,再启动训练。日志会依次出现开始、环境检查、参数摘要;预设应用写「[预设] 已应用」。

训练结果​

左侧运行列表三列:运行、状态、开始时间。空列表显示「暂无训练历史」。右上角 刷新。状态显示:运行中、已完成、失败、已取消。选中一次运行后右侧四个子 Tab:

子 Tab内容
概览状态、任务类型、主指标、Loss 指标卡;分类另给 Top-1 / Top-5;检测族另给 Precision / Recall / mAP50 / mAP50-95,并带 Box / Mask / Pose / OBB 族标;再下面是持续时间、最佳轮次、任务指标明细表、运行详情(运行名、源模型、数据集、开始/完成时间、运行目录与打开按钮)
日志该次完整训练日志;未通过完整性校验时不显示正文
结果图片验证可视化缩略图,每张显示文件名、角色、相对路径
产物角色、路径、大小、SHA-256、完整性、打开

产物角色来自运行目录标准集合:training-log、args、results、best-weights、last-weights、onnx、labels、plot、evaluation-status、evaluation-report。完整性列可能是:项目记录、已登记、清单未登记、未登记、清单缺失、清单无效、校验不匹配、缺失。清单无效或校验不匹配时禁止打开产物。

训练完成后会尝试自动评估,状态追加「训练完成 自动评估: …」。自动评估覆盖 detection / classification / segmentation / pose / obb(评估前把 weights/best.pt 转成 weights/best.onnx,已有则直接用)以及 ocr(不走这条 ONNX)。其它任务才写「暂无可用的自动评估器」,不伪造指标。训练脚本本身不导出 ONNX,也不导出 .darmodel。engine、OpenVINO、.darmodel 走 导出 页。评估失败不推翻已成功的训练结果。

开始条件​

任一失败即拒,顺序如下:

  1. 训练源不是加密模型(所选模型或预训练路径命中 .darmodel 时,原文为「加密模型仅可用于推理,不能训练」)
  2. 已打开有效文件夹项目
  3. 已选模型,且本地明文权重存在
  4. 已选数据集,且路径有效
  5. 数据集健康检查通过(目录型:不损坏且图片数大于 0)
  6. 模型与数据集配对兼容(任务类型、家族、标注格式、pose 关键点)
  7. 任务属于契约五类,且不是 ocr / ocr-text-detection / instance-segmentation
  8. 当前没有正在收尾的训练,且同一模型没有其它活跃任务
  9. 参数通过校验(轮次、批、输入大于 0;学习率在 (0, 1];衰减非负;预热、早停非负;设备取值合法)
  10. 点开始后 Python 与 ultralytics 探测通过,且检查时选中的模型与数据集没变
备注

打开页面不探测 Python。只有点开始训练才会检查训练环境。环境检查失败时任务状态为「环境检查失败」,日志写「训练环境或项目资产未就绪」。

诚实边界​

备注

训练器是 Ultralytics 单轨。探针命中的 Ultralytics RT-DETR .pt 可以在本页训练;DINO / SegFormer / SAM2 以及非 Ultralytics 的 RT-DETR 权重不能。SDK 只做推理(阻塞调用)。

备注

加密模型只可推理,不可训练、不可蒸馏。二次训练路径是:推理导出数据集 + 明文 .pt。激活码对应这一份加密包的离线推理;官方不解回明文。

备注

空载界面绿灯、检查清单空心圆、默认 100 / 16,都不是「已经真训过」。训练结果以「训练结果」Tab 里的运行记录、日志与产物为准。

提示

相关页面:蒸馏 · 评估 · 导出