0


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(你想增加或是减少的周期)

最后!!!!

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

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


本文转载自: https://blog.csdn.net/weixin_45920120/article/details/141122696
版权归原作者 方方爱学习 所有, 如有侵权,请联系我们删除。

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

还没有评论