Pytorch 训练时无用的临时变量可能会越来越多,导致 out of memory ,可以使用下面语句来清理这些不需要的变量。

torch.cuda.empty_cache()

官网 上的解释为:

Releases all unoccupied cached memory currently held by the caching allocator so that those can be used in other GPU application and visible invidia-smi.

意思就是PyTorch的缓存分配器会事先分配一些固定的显存,即使实际上tensors并没有使用完这些显存,这些显存也不能被其他应用使用。这个分配过程由第一次CUDA内存访问触发的。

而 torch.cuda.empty_cache() 的作用就是释放缓存分配器当前持有的且未占用的缓存显存,以便这些显存可以被其他GPU应用程序中使用,并且通过 nvidia-smi命令可见。注意使用此命令不会释放tensors占用的显存。

对于不用的数据变量,Pytorch 可以自动进行回收从而释放相应的显存。

PyTorch trick 集锦 - 知乎

【pytorch】torch.cuda.empty_cache()==>释放缓存分配器当前持有的且未占用的缓存显存相关推荐

  1. Pytorch---训练与测试时爆显存(out of memory)的一个解决方案(torch.cuda.empty_cache())

    Pytorch 训练时有时候会因为加载的东西过多而爆显存,有些时候这种情况还可以使用cuda的清理技术进行修整,当然如果模型实在太大,那也没办法. 使用torch.cuda.empty_cache() ...

  2. 释放pytorch占用的gpu显存_Pytorch 节省显存的训练方法总结

    前言 最近的工作中,用到了Pytorch框架训练医学图像分割模型.精心设计的模型经常会因为显存不足而失败.减小模型训练过程中对显存的占用,可能我们能想到最简单的方法就是减小batchsize,减少卷积 ...

  3. 显存优化 | Pytorch的显存机制torch.cuda.empty_cache及周边概念

    注:文中涉及一些内部底层实现机制,可能和大家外界看到的不一样,这里略过不做介绍.借着笔记,分享平时碰到的技术点,不高端,不炫酷,对你有用更好了. 最近在做模型的优化工作,主要涉及精度,速度和显存优化, ...

  4. cuda11.2安装pytorch——torch.cuda.is_available()=false

    这两天正在用服务器跑程序,但是发现运行速度极慢,查看正在运行的进程,也没看到自己的进程,但是程序又确确实实在运行,这就奇了怪了,一通查找,发现程序竟然是在CPU上运行,也就是 torch.cuda.i ...

  5. 【已解决】探究CUDA out of memory背后原因,如何释放GPU显存?

    目录 1 问题背景 2 问题探索 2.1 CUDA固有显存 2.2 显存激活与失活 2.3 释放GPU显存 3 问题总结 4 告别Bug 1 问题背景 研究过深度学习的同学,一定对类似下面这个CUDA ...

  6. pytorch显存管理

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

  7. Ubuntu释放缓存/内存和显存

    前言 深度学习训练模型时,总是出现显存和内存爆满的现象,导致训练中断,这里总结几个好用的方法: 代码添加指令 手动释放内存/缓存 自动定时释放内存/缓存 代码释放显存(torch) 1. 代码添加指令 ...

  8. RuntimeError: CUDA out of memory. Tried to allocate XX.XX MiB. pytorch训练超出撑爆显存的问题

    1.batch_size设置过大 这种比较好理解,就是单卡batch_size设置大了,数据量就大了,显存可能就放不下了.不过一般batch_size也不宜设置过小,不然如果batch里含有噪声数据其 ...

  9. python pytorch爆显存,内存溢出问题解决方法(总结)RuntimeError: CUDA out of memory.

    问题描述 在运行python程序时,随运行时间增长,内存疯狂增加,直至运行内存爆满,出现以下错误: RuntimeError: CUDA out of memory. 解决方法: 1.在模型验证和测试 ...

最新文章

  1. centos7 中搭建gitlab
  2. fofa 搜索结果提取技术分析
  3. 专辑一:爱之初体验(初级)
  4. 一、使用两台Centos7系统搭建Hadoop-3.1.4完全分布式集群
  5. linux目录表及功能n鸟哥,鸟哥linux学习之-文件属性跟系统目录
  6. try catch finally return的执行顺序与返回值探究
  7. 一场员工高管间的口水战,员工输了
  8. 25.构造ICMP数据包
  9. php cms 新闻采集,自动新闻采集软件快速入门图文详细教程
  10. Neo4j【有与无】【N6】Graph数据库内部
  11. 亲民地理第39期-佛山(2)南风古灶
  12. Ignore the empty nacos configuration and get it based on dataIdnacos配置中心 踩坑
  13. FPGA驱动步进电机
  14. Python数据分析高薪实战第二天 python基础语法复习
  15. php阴历阳历互转类(1900~2100年)
  16. android 手机 用短信发pdf文件,iPhone如何将PDF通过短信邮件发给别人【仅限iPhone6/6s】...
  17. elementui表格根据后端返回的数据进行合并表格
  18. 记事本中写c/c++程序在Windows下运行
  19. DSP之Controlsuit和C2000Ware下载安装
  20. 穿山甲成长中心——人能尽其才则百事兴

热门文章

  1. 【官方搭建入门】JEECG 平台开发环境搭建必读
  2. SAP常用T-Code
  3. 【计算机视觉】【矿泉水瓶水位测量】--Matlab与C++实现
  4. python设计模式总结
  5. CSS, JavaScript, jQuery实现标签页切换
  6. 绑定方法与非绑定方法
  7. springcloud 系列教程一:微服务与网站架构演变过程
  8. jsp中forward与sendRedirect的区别
  9. route 更改网络设置
  10. VS 2005竟然会突然失踪