在使用服务器运行YOLO模型的过程中,由于各种原因,如断网、关机等,YOLO提供了参数 resume:意思是断点训练,也就是之前的训练可以进行训练。
具体做法修改 resume
参数:
parser.add_argument('--resume', nargs='?', const=True, default=True, help='resume most recent training')
修改权重文件,原权重文件为预训练权重,现使用其最后一次训练权重,如下:
parser.add_argument('--weights', type=str, default='/home/ubuntu/conda/yolov7//runs/train/exp8/weights/last.pt', help='initial weights path')
此时操作报错:
File "/home/ubuntu/anaconda3/envs/python/lib/python3.8/site-packages/torch/serialization.py", line 1033, in _legacy_load magic_number = pickle_module.load(f, **pickle_load_args)_pickle.UnpicklingError: STACK_GLOBAL requires str
这是数据集的错误,需要删除原始cache缓存文件:
随后运行train.py
就OK了
至于YOLOV5的做法,也可以用这种方法炮制。