【CUDA out of memory】显存不足时的Trick

显存不足时的Trick

  • 降低batch_size
    适当降低batch size, 则模型每层的输入输出就会成线性减少
  • 数据类型
    32位的浮点数,切换到 16位的浮点数
  • 梯度累积
    当执行 loss.backward() 时, 会为每个参数计算梯度,并将其存储在 paramter.grad 中, 注意到, paramter.grad 是一个张量, 其会累加每次计算得到的梯度。

在 Pytorch 中, 只有调用 optimizer.step()时才会进行梯度下降更新网络参数。

batch size 与占用显存息息相关,但有时候我们的batch size 又不能设置的太小,这咋办呢?答案就是梯度累加

传统训练:

for i,(feature,target) in enumerate(train_loader):
    outputs 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值