当前位置: 首页 > news >正文

colab 如何释放gpu显存?

1)

obj = None

2)

import gc
gc.collect() # Python thing
# torch.cuda.empty_cache() # PyTorch thing
with torch.no_grad():
    torch.cuda.empty_cache()

参考资料:

如果您只是将使用大量内存的对象设置为None这样:

obj = None
之后你打电话

gc.collect() # Python thing
这是您可以避免重新启动笔记本电脑的方法。

如果您仍然希望从 Nvidea smi 或 nvtop 中清楚地看到它,您可以运行:

torch.cuda.empty_cache() # PyTorch thing
清空 PyTorch 缓存。

到目前为止,答案对于 Cuda 方面是正确的,但在 ipython 方面也存在问题。

当您在笔记本环境中遇到错误时,ipython shell 会存储异常的回溯,因此您可以使用 访问错误状态%debug。问题是这需要将导致错误的所有变量保存在内存中,并且它们不会被诸如gc.collect(). 基本上你所有的变量都会卡住并且内存泄漏。

通常,引发新异常会释放旧异常的状态。所以尝试类似的东西1/0可能会有所帮助。然而,使用 Cuda 变量时事情会变得很奇怪,有时不重启内核就无法清除 GPU 内存。

相关文章:

  • CANoe-仿真总线上的红蓝线、“CANoe DEMO“ license下的软件限制
  • SpringBoot 参数接收只看这一篇文章就够了
  • Vector - VT System - 模拟IO板卡_VT2816
  • 云原生|kubernetes|2022年底cks真题解析(1-10)
  • 7个实用的DTC品牌出海营销策略,打造强大的品牌竞争力
  • 浅谈Android下的注解
  • 【初阶数据结构】——写了将近 5 万字,终于把 二叉树 初阶的内容讲清楚了
  • c++通讯录管理系统
  • jvm系列(1)--JVM和Java体系架构
  • 线程池ThreadPoolExecutor源码解析
  • 如何减少频繁创建数据库连接的性能损耗?
  • WebSocket长连接接入支付宝消息服务,实现消息通知
  • 数组常用方法总结 (6) :includes / indexOf / lastIndexOf / valueOf / toString / isArray
  • 系统分析师案例必备知识点汇总---2023系列文章一
  • java springboot 项目构建报错解决办法
  • SMT32串口使用中断 和使用 RTOS的对比
  • 【MySQL进阶教程】MySQL管理
  • 狗厂的N+1+2毕业,我觉得还是挺良心的
  • SAP ABAP——SAP包(一)【包概要简述及创建】
  • 【Redis】Redis实现分布式锁
  • 美财长称关税战升级的责任在中方,外交部:关税战、贸易战没有赢家
  • 中国纪检监察报刊文:要让劳动最光荣成为社会的崇高风尚
  • 甘肃省原副省长赵金云被开除公职,甘肃省委表态:坚决拥护党中央决定
  • 我驻美使馆:中美并没有就关税问题磋商谈判,更谈不上达成协议
  • 杨荫凯已任浙江省委常委、组织部部长
  • 湖南省郴州市统战部部长黄峥嵘主动交代问题,接受审查调查