Docker torch.cuda.U可用返回False,nvidia smi不工作

Docker torch.cuda.U可用返回False,nvidia smi不工作,docker,gpu,nvidia,torch,Docker,Gpu,Nvidia,Torch,我正在尝试构建一个可以使用GPU运行的docker映像,这是我的情况: 我有Python3.6,我从映像nvidia/cuda开始:10.0-cudnn7-devel。 火炬没有看到我的GPU nvidia smi也不工作,返回错误: > Failed to initialize NVML: Unknown Error > The command '/bin/sh -c nvidia-smi' returned a non-zero code: 255 我用安装了nvidia工具

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

我有Python3.6,我从映像nvidia/cuda开始:10.0-cudnn7-devel。 火炬没有看到我的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(运行nvidia smi)。在构建过程中,任何与GPU可用性相关的检查都不起作用

使用CMD bin/bash并键入命令
python3-c'import torch;打印(torch.cuda.is_available())“
,我终于实现了。 我还删除了

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

正如@RobertCrovella所建议的,我发现问题是在构建过程中不能使用nvidia smi(运行nvidia smi)。在构建过程中,任何与GPU可用性相关的检查都不起作用

使用CMD bin/bash并键入命令
python3-c'import torch;打印(torch.cuda.is_available())“
,我终于实现了。 我还删除了

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

正如@RobertCrovella所建议的那样,如果nvidia smi失败,则驱动程序安装已中断,或者docker容器中的驱动程序实用程序版本与主机系统驱动程序版本不匹配。你的问题都不是与CUDA编程相关的问题,我将很快从这两个问题中删除CUDA标记。另外,第一个问题是否应该作为此问题的副本结束?如果您从image
nvidia/cuda:10.0-cudnn7-devel
开始,则不需要安装
nvidia-cuda工具包
,也绝对没有理由安装
nvidia-utils-410
。第二次安装打破了形象。相反,您应该从所需的
nvidia/cuda
映像开始(例如,您想要使用的cuda版本和CUDNN版本),并且不要安装与GPU驱动程序组件有关的任何东西,这正是
-410
所指出的。取而代之的是,确保您的基础机器安装了最新的GPUdriver@RobertCrovella我安装这些是因为以前我没有
nvidia-smi
返回“/bin/sh:1:nvidia-smi:notfound”。NVIDIA容器工具包安装在基本机器中(例如,代码> DOCKER运行——GPU所有NVIDIA/CUDA:10- 0 NVIDIA SMI < /COD>很好地工作)。如果英伟达SMI失败,您的驱动程序安装被破坏,或者DoCKER容器内的驱动程序实用程序版本与主机系统驱动程序版本不匹配。你的问题都不是与CUDA编程相关的问题,我将很快从这两个问题中删除CUDA标记。另外,第一个问题是否应该作为此问题的副本结束?如果您从image
nvidia/cuda:10.0-cudnn7-devel
开始,则不需要安装
nvidia-cuda工具包
,也绝对没有理由安装
nvidia-utils-410
。第二次安装打破了形象。相反,您应该从所需的
nvidia/cuda
映像开始(例如,您想要使用的cuda版本和CUDNN版本),并且不要安装与GPU驱动程序组件有关的任何东西,这正是
-410
所指出的。取而代之的是,确保您的基础机器安装了最新的GPUdriver@RobertCrovella我安装这些是因为以前我没有
nvidia-smi
返回“/bin/sh:1:nvidia-smi:notfound”。英伟达容器工具包安装在基本机器中(例如:代码> DOCKER运行——GPU所有NVIDIA/CUDA:10 0基数Nvidia SMI < /代码>工作良好)。