YOLOX训练过程中,程序停掉了,接着以前训练的模型再训练
方法1.修改train.py
parser.add_argument(
"--resume", default=True, action="store_true", help="resume training" #改为True
)
parser.add_argument("-c", "--ckpt", default='YOLOX_outputs/yolox_voc_s/latest_ckpt.pth', type=str, help="checkpoint file") #预训练权重用最后一个epoch的权重
parser.add_argument(
"-e",
"--start_epoch",
default=300, #想从第几轮开始训就改成几,这里是从第300epoch开始训练
type=int,
help="resume training start epoch",
)
方法2:直接在命令行操作
python tools/train.py -expn save_model_path -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth --resume --start_epoch=300 --fp16
注意:-expn save_model_path是训练过程中保存模型文件的路径
-c 后面的权重文件改成停掉的最后一个权重文件
--start_epoch就视情况改
模型训练起来会看到epoch: 300/800 :iter......这样就已经断点续训上了,这表示你上次设置的epoch是800,这次是接着断掉的最后一个权重文件从第300轮开始训。(注意这里并不一定是从第299轮开始断掉的,也可以是在第305轮时候断掉,那这里就是用第305轮的权重文件从第300轮开始训练)