断点训练
在训练模型的过程中可能会出现断电、错误关闭等意外导致训练中断,此时从头训练十分浪费实践和资源,我们可以使用断点训练
来继续之前的训练
找到train.py
的resume
参数,将False
改为True
,再执行train.py
即可继续训练
parser.add_argument('--resume', nargs='?', const=True, default=True, help='resume most recent training')
训练完成后继续训练
在训练完成后发现模型没有收敛,如何增加epoch继续训练,例如一开始设置epoch=300
训练完成后想再训练300轮
设置resume参数
找到train.py
的resume
参数,将False
改为True
parser.add_argument('--resume', nargs='?', const=True, default=True, help='resume most recent training')
设置epoch参数
找到train.py
的epochs
参数,将一开始的300
改为最终想训练的轮数600
parser.add_argument('--epochs', type=int, default=600)
找到训练文件夹中的opt.yaml
文件,将其中的epochs也设置为最终想训练的轮数
修改train.py代码
找到# Epochs
添加两行代码
ckpt['epoch'] = 300 #继续训练开始的轮数
start_epoch = ckpt['epoch']
注释一行代码
start_epoch = ckpt['epoch'] + 1
修改结果为
运行train.py
即可继续再训练300轮