【问题标题】:torch.cuda.is_avaiable returns False with nvidia-smi not workingtorch.cuda.is_avaiable 在 nvidia-smi 不工作的情况下返回 False
【发布时间】:2020-11-29 04:01:19
【问题描述】:

我正在尝试构建一个可以使用 GPUS 运行的 docker 映像,这是我的情况:

我有 python 3.6,我从图像 nvidia/cuda:10.0-cudnn7-devel 开始。 Torch 看不到我的 GPU。

nvidia-smi 也不工作,返回错误:

> Failed to initialize NVML: Unknown Error
> The command '/bin/sh -c nvidia-smi' returned a non-zero code: 255

我安装了 nvidia 工具包和 nvidia-smi

 RUN apt install nvidia-cuda-toolkit -y
 RUN apt-get install nvidia-utils-410 -y

【问题讨论】:

  • 如果 nvidia-smi 失败,您的驱动程序安装已损坏,或者 docker 容器内的驱动程序实用程序版本与主机系统驱动程序版本不匹配。您的两个问题都不是与 CUDA 编程相关的问题,我很快就会从两者中删除 CUDA 标签。另外,第一个问题是否应该作为此问题的副本关闭?
  • 如果您从图像nvidia/cuda:10.0-cudnn7-devel 开始,则不需要安装nvidia-cuda-toolkit,绝对没有理由安装nvidia-utils-410。第二次安装破坏了图像。相反,您应该从您想要的nvidia/cuda 映像开始(例如您想要使用的 CUDA 版本和 CUDNN 版本),并且不要安装任何与 GPU 驱动程序组件有关的东西,这就是 -410 所表示的.相反,请确保您的基础机器设置了 the NVIDIA container toolkit 和最新的 GPU 驱动程序
  • @RobertCrovella 我安装了这些,因为之前我没有 nvidia-smi 返回“/bin/sh: 1: nvidia-smi: not found”。 nvidia 容器工具包安装在基础机器中(例如 docker run --gpus all nvidia/cuda:10.0-base nvidia-smi 工作得很好)。

标签: docker gpu nvidia torch


【解决方案1】:

我发现问题是在构建过程中不能使用 nvidia-smi (RUN nvidia-smi)。在构建期间任何与 GPU 可用性相关的检查都将不起作用。

使用 CMD bin/bash 并输入命令python3 -c 'import torch; print(torch.cuda.is_avaiable())',我终于得到了 True。 我也删除了

RUN apt install nvidia-cuda-toolkit -y
RUN apt-get install nvidia-utils-410 -y

根据@RobertCrovella 的建议

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 1970-01-01
    • 2017-10-28
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多