云计算百科
云计算领域专业知识百科平台

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

最后!!!!

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

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

赞(0)
未经允许不得转载:网硕互联帮助中心 » YOLO 训练异常终止、断电、服务器关机,恢复训练,训练过程中调整训练周期
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!