YOLO 训练异常终止、断电、服务器关机,恢复训练,训练过程中调整训练周期

恢复训练       

对于训练一个新的YOLO模型或者是跑原模型,在训练过程中总会遇到误触或是异常操作导致训练终止,肯定不想重新开始训练,这样操作:

首先,找到刚刚跑完异常结束的那个训练后的结果保存处,一般是在runs\detect\train..

       里边有个weight文件夹,就是保存训练过程中的权重文件,我们复制 last.pt 的绝对路径,把他作为下次训练的加载权重,进行训练就可以续上上次没跑完的实验

其次,还需要修改如下:

在train文件中将刚刚复制好的权重绝对路径,修改为你的训练加载权重

if __name__ == '__main__':
    
# 修改后的模型配置文件路径
    model_config = r'D:\CVproject\ultralytics-main\ultralytics\cfg\models\v8\new\yolov8.yaml'

   
 # 数据集配置文件路径
    data_config ="D:/CVproject/ultralytics-main/datasets/new_COCO128.yaml"
   
 # 创建并初始化YOLOv8模型
    model = YOLO(model_config).train(data=data_config)
    metrics = model.val()

将其中的

 model_config = r'D:\CVproject\ultralytics-main\ultralytics\cfg\models\v8\new\yolov8_LAST_Guass.yaml'

修改为:路径前加个r  可以防止绝对路径与电脑编程器保持一致

model_config = r'D:\CVproject\ultralytics-main\runs\detect\train2\weights\last.pt'
最后在ultralytics\engine\trainer中:

找到def check_resume(self):

修改其中的resume = self.args.resume

改为: resume= r'D:\CVproject\ultralytics-main\runs\detect\train2\weights\last.pt'

并在 def resume_training(self, ckpt):

第一行添加:

ckpt = torch.load(r 'D:\CVproject\ultralytics-main\runs\detect\train2\weights\last.pt ‘ )

这样就可以继续训练了

训练过程中,修改训练周期

先终止训练

找到ultralytics/cfg/default.yaml文件,打开修改其中的

epochs: 300  # (int) number of epochs to train for

为你想要的周期,并修改ultralytics\engine\trainer中的

self.epochs = self.args.epochs

修改为

self.epochs=300(你想增加或是减少的周期)

最后!!!!

一定在按照上面的恢复训练去修改,才能恢复上次的训练,继续按照新的训练周期去训练

(训练完一定要把改的改回来,这样下次重新训练才不会出错)

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值