1. 前言
我们在使用yolov8进行训练的时候往往会因为各种各样的原因中断训练,如:
- 开了太多程序导致崩溃
- 突然断电
- 其他原因
这时候如果下次能继续上次训练的结果继续训练会节省很多时间
2.复现与解决办法
2.1 正常启动训练
yolov8环境搭建与简单配置请参照:https://blog.csdn.net/shgg2917/article/details/138296245
我们先正常启动一个训练
from ultralytics import YOLO# 普通训练启动方式
model = YOLO("yolov8n.pt")
model.train(data="yolo-test.yaml",workers=0,batch=16,epochs=50)
这个路径的\runs\detect\train5就是当前训练的模型文件的存储位置
2.2 中断训练并进行断点续训配置
- 可以看到当前模型训练到第7遍我结束了训练
- 找到前文中提到的模型存储位置的last.pt文件,这是最后一次训练完成后的模型,复制其绝对路径
- 修改启动训练的代码
from ultralytics import YOLO#断点续训启动方式,这个绝对路径就是上文中提到的last.pt文件路径
model = YOLO("G://yolov8//ultralytics-main//runs//detect//train5//weights//last.pt")
# 中断训练的权重文件中的last.pt
results = model.train(resume=True)
2.3 断点续训启动
可以看到启动训练之后直接是第7轮训练,前文中是在第7轮训练时中断的
至此断点续训完成