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.pt:best.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
)
相关推荐
Rocky Ding*31 分钟前
VideoChat3 深度解析:视频理解的效率,来自时空压缩与主动感知的共同设计
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·视频理解
禹凕32 分钟前
深度学习之激活函数(Deep Learning about Activation function)
人工智能·深度学习
loulanyue_36 分钟前
脑机接口:意动·芯动·行动——读同济医院副院长廖家智2026云栖演讲
人工智能·深度学习·云栖大会
Omics Pro39 分钟前
全新可重分析!代谢组质谱专用
数据库·人工智能·算法·机器学习·自然语言处理
忆~遂愿1 小时前
免密连接+快捷键+虚拟鼠标:ToDesk远程操作AI效率拉满
人工智能·python·深度学习·神经网络·自然语言处理·计算机外设·安全架构
ITOM运维行者1 小时前
网络丢包监控怎么做?从六大成因到接口级定位的排查路径
数据库·人工智能·机器学习
敲代码的乔帮主1 小时前
MokioMind 各训练阶段数据样本对比
人工智能·深度学习·机器学习
憨波个1 小时前
【说话人日志】DiariZen
人工智能·深度学习·算法·语音识别
音视频牛哥2 小时前
人形机器人的未来发展趋势是什么?从VLA、实时视觉到规模化运营
机器学习·机器人·音视频开发
databook2 小时前
Scikit-Learn实战:5步搞定PCA降维
python·机器学习·scikit-learn