首页 > 解决方案 > PyTorch 无法检测 CUDA

问题描述

我在 PyTorch 上运行 CNN。torch.cuda.is_available() 函数返回 false 并且未检测到 GPU。但是,我可以使用 GPU 运行 Keras 模型。这是我的系统信息:

当我检查 nvidia-smi 时,输出说 CUDA 版本是 10.1。但是, nvcc -V 命令告诉我它是 CUDA 9.1。

我从官网下载了 NVIDIA-Linux-x86_64-430.50.run 并用命令行安装。我使用官方网站推荐的以下命令行安装了 CUDA 10.1:

wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_10.1.243_418.87.00_linux.run

我通过 pip install 安装了 PyTorch。怎么了?提前致谢!

标签: pytorch

解决方案


默认的 Pytorch 1.2 包依赖于 CUDA 10.0,但你有 CUDA 9.1。的输出nvidia-smi只是告诉你你的 GPU 支持的最大 CUDA 版本,nvcc给出了你系统上安装的 CUDA。您的 CUDA 10.1 安装似乎不成功。

除了 CUDA 10.0,Pytorch 还支持 CUDA 9.2,我发现为 CUDA 10.0 编译的 Pytorch 包也适用于 CUDA 10.1。因此,您可以将您的 CUDA 安装升级到 9.2 并安装 Pytorch CUDA 9.2 包

pip3 install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html

或者获得 CUDA 10.1 的有效安装。这里有详细的 Linux 说明(请注意,在安装新的之前,您可能必须删除以前安装的 CUDA。)


推荐阅读