YOLO resume断点续训(不能用官方的权重,是自己训练一半生成的last.pt)

训练 YOLO 模型(v5/v8/v11)常需数百 epoch,耗时数天。断电、SSH 断开、显存溢出、进程误杀等意外极易导致训练中断,从头开始会浪费大量算力与时间。

断点续训(Resume Training)可从最近保存的检查点(checkpoint) 恢复训练,完整还原模型权重、优化器状态、学习率调度与训练进度

训练中断后,在对应的runs中对应训练的结果中包含两个关键文件:

  • last.pt:最新epoch的完整训练快照(用于续训)
  • best.pt :验证集最优权重(仅用于推理,不可直接续训

last.pt 绝非仅模型权重,而是全训练状态快照

  • 模型网络参数(权重 + 偏置)
  • 优化器状态(SGD/Adam 动量、梯度缓存)
  • 学习率调度器状态(当前步数、余弦退火参数)
  • 当前 epoch 计数与剩余轮数
  • 数据加载器随机种子(保证数据增强一致性)

成功续训日志会显示:

from epoch 217:接续中断前轮数,成功

from epoch 0:用了 best.pt 或路径错误,从头训练

必守前提(否则续训失败)

配置完全一致:data.yaml(类别数)、模型 yaml(网络结构)、batch size、device、超参(lr0、momentum)不可修改

last.pt 完整 :文件未损坏、路径正确、由同一代码版本生成

不混用 best.ptbest.pt 不含优化器状态,只能用于推理

在对应的.yaml文件中,只需要将resume修改为True,然后训练导入的预训练权重用训练一半的last.pt

复制代码
from ultralytics import YOLO

# 加载预训练模型
model = YOLO("./runs/detect/exp2/last.pt")  # n/s/m/l/x 任选

# 开始训练
model.train(
    data="your_data.yaml",    # 你的数据集配置 .\ultralytics\cfg\***.yaml
)
相关推荐
王哈哈^_^34 分钟前
YOLO分类任务训练教程:从数据准备到模型部署全流程
人工智能·yolo·计算机视觉·分类·数据挖掘
Kobebryant-Manba36 分钟前
安装cuda
pytorch·python·深度学习·conda·numpy
数智工坊43 分钟前
周志华《Machine Learning》学习笔记--第七章--贝叶斯分类器
人工智能·笔记·神经网络·学习·机器学习
zzzzzz3101 小时前
GitHub 今日爆火!headroom:一个帮你省 60-95% Token 的 AI Agent 上下文压缩神器
git·机器学习·github
Hali_Botebie1 小时前
为什么静态3DGS+轨迹回放,可以通过强化学习训练端到端自动驾驶?
人工智能·机器学习·自动驾驶
动物园猫1 小时前
无人机角度的道路损害检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·无人机
计算机安禾1 小时前
【算法分析与设计】第44篇:随机化复杂度类:RP、BPP与去随机化猜想
java·数据结构·数据库·算法·机器学习
丨白色风车丨1 小时前
机器学习数据预处理:6 种缺失值填充方法完整实现(CCA / 均值 / 中位数 / 众数 / 线性回归 / 随机森林)
机器学习·均值算法·线性回归
手写码匠1 小时前
手写 Prefix Caching:从零构建 LLM 提示词缓存引擎
人工智能·深度学习·算法·aigc