【问题标题】:How to fix PyTorch RuntimeError: CUDA error: out of memory?如何修复 PyTorch RuntimeError:CUDA 错误:内存不足?
【发布时间】:2021-09-17 03:33:13
【问题描述】:

我正在尝试使用 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 吗?
  • 可以在终端/bash中使用nvidia-smi这个命令吗?如果可行,您可以将此信息添加到帖子中吗?
  • @JorgeVerdeguerGómez 谢谢,我只是将输出添加到帖子中
  • 好像某个进程正在使用第一个 GPU,您可以尝试使用 print(torch.rand(1, device="cuda:1")) 代替吗?
  • @JorgeVerdeguerGómez 是的,它有效!谢谢!!

标签: python pytorch runtime-error gpu


【解决方案1】:

这里的问题是您尝试使用的 GPU 已被另一个进程占用。检查的步骤是:

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

【讨论】:

    猜你喜欢
    • 2022-07-15
    • 2022-01-12
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2016-02-02
    • 2022-11-06
    • 2021-10-07
    • 2019-04-18
    相关资源
    最近更新 更多