How to fix PyTorch RuntimeError: CUDA error: out of memory?
How to fix PyTorch RuntimeError: CUDA error: out of memory?
我正在尝试使用 GPU 在远程服务器上训练我的 Pytorch 模型。但是,训练阶段没有开始,而是出现以下错误:RuntimeError: CUDA error: out of memory
我用 Cuda 11 重新安装了 Pytorch,以防我的 Cuda 版本与我使用的 GPU (NVidia GeForce RTX 3080) 不兼容。还是不行。
我也运行这个命令torch.cuda.empty_cache()
。而且还是不行。
当我在解释器中 运行 下面的代码时,它仍然显示 RuntimeError: CUDA error: out of memory
import torch
print(torch.rand(1, device="cuda"))
但是,它适用于 cpu。
import torch
print(torch.rand(1, device="cpu"))
当我 运行 命令 nvidia-smi
我有以下输出:
我该如何解决?
这里的问题是您尝试使用的 GPU 已被另一个进程占用。检查这个的步骤是:
- 在终端中使用
nvidia-smi
。这将检查您的 GPU
安装驱动程序和 GPUS 的负载。如果失败,或者没有显示您的 gpu,请检查您的驱动程序安装。
- 如果 GPU 显示 >0% GPU 内存使用率,这意味着它已被另一个进程使用。您可以关闭它(不要在共享环境中这样做!)或在另一个 GPU 中启动它,如果您有另一个空闲的话。
我正在尝试使用 GPU 在远程服务器上训练我的 Pytorch 模型。但是,训练阶段没有开始,而是出现以下错误:RuntimeError: CUDA error: out of memory
我用 Cuda 11 重新安装了 Pytorch,以防我的 Cuda 版本与我使用的 GPU (NVidia GeForce RTX 3080) 不兼容。还是不行。
我也运行这个命令torch.cuda.empty_cache()
。而且还是不行。
当我在解释器中 运行 下面的代码时,它仍然显示 RuntimeError: CUDA error: out of memory
import torch
print(torch.rand(1, device="cuda"))
但是,它适用于 cpu。
import torch
print(torch.rand(1, device="cpu"))
当我 运行 命令 nvidia-smi
我有以下输出:
我该如何解决?
这里的问题是您尝试使用的 GPU 已被另一个进程占用。检查这个的步骤是:
- 在终端中使用
nvidia-smi
。这将检查您的 GPU 安装驱动程序和 GPUS 的负载。如果失败,或者没有显示您的 gpu,请检查您的驱动程序安装。 - 如果 GPU 显示 >0% GPU 内存使用率,这意味着它已被另一个进程使用。您可以关闭它(不要在共享环境中这样做!)或在另一个 GPU 中启动它,如果您有另一个空闲的话。