yoloV8模型训练中断如何续传

问题描述:
使用命令行在服务器训练yolov8模型的时候,有时候会遇到time out或者Input/Output error的问题造成还没训练完的模型中断训练,导致需要重头训练模型。

(使用命令行训练模型的解决方法,python请看最后的链接)

解决方法:
在yolo模型的yaml文件中设置每训练多少轮就保存一次模型

找到

save_period:-1

默认值为-1是在训练过程中不保存模型,想多少轮保存一次就修改成多少。这里我修改成每10轮保存一次。

然后先正常使用命令行语句启动模型训练:

yolo cfg=xx.yaml

如果想指定GPU来训练可使用命令行语句:

CUDA_VISIBLE_DEVICES=1 yolo train cfg=XX.yaml

这里'CUDA_VISIBLE_DEVICES=1' 是选择的gpu的序号,选择第几个gpu输入序号几。

如果在训练途中遇到time out或者Input/Output error的问题,比如我设置epoch=150,在epoch=112的时候训练中断,但我前面设置的每10轮保存一次的模型还在,则可以从epoch10继续训练。

cd进入模型所在的文件夹或者直接使用语句:

yolo train resume model=path/to/last.pt

这里可以直接将last.pt改为epoch=110.pt,可以看到模型从上次停止的地方重新开始训练了

使用python脚本修改或者其他命令行语句可参考官网:
https://docs.ultralytics.com/modes/train/#resuming-interrupted-trainings
 

### YOLOv8 模型训练教程 #### 使用命令行工具进行单卡训练 对于YOLOv8模型训练,可以利用命令行界面(CLI)来执行相应的操作。具体来说,在启动训练之前需准备好数据集配置文件以及预训练权重等资源。下面是一条用于初始化YOLOv8 nano版本检测器并基于自定义数据集`human_target`开展为期100轮迭代训练过程的例子[^2]: ```bash yolo detect train data=datasets/human_target/data.yaml model=yolov8n.yaml pretrained=ultralytics/yolov8n.pt epochs=100 batch=4 lr0=0.01 resume=True ``` 这条指令指定了多个参数选项: - `data`: 数据集路径; - `model`: 所使用的YOLO架构描述文件(.yaml),这里选用的是nano规模变体; - `pretrained`: 预训练好的网络权值位置; - `epochs`, `batch`, 和其他超参设置则直接影响到学习率调整策略(`lr0`)等方面。 #### 准备工作与环境搭建 为了顺利运行上述命令,确保已安装好Python开发环境,并按照官方文档指示完成必要的依赖库安装。此外,还需注意准备符合特定格式的数据标注文件(如COCO或VOC标准),并将这些信息整理成`.yaml`形式以便程序读取[^1]。 #### 进阶功能说明 除了基本的训练流程外,还支持诸如断点续训(`resume=True`)等功能特性,这使得即使中途意外中断也能从中恢复继续优化模型性能而不必重头再来。同时提供了灵活修改初始学习速率(`lr0`)的能力,允许使用者依据实际情况微调这一重要超参数以期获得更好的收敛效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值