pytorch - PyTorch 无法检测 CUDA
问题描述
我在 PyTorch 上运行 CNN。torch.cuda.is_available() 函数返回 false 并且未检测到 GPU。但是,我可以使用 GPU 运行 Keras 模型。这是我的系统信息:
- 操作系统:Ubuntu 18.04.3
- Python 3.7.3(康达)
- 显卡:GTX1080Ti
- 英伟达驱动:430.50
当我检查 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 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。)
推荐阅读
- mysql - 检查条件时出现 SQL CASE 语句错误
- amazon-dynamodb - 在 Dynamodb 中获取聚合计数
- php - 通过“X-Powered-By”缺少反 CSRF 令牌和服务器泄漏信息:如何设置?
- google-cloud-platform - Terraform:“创建防火墙时出错:googleapi:错误 403:需要‘compute.firewalls.create’”
- java - 在 Java 方法中声明的任何内容都是本地的(某些特殊情况除外),对吗?
- windows - 在 Windows Powershell 中创建别名
- css - React NavLink:添加到内部标签的边距不可点击
- azure - 通过 Internet 从 AKS 专用集群访问 Pod
- image - U Net中keras中的多尺度分割掩码输出
- deep-learning - 下列关于 Softmax 函数的选项中哪些是正确的?