1、PyTorch 提供了 memory_allocated()max_memory_allocated() 用于监视 tensors 占用的内存; memory_cached()max_memory_cached() 用于监视缓存分配器所管理的内存.
2、PyTorch 提供了 empty_cache() l来释放所有未使用的缓存的内存,以便其它 GPU 应用能够使用. 但是,并不能释放 tensors 所占用的 GPU 显存,因此,其并不能增加 PyTorch 的可用 GPU 显存量.
pytorch 官网说明

  • 查看特定设备上tensors当前所占用的 GPU 显存以字节bytes为单位
torch.cuda.memory_allocated(device=None)
  • 查看特定设备上 tensors 最大所占用的 GPU 显存以字节bytes为单位,默认返回当前程序从开始所占用的最大显存.
torch.cuda.max_memory_allocated(device=None)
  • 查看特定设备上缓存分配器当前所占用的 GPU 显存以字节bytes为单
torch.cuda.memory_cached(device=None)
  • 查看特定设备上缓存分配器最大所占用的 GPU 显存以字节bytes为单位
torch.cuda.max_memory_cached(device=None)
  • 释放缓存分配器当前所管理的所有未使用的缓存
torch.cuda.empty_cache()

例子:

try:output = model(input)
except RuntimeError as exception:if "out of memory" in str(exception):print("WARNING: out of memory")if hasattr(torch.cuda, 'empty_cache'):torch.cuda.empty_cache()else:raise exceptio

另外一点是,在测试时,避免忘记设置 torch.no_grad(). 如:

with torch.no_grad():inputs = Noneoutput = model(inputs)

pytorch GPU内存管理相关推荐

  1. AMD GPU内存管理(1):概览

    参考内核版本:Linux-6.1.8 HMM 待更新...... dumb buffer create/map 在AMDGPU的Graphics业务中,用到了GEM(Graphics Executio ...

  2. nvidia cuda windows下gpu内存管理

    mxnet 出现错误 RuntimeError: CUDA out of memory. Tried to allocate windows下可以这样做:打开cmd窗口,输入nvidai-smi查看显 ...

  3. 深度学习中的内存管理问题研究综述

    点击上方蓝字关注我们 深度学习中的内存管理问题研究综述 马玮良1,2, 彭轩1,2, 熊倩1,2, 石宣化1,2, 金海1,2 1 华中科技大学计算机科学与技术学院,湖北 武汉 430074 2 华中 ...

  4. python吃显卡还是内存不足_解决pytorch GPU 计算过程中出现内存耗尽的问题

    Pytorch GPU运算过程中会出现:"cuda runtime error(2): out of memory"这样的错误.通常,这种错误是由于在循环中使用全局变量当做累加器, ...

  5. Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况

    Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...

  6. linux异构内存,Linux内核添加异构内存管理(HMM)将带来加速GPU的新方式,还有可能带来其他类型的机器学习硬件。...

    一项旨在让机器学习或其他基于GPU的应用得以大幅提升性能的内存管理功能已开发了很长一段时间,不过现在它即将进入到Linux内核的某下一个版本中. 异构内存管理(HMM)让设备的驱动程序可以为受制于自身 ...

  7. 【GPU】Nvidia CUDA 编程基础教程——利用基本的 CUDA 内存管理技术来优化加速应用程序

    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G ...

  8. PyTorch可视化工具:GPU内存分配

    本文来源  机器之心  编辑:杜伟 想要了解自己的 PyTorch 项目在哪些地方分配 GPU 内存以及为什么用完吗?不妨试试这个可视化工具. 近日,PyTorch 核心开发者和 FAIR 研究者 Z ...

  9. pytorch显存管理

    PyTorch使用缓存分配器来加速内存分配.允许在不进行设备同步的情况下快速重新分配内存.缓存分配器中未被占用得内存,用nvidia-smi查看也显示为使用 torch.cuda.empty_cach ...

  10. [人工智能-深度学习-39]:环境搭建 - 训练主机硬件选择全指南(CPU/GPU/内存/硬盘/电源)

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

最新文章

  1. 第1章 故障处理方法
  2. log4j用于读取.xml文件的出现了错误,类加载器.getResource(user.xml).getPath()返回路径空格变成了%20...
  3. php 获取日期标签的值,在php中获取标签的选定索引值
  4. 在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
  5. 探秘身份认证利器——声纹识别!
  6. SDWebImage原理(面试)
  7. 家庭主机拨号上网示意图
  8. Scrapy 爬虫框架初体验三 —— 工程优化及其完善
  9. 笔试题:在整数数组中找到重复的数字
  10. Egret 之 消除游戏 开发 PART 6 Egret elimination game development PART 6
  11. 多线程编程下单例模式与多例模式的使用总结
  12. Android报错:java.lang.ClassCastException: com.github.mikephil.charting.charts.PieChart cannot be cast
  13. 一些and知识 和ui
  14. SoapUI接口测试——全流程转载
  15. CSS超详细知识点总结2
  16. STM32CubeMX创建F429/L475 HAL库工程并移植UCOSIII (二)(文末附源码)
  17. 微信第三方平台代小程序实现业务
  18. 地理信息系统GIS的评价
  19. 蛋白和肽测序仪销量、收入、价格、毛利率及市场份额
  20. 计应121--实训一【李智飞(27号)--李阳持(26号)--胡俊琛(13号)--曹吉(2号)】

热门文章

  1. Leo:一个outlining editor
  2. 机票预订系统的数据流程图及实体联系图
  3. python把int转为str_python中int与str互转方法
  4. cad.net cad启动慢? cad2008启动慢? cad启动延迟? cad卡住? cad98%卡? 默认打印机!!
  5. 时空序列预测之Convolutional LSTM Network
  6. Still,yet和already的用法
  7. ie浏览器透明背景设置
  8. 敏捷团队中有效沟通的5种模式
  9. 成功三大定律:荷花定律、金蝉定律、竹子定律
  10. java与python比较之单引号 双引号用法