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 已被另一个进程占用。检查这个的步骤是:

  1. 在终端中使用nvidia-smi。这将检查您的 GPU 安装驱动程序和 GPUS 的负载。如果失败,或者没有显示您的 gpu,请检查您的驱动程序安装。
  2. 如果 GPU 显示 >0% GPU 内存使用率,这意味着它已被另一个进程使用。您可以关闭它(不要在共享环境中这样做!)或在另一个 GPU 中启动它,如果您有另一个空闲的话。