如何在 Pytorch CUDA 中释放 GPU 内存

问题描述 投票:0回答:2

我正在为我的深度学习项目使用 Colab 和 Pytorch CUDA,并面临无法释放 GPU 的问题。我在这里阅读了一些相关帖子,但它们无法解决我的问题。请指导我如何释放 GPU 内存。 提前谢谢你

deep-learning pytorch gpu google-colaboratory
2个回答
1
投票

试试这个:

torch.cuda.empty_cache()

或者这个:

with torch.no_grad():
    torch.cuda.empty_cache()

0
投票

这段代码可以做到这一点。 GPU 的索引为 [0,1,...],因此如果您只有一个,则 gpu_index 为 0。请注意,这会通过终止底层的 tensorflow 会话来清除 GPU,即。您的模型、数据等将从 GPU 中清除,但它不会在您的 Colab/Jupyter 会话中重置内核。因为它会清除会话,所以您不能在运行期间使用此during来清除内存。

from numba import cuda 

def clear_GPU(gpu_index):
    cuda.select_device(gpu_index) 
    cuda.close()

安装 numba(“pip install numba”)……我上次尝试 conda 时遇到问题,所以请使用 pip。这是一个方便的 b/c numba 开发人员不厌其烦地正确执行一些低级 CUDA 方法,所以我想如果你有时间你也可以这样做。

© www.soinside.com 2019 - 2024. All rights reserved.