You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自定义数据集训练YOLOv8后保存模型以便后续续训?

YOLOv8 模型保存与续训正确方法

YOLOv8 有自己封装的模型管理逻辑,不用直接调用 torch.save,以下是正确的操作方式:

1. 训练时自动保存

默认情况下,YOLOv8 训练过程中会自动在 runs/detect/train/weights 目录下生成两个权重文件:

  • last.pt:保存最新一轮训练的权重,用于继续训练
  • best.pt:保存验证集性能最优的权重,用于最终推理

你第一次训练1轮后,这个目录里已经生成last.pt,直接用它续训即可。

2. 继续训练的代码示例

from ultralytics import YOLO

# 加载训练到一半的last.pt权重
model = YOLO("runs/detect/train/weights/last.pt")
# 继续训练,epochs设为总轮次(比如之前训了1轮,现在要再训5轮就设为6)
model.train(data="/image_datasets/Website_Screenshots.v1-raw.yolov8/data.yaml", epochs=6)

3. 手动保存与加载

如果需要手动指定路径保存模型,用YOLOv8自带的save()方法:

# 训练后手动保存
model.save("custom_yolov8_model.pt")

# 后续加载时还是用YOLO类
model = YOLO("custom_yolov8_model.pt")
# 继续训练或推理都可以
model.train(...)

为什么之前的方法无效?

YOLOv8的YOLO类是Ultralytics封装的高阶模型,包含了训练配置、数据信息等额外内容,直接用torch.save保存整个模型或state_dict会丢失这些关键配置,导致加载后无法正常训练或推理。

内容的提问来源于stack exchange,提问作者Kalleni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:12:45