假设我创建了一个张量并将其放在 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
添加回答
举报
0/150
提交
取消