一、resume = True ,失败
在尝试将resume改为True,model设为需要继续训练的模型后继续训练,结果不能断点训练。
二、修改py文件,成功
1.修改ultralytics/yolo/engine/model.py文件,注释三行代码
self.trainer = (trainer or self._smart_load('trainer'))(overrides=args, _callbacks=self.callbacks)
#注释以下三行
# if not args.get('resume'): # manually set model only if not resuming
# self.trainer.model = self.trainer.get_model(weights=self.model if self.ckpt else None, cfg=self.model.yaml)
# self.model = self.trainer.model
self.trainer.hub_session = self.session
# attach optional HUB session
self.trainer.train()
2.修改ultralytics/yolo/engine/trainer.py文件,将resume赋值为接着运行的模型路径。
self.trainset, self.testset = self.get_dataset(self.data)
self.ema = None
self.resume = 'ultralytics/models/yolo/classify/ClassfiyTest/runs/Before/last.pt'
3.继续训练成功了,成功标识如下:
三、训练完成后,记得恢复之前的代码!
1.恢复ultralytics/yolo/engine/model.py文件
2.恢复ultralytics/yolo/engine/trainer.py文件