pytorch计算模型的显存占用率和节省内存技巧

pytorch 专栏收录该内容
11 篇文章 0 订阅

计算模型的显存占用率

节省内存的技巧

  • 减小Batch-size;
  • 减小图片尺寸;
  • 将计算过程分为多步,保存中间结果再计算后面一半的模型,参考此文
  • 使用软batch训练model,即通过修改优化算法,是网络进行N次前向传播,但只进行一次反向传播;
  • 使用pooling,减小特征图的size;
  • 减少全连接层的使用。relu(inplace=true),inplace_abn使用半精度float16;
  • optimizer的变换使用,理论上,sgd<momentum<adam,可以从计算公式中看出有额外的中间变量;
  • Depthwise Convolution;
  • 尽可能使用inplace操作, 比如relu 可以使用 inplace=True;
  • 不要一次性把数据加载进来,使用 pytorch 的 Dataset api;
    大致程序如下:

    from torch.utils.data import DataLoader
    data_train_loader = DataLoader(data_train, batch_size=64, shuffle=True)
    for batch_idx, samples inenumerate(data_train_loader):
    net(samples)

优化pytorch代码

  • 6
    点赞
  • 0
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值