当前位置: 首页 > 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实现分布式锁
  • 以军称若停火谈判无进展,将大幅扩大加沙军事行动
  • 持续更新丨伊朗内政部长:港口爆炸已致8人死亡750人受伤
  • 居民被脱落的外墙瓦砖砸中致十级伤残,小区物业赔付16万元
  • 临沂文旅集团被诉侵权,原告每年三百余起类案
  • 国际观察|伦敦会谈“降级”凸显美国乌克兰政策窘境
  • 马上评丨老师要求犯错学生当众道歉,不该成被告