使用模型后如何清除GPU内存?

How to clear GPU memory after using model?

我正在尝试在使用完模型后释放 GPU 内存。

del model
torch.cuda.empty_cache() 
gc.collect()

并再次检查 GPU 内存:2361MiB / 7973MiB

有没有办法在我使用完模型后释放 GPU 内存?

发生这种情况是因为 pytorch 为快速内存分配保留了 gpu 内存。要了解更多信息,请参阅 pytorch memory management。要解决此问题,您可以使用以下代码:

from numba import cuda
cuda.select_device(your_gpu_id)
cuda.close()

但是,这有一个问题。它完全关闭了 GPU。所以,你不能在不重新启动一切的情况下开始训练。