为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过删除张量来释放 gpu 内存?

如何通过删除张量来释放 gpu 内存?

aluckdog 2022-01-18 15:31:28
假设我创建了一个张量并将其放在 GPU 上,以后不需要它并想释放分配给它的 GPU 内存;我该怎么做?import torcha=torch.randn(3,4).cuda() # nvidia-smi shows that some mem has been allocated.# do something# a does not exist and nvidia-smi shows that mem has been freed.我努力了:del adel a; torch.cuda.empty_cache()但它们都不起作用。
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

运行del tensor会从 GPU 中释放内存,但不会将其返回到设备,这就是为什么内存仍显示为已使用的原因nvidia-smi。您可以创建一个新的张量,并重用该内存。

来源

https://discuss.pytorch.org/t/how-to-delete-pytorch-objects-correctly-from-memory/947 

https://discuss.pytorch.org/t/about-torch-cuda-empty-cache/34232


查看完整回答
反对 回复 2022-01-18
  • 1 回答
  • 0 关注
  • 327 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信