有没有办法在 python 中重新启动 CUDA GPU?或者释放它以便另一个脚本可以访问它?
我有时会在 python 中使用 GPU 时遇到错误,再次访问 GPU 的唯一解决方案是重新启动我的 Jupyter 笔记本。
PS:我正在使用 GPU 使用 pytorch 进行一些计算。
我得到的具体错误是:
RuntimeError: CUDA error: device-side assert triggered
我见过 https://towardsdatascience.com/cuda-error-device-side-assert-triggered-c6ae1c8fa4c3 和许多其他人讨论这个问题。我的主要问题是如何在不重新启动 Jupyter 内核的情况下继续使用 GPU 会话。
即我想捕获这个错误,我用 try/ except 执行此错误并继续,因为我正在一个接一个地训练多个模型,所以我无法重新启动来解决我的问题。
编辑重新启动内核似乎是公认的天真的解决方案,请参阅:
-https://forums.fast.ai/t/how-to-free-up-gpu-memory-in-pytorch-0-2-x/9256/2 -https://towardsdatascience.com/cuda-error-device-side-assert-triggered-c6ae1c8fa4c3,她提到“在 Kaggle 上工作?这就是为什么即使按照上述步骤,你仍然在挣扎”
GPU 可以通过
重置torch.cuda.empty_cache()
# Reset peak memory stats (optional)
torch.cuda.reset_peak_memory_stats()