假设我创建了一个张量并将其放在 GPU 上并且以后不需要它并且想要释放分配给它的 GPU 内存;我该怎么做?
import torch
a=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.
Run Code Online (Sandbox Code Playgroud)
我试过了:
del a del a; torch.cuda.empty_cache()但它们都不起作用。
运行会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
| 归档时间: |
|
| 查看次数: |
6073 次 |
| 最近记录: |