AssertionError: runs/xx/last.pt training to 300 epochs is finished, nothing to resume.

yolov5 - 5.0

在已经训练好的模型(训练了300轮)的基础上继续训练。

使用参数--resume

python train.py --epochs 400 --resume runs/train/exp16/weights/last.pt

想要再训练100轮 以上参数--epoches无论修改成100 还是400都会错

AssertionError: runs/xx/last.pt training to 300 epochs is finished, nothing to resume.

在网上找了很多,很多没有用。从头重新训练实在麻烦,我是在云端训练的,租服务器费钱。。。

最后解决方法:

1.首先将train.py中--epochs参数的default修改 改成你最终要的训练次数。比如我是从300轮继续训练的,要再训练100轮,那么就设置为400.

 2.在train.py中找到 #Epochs (可以ctrl+f 快捷搜索)如下图,添加两行代码:

ckpt['epoch'] = 300 #继续训练 300为最后一次训练代数+1
start_epoch = ckpt['epoch']

并注释掉代码。最后修改如图就行。

start_epoch = ckpt['epoch'] + 1

 3.最后在train.py文件中找到 #Resume 代码块(如下图)

在第一行添加一行代码:

init_epochs = opt.epochs #修改断点加这一行 记录最开始由epochs参数设定的数值400,因为replace这行代码,将epochs替换成了原始的epochs数值300

然后将如图513行代码注释掉,在下一行加代码:

opt.cfg, opt.weights, opt.resume, opt.epochs = '', ckpt , True , init_epochs # # reinstate设置断点则添加 opt.epochs init_epochs

 至此,代码修改完毕。

运行设置:(指定要接着训练的模型)

python train.py --resume runs/xx/last.pt

则显示结果从300(包含)开始训练到399,追加训练100次。

 

 

  • 10
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伏颜.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值