yolov5 继续训练

该博客探讨了在YOLOv5中如何继续训练已中断的模型。作者提到,如果在训练中途中断,可以设置`resume=True`来从断点继续。若要使用已训练的权重继续训练更多轮次,直接指定`weights`和`epoch`并不理想,因为学习率等超参数会按默认设置。解决方案是在代码中设置`ckpt['epoch']=200`,确保从第200轮开始,并将`epoch`设为300,以完成总共300轮的训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yolov5 继续训练

有人评论说是好像第二种情况按照我那样改了之后map直接下降是学习率和优化器不是最后那个,,但是按照原理应该是last.pt这个权重对应的学习率啊,,,,,
各位自己参考吧,仅提供思路。

两种情况:

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

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

断电、或者什么原因中断了,比如设定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 / 'weigh
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值