yolov5 继续训练

yolov5 继续训练

两种情况:

  • 训练过程中中断了,继续训练
  • 训练完了,但是未收敛,在这个基础上,还想用这个权重、学习率等参数继续训练多一些批次

训练过程中中断了,继续训练

断电、或者什么原因中断了,比如设定epoch为200,但是在90这里中断了,想从断点这里继续训练到200 epoch。
直接在train.py设置resume参数为True即可

    parser.add_argument('--resume', nargs='?', const=True, default=True, help='resume most recent training')

训练完原有epoch,但还继续训练

训练完原有epoch后,但还继续训练,比如设置epoch为200,已经训练完了,但是没有收敛等原因想使用训练了200 epoch的权重继续训练100个epoch, 总共就是300个epoch

  • 不是直接在train.py设置weight参数为训练好的权重(last.pt),然后设置epoch为100,这样不行,因为学习率等超参数启动时还是按照默认的。。。(自己把一些超参数设置好也可以,但感觉有点烦)
  • 在train.py代码里面设置就可以使用原有200 epoch的权重后继续训练到300epoch
  1. 在train.py设置resume为True,还有把epoch设置为300
parser.add_argument('--weights', type=str, default=ROOT / 'weights/yolov5l.pt', help='initial weights path')
  1. 在train.py代码190行
    yolov5 继续训练_第1张图片
    在这些代码之前,加上
  ckpt['epoch'] = 200

训练就会从第200 epoch的基础上进行继续训练到300 epoch,和直接设置epoch为300一样

你可能感兴趣的:(目标检测)