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

如何使torch.cuda.is_available()返回True?附系统环境信息

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

先梳理下你的环境信息:

系统与PyTorch环境:

$ python
Python 3.6.7 | packaged by conda-forge | (default, Nov 6 2019, 16:19:42) [GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.version.cuda
'8.0.61'
>>> torch.cuda.is_available()
False
>>> torch.backends.cudnn.enabled
True
>>> torch.__version__
'1.0.0.dev20190328'

系统与CUDA硬件信息:

$ uname -a
Linux goku.bu.edu 3.10.0-1127.18.2.el7.x86_64 #1 SMP Sun Jul 26 15:27:06 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.8.2003 (Core)
Release: 7.8.2003
Codename: Core
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
$ cat /usr/local/cuda/version.txt
CUDA Version 10.0.130
$ nvidia-smi
Sat Sep 19 00:04:00 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:05:00.0 Off |                  N/A |
|  0%   24C    P8    12W / 250W |     55MiB / 11178MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:06:00.0 Off |                  N/A |
|  0%   27C    P8    12W / 250W |      2MiB / 11178MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2637      G   /usr/bin/X                         39MiB |
|    0   N/A  N/A      2903      G   /usr/bin/gnome-shell                12MiB |
+-----------------------------------------------------------------------------+

GPU硬件详情:

$ lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}
05:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: eVga.com. Corp. Device 6598
        Flags: bus master, fast devsel, latency 0, IRQ 88, NUMA node 0
        Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at d0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at e000 [size=128]
        [virtual] Expansion ROM at fb000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
06:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: eVga.com. Corp. Device 6598
        Flags: bus master, fast devsel, latency 0, IRQ 89, NUMA node 0
        Memory at f8000000 (32-bit, non-prefetchable) [size=16M]
        Memory at a0000000 (64-bit, prefetchable) [size=256M]
        Memory at b0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at d000 [size=128]
        [virtual] Expansion ROM at f9000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia

问题根源

你当前安装的PyTorch(1.0.0.dev20190328)是基于CUDA 8.0编译的,但系统实际部署的是CUDA 10.0,版本不匹配导致PyTorch无法识别系统中的CUDA环境,所以torch.cuda.is_available()返回False。不过你的显卡驱动(450.51.06)支持到CUDA 11.0,完全向下兼容CUDA 10.0,不需要更新驱动。

解决方案

1. 卸载当前不兼容的PyTorch

根据你当初的安装方式选择命令:

  • 若用pip安装:
    pip uninstall torch -y
    
  • 若用conda安装:
    conda uninstall torch -y
    

2. 安装匹配CUDA 10.0的PyTorch版本

你的Python是3.6,推荐安装PyTorch 1.4.0(完美兼容CUDA 10.0和Python3.6):

  • pip安装方式:
    pip install torch==1.4.0+cu100 torchvision==0.5.0+cu100 -f https://download.pytorch.org/whl/torch_stable.html
    
  • conda安装方式:
    conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.0 -c pytorch
    

3. 配置CUDA环境变量(可选但推荐)

确保系统能正确识别CUDA 10.0的工具和库,将以下内容添加到~/.bashrc或~/.bash_profile末尾:

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

执行source ~/.bashrc使配置立即生效。

4. 验证安装结果

重新打开Python终端,运行以下代码:

import torch
print("CUDA是否可用:", torch.cuda.is_available())
print("PyTorch绑定的CUDA版本:", torch.version.cuda)
print("可用GPU数量:", torch.cuda.device_count())

正常情况下,torch.cuda.is_available()会返回True,且torch.version.cuda显示10.0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 12:32:38