【pytorch】torch.cuda.empty_cache()==>释放缓存分配器当前持有的且未占用的缓存显存
发布日期:2021-07-01 02:26:41
浏览次数:2
分类:技术文章
本文共 499 字,大约阅读时间需要 1 分钟。
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 可以自动进行回收从而释放相应的显存。
转载地址:https://mapengsen.blog.csdn.net/article/details/117906219 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月10日 10时29分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
String和StringBuffer的比较(附带程序说明)
2019-05-01
Oracle中自增字段的两种方法的比较(Trigger和Sequence)
2019-05-01
什么是Web 2.0?
2019-05-01
Junit执行及加载顺序分析(原创)
2019-05-01
ORACLE SQL性能优化系列(一)
2019-05-01
ORACLE SQL性能优化系列(二)
2019-05-01
处理正则表达式的java包:regexp
2019-05-01
正则表达式简介(微软)--4.正则表达式语法
2019-05-01
正则表达式简介(微软)--5.建立正则表达式
2019-05-01
正则表达式简介(微软)--6.优先权顺序
2019-05-01
算法-Hash+滑动窗口/按位编码-重复的DNA序列
2019-05-01
多用户与多租户的区别
2019-05-01
算法-滑动窗口-最小覆盖子串
2019-05-01
算法-图/DFS/BFS/并查集-岛屿数量
2019-05-01
算法-并查集
2019-05-01
常使用的Emacs命令
2019-05-01
现代UNIX系统有什么设计上的不足么
2019-05-01
linux 初学者常用命令!
2019-05-01
Spring源代码解析(四):Spring MVC
2019-05-01
Spring源代码解析(五):Spring AOP获取Proxy
2019-05-01