【问题标题】:PyTorch can't see GPU (torch.cuda.is_availble() returns False)PyTorch 看不到 GPU(torch.cuda.is_availble() 返回 False)
【发布时间】:2020-10-24 22:48:01
【问题描述】:

我有一个问题

import torch
print(torch.cuda_is_available())

将打印 False,我无法使用可用的 GPU。我已经在conda 环境中尝试过,我已经安装了与我拥有的 NVIDIA 驱动程序相对应的 PyTorch 版本。我也在 docker 容器中尝试过,我也做过同样的事情。我已经在远程服务器上尝试了这两个选项,但都失败了。我知道我已经安装了正确的驱动程序版本,因为我在安装 PyTorch 之前使用nvcc --version 检查了版本,并且我使用nvidia-smi 检查了 GPU 连接,它正确显示了机器上的 GPU。

另外,我检查了this 的帖子并尝试导出CUDA_VISIBLE_DEVICES,但没有成功。

在服务器上,我在我构建的 docker 容器上安装了 CUDA 版本 10.0(用于 conda 环境)和版本 10.2 的 NVIDIA V100 GPU。任何帮助或朝着正确的方向推动将不胜感激。谢谢!

【问题讨论】:

  • 您尝试使用哪个版本的 PyTorch?你的nvidia-smi 输出是什么?
  • @Berriel nvidia-smi 输出太长,这里不写。它基本上是 8 个 NVIDIA V100 GPU,从 #0 到 #7。我认为您会在其他nvidia-smi 输出上看到的正常内容。对于带有 CUDA 10.0 的 conda 环境,它说 torch.__version__1.4.0,对于带有 CUDA 10.2 的 docker 容器,它说 torch.__version__1.5.0a0+8f84ded... 我假设那是 1.5.0
  • nvidia-smi 的相关部分基本上是标题 :) nvidia 驱动程序版本。如果驱动程序兼容,它应该可以工作。顺便说一句,docker 的 cuda 版本或您的系统有点无关紧要,因为 PyTorch 是通过自己的 cuda 交付的。
  • @Berriel 他们都说驱动程序版本 410.129 和 CUDA 版本 10.0。只是出于好奇,如果我的 CUDA 版本无关紧要,当我从pytorch.org 之类的地方获取下载链接时,为什么我必须选择我正在使用的 CUDA 版本?
  • 是的 10.2 不适用于该驱动程序版本,但您的 conda env 应该可以工作。尝试为 9.2 安装 PyTorch,以防万一。考虑要求 sudo 用户(如果您不是)也更新驱动程序。这些 V100 可以从更新的 cuda 版本中受益。

标签: pytorch gpu nvidia


【解决方案1】:

对于遇到此问题的其他人,原来我的服务器管理员没有更新服务器的驱动程序。

我切换到另一台服务器,安装了 anaconda,一切开始正常运行,即,torch.cuda.is_available() 在设置新环境后返回 True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多