You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu16.04下torch.cuda.is_available()返回False,求CUDA适配方案

解决torch.cuda.is_available()返回False的问题

咱们先拆解下你的环境矛盾点:

  • 系统层面的CUDA编译器(nvcc -V)是7.5版本,对应的NVIDIA驱动版本肯定偏低
  • 但Anaconda里装的是cudatoolkit 10.2和适配它的PyTorch 1.5.0

PyTorch能不能调用CUDA,核心是系统的NVIDIA驱动版本要和你安装的cudatoolkit版本兼容,你的情况是旧驱动拖了新toolkit的后腿,所以导致CUDA不可用。下面给你两个可行的解决方案,你可以根据需求选择:

方案一:升级系统CUDA驱动和Toolkit(推荐)

这个方案能保留你当前较新的PyTorch 1.5.0,后续开发体验更好。步骤如下:

1. 先查看当前驱动版本

运行命令确认你的NVIDIA驱动版本:

nvidia-smi

看输出里的Driver Version,如果是384.x或更低,那肯定不支持CUDA 10.2,必须升级。

2. 卸载旧的CUDA和驱动

先清理掉系统里的旧版本CUDA和驱动:

sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /usr/local/cuda*

3. 安装支持CUDA 10.2的驱动

添加NVIDIA官方软件源,然后安装对应驱动:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-440

(CUDA 10.2要求驱动版本≥440.33,440版本是稳定兼容的选择)

4. 安装CUDA Toolkit 10.2

下载对应Ubuntu 16.04的CUDA 10.2安装包并安装:

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-10-2

5. 配置环境变量

编辑你的~/.bashrc文件,添加以下内容:

export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH

然后让配置生效:

source ~/.bashrc

6. 验证

重新打开终端,运行nvcc -V应该显示CUDA 10.2版本,再运行Python检查:

import torch
print(torch.cuda.is_available())

此时应该返回True了。

方案二:降级PyTorch和cudatoolkit(适合不想折腾系统的情况)

如果不想动系统的CUDA 7.5,那只能降级Anaconda里的PyTorch到兼容CUDA 7.5的版本,不过这个版本会比较老:

1. 卸载当前的PyTorch和cudatoolkit

conda uninstall pytorch cudatoolkit

2. 创建兼容的conda环境(可选但推荐)

因为PyTorch 0.4.1(兼容CUDA7.5的最新版本)只支持Python 3.6及以下,如果你当前是Python3.7,建议新建环境:

conda create -n torch_legacy python=3.6
conda activate torch_legacy

3. 安装兼容版本的PyTorch

conda install pytorch=0.4.1 cuda75 -c pytorch

4. 验证

激活环境后运行Python,检查torch.cuda.is_available()是否返回True。


内容的提问来源于stack exchange,提问作者Vishnukk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 15:57:56