yolov7训练过程中的保存权重比较大,怎么变小?同样适用yolov8

设置的epoch过大,想中间停下来,结果训练权重比最终的权重大一半多,用如下代码将训练权重转成最终的只有权重参数的pt


f = './best.pt'
# Strip optimizer from 'f' to finalize training, optionally save as 's'
x = torch.load(f, map_location=torch.device('cpu'))
if x.get('ema'):
    x['model'] = x['ema']  # replace model with ema
for k in 'optimizer', 'training_results', 'wandb_id', 'ema', 'updates':  # keys
    x[k] = None
x['epoch'] = -1
x['model'].half()  # to FP16
for p in x['model'].parameters():
    p.requires_grad = False
torch.save(x, f)
mb = os.path.getsize( f) / 1E6  # filesize
print(f"Optimizer stripped from {f},{(' saved as %s,' % f) if f else ''} {mb:.1f}MB")

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值