译者:冯宝宝

我的模型报告“cuda runtime error(2): out of memory”

正如错误消息所示,您的GPU显存已耗尽。由于经常在PyTorch中处理大量数据,因此小错误会迅速导致程序耗尽所有GPU资源; 幸运的是,这些情况下的修复通常很简单。这里有一些常见点需要检查:

不要在训练循环中积累历史记录。 默认情况下,涉及需要梯度计算的变量将保留历史记录。这意味着您应该避免在计算中使用这些变量,因为这些变量将超出您的训练循环,例如,在跟踪统计数据时。相反,您应该分离变量或访问其基础数据。

有时,当可微分变量发生时,它可能是不明显的。考虑以下训练循环(从源代码中删除):

total_loss = 0
for i in range(10000):optimizer.zero_grad()output = model(input)loss = criterion(output)loss.backward()optimizer.step()total_loss += loss

在这里,total_loss在您的训练循环中累积历史记录,因为丢失是具有自动记录历史的可微分变量。 您可以通过编写total_loss + = float(loss)来解决此问题。

此问题的其他实例:1。

不要抓住你不需要的张量或变量。 如果将张量或变量分配给本地,则在本地超出范围之前,Python不会解除分配。您可以使用del x释放此引用。 同样,如果将张量或向量分配给对象的成员变量,则在对象超出范围之前不会释放。如果您没有保留不需要的临时工具,您将获得最佳的内存使用量。

本地规模大小可能比您预期的要大。 例如:

for i in range(5):intermediate = f(input[i])result += g(intermediate)
output = h(result)

阅读全文/改进本文

转载于:https://www.cnblogs.com/wizardforcel/p/10492535.html

PyTorch 1.0 中文文档:常见问题解答相关推荐

  1. PyTorch 1.0 中文文档正式接受校对 | ApacheCN

    参与方式:https://github.com/apachecn/pytorch-doc-zh/blob/master/CONTRIBUTING.md 整体进度:https://github.com/ ...

  2. PyTorch 1.0 中文文档:torch.onnx

    译者:guobaoyo 示例:从Pytorch到Caffe2的端对端AlexNet模型 这里是一个简单的脚本程序,它将一个在 torchvision 中已经定义的预训练 AlexNet 模型导出到 O ...

  3. PyTorch 1.0 中文文档:torchvision.utils

    译者:BXuan694 torchvision.utils.make_grid(tensor, nrow=8, padding=2, normalize=False, range=None, scal ...

  4. PyTorch 1.0 中文文档:torch.hub

    译者:kunwuz torch.hub.load(github, model, force_reload=False, *args, **kwargs) 从github上加载一个带有预训练权重的模型. ...

  5. PyTorch 1.0 中文文档:torch.utils.bottleneck

    译者: belonHan torch.utils.bottleneck是 调试瓶颈bottleneck时首先用到的工具.它总结了python分析工具与PyTorch自动梯度分析工具在脚本运行中情况. ...

  6. PyTorch 1.0 中文文档:Torch 脚本

    译者:keyianpai 创建 Torch 脚本代码 将追踪和脚本化结合起来 Torch 脚本语言参考 类型 表达式 语句 变量解析 python值的使用 调试 内置函数 Torch脚本是一种从PyT ...

  7. PyTorch 1.0 中文文档:torch.autograd

    译者:gfjiangly torch.autograd 提供类和函数,实现任意标量值函数的自动微分. 它要求对已有代码的最小改变-你仅需要用requires_grad=True关键字为需要计算梯度的声 ...

  8. PyTorch 1.0 中文文档:Windows FAQ

    译者:冯宝宝 从源码中构建 包含可选组件 Windows PyTorch有两个受支持的组件:MKL和MAGMA. 以下是使用它们构建的步骤. REM Make sure you have 7z and ...

  9. PyTorch 1.0 中文文档:torch.nn.init

    译者:GeneZC torch.nn.init.calculate_gain(nonlinearity, param=None) 返回给定非线性函数的推荐的增益值.对应关系如下表: 非线性函数 增益 ...

最新文章

  1. 打开某网站无法访问出现空白页可能的原因
  2. 使用Comet4j实现消息推送
  3. 第三章--堆栈段的工作方式
  4. Template methed
  5. MySQL select后面的子查询使用
  6. 关于提高代码复用性的几个知识点的回顾
  7. 带你认识三种kafka消息发送模式
  8. 苹果被咬一大口!高通获得45亿美元和解金 下一个目标是华为?
  9. 55天 - 算法 - 动态规划 - 数组类 从前往后
  10. RocketMQ 实战-SpringBoot整合RocketMQ同步消息、异步消息、单向消息
  11. 智能家居无线组网技术,WiFi芯片模组连接应用,物联网无线技术发展
  12. 前端Demo - 日历控件纯原生实现
  13. 【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题一方案及Python实现
  14. 如何在ArcGIS中打开卫星影像
  15. 粘贴时word左下角出现“正在与服务器联系以获取信息,按ESC取消”
  16. [Redis实战]单文件夹启动多实例,redis哨兵+主从复制完整demo样例[windows环境]
  17. Python实现的图书分析大屏展示系统(附源码)
  18. 我的世界服务器修改地图名字,我的世界改存档名字怎么改
  19. C语言算法:冒泡法排序
  20. 二十七、动词不定式 万事开头难

热门文章

  1. Kafka Shell 基本操作
  2. 计算机配件推荐系统论文摘要,个性化推荐系统设计
  3. 达内培训c语言,【达内C  培训教程】C语言实例 分数之和
  4. pythonista_Pythonista20190325伤不起
  5. ddr4服务器内存和普通内存_服务器内存介绍及其供电规范
  6. java 挖矿代码_我的大脑被挖矿代码搞的不能好好思考了
  7. Android studio下载安装使用遇到的问题及解决办法
  8. python和php合成,Python照片合成的方法详解
  9. sata接口 图解 定义_SATA协议简介
  10. ais文件还原到mysql_SQLSERVER 数据库可疑的解决步骤