`torch.cuda.is_available()` 在使用 GTX 1070 移动设备的 Ubuntu 上返回 false

问题描述 投票:0回答:1

我正在尝试设置我的笔记本电脑以在 Anaconda 环境中运行支持 CUDA 的 Pytorch。但是,当我安装 pytorch 和 cudatoolkit 并在 ipynb 笔记本单元上运行

torch.cuda.is_available()
时,返回的值为 False。

我的系统信息是:

  • GPU:GTX 1070 Max-Q
  • 操作系统:Ubuntu 22.04.3 LTS
  • 图形驱动程序:535.129.03
  • Python版本:3.11.5
  • 我的
    nvidia-smi
    输出:
+------------------------------------------------ ---------------------------------------+
| NVIDIA-SMI 535.129.03 驱动程序版本:535.129.03 CUDA 版本:12.2 |
|------------------------------------------+----- ---------------+--------------------+
| GPU 名称持久性-M |总线 ID Disp.A |挥发性未校正。 ECC |
|风扇温度性能功率:使用/上限 |内存使用情况 | GPU-Util 计算 M。
| | |米格·M。
|============================================+======== ==============+======================|
| 0 NVIDIA GeForce GTX 1070 ...关闭| 00000000:01:00.0 关闭 |不适用 |
|不适用 39C P8 8W / 90W | 6MiB / 8192MiB | 0% 默认 |
| | |不适用 |
+----------------------------------------------------+----- ---------------+--------------------+
                                                                                         
+------------------------------------------------ --------------------------------------+
|流程:|
| GPU GI CI PID 类型 进程名称 GPU 内存 |
| ID ID 用途 |
|=================================================== ========================================|
| 0 不适用 不适用 1979 G /usr/lib/xorg/Xorg 4MiB |
+------------------------------------------------ --------------------------------------+

这是我迄今为止尝试过的: 尝试使用这些不同的命令安装 pytorch 后,

torch.cuda.is_available()
的输出仍然为 False(每个命令都在使用
conda create --name env_name python=3.11
创建的不同环境中):

  • conda install pytorch cudatoolkit -c pytorch
  • conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
  • pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    来自 CUDA 11.8 的 pytorch 文档
  • pip3 install torch torchvision torchaudio
    也来自 CUDA 12.1 的 pytorch 文档。

这些都没有返回

torch.cuda.is_available()
为 True,我很难理解是否是不同版本、我的 GPU 支持的 CUDA 版本的问题,或者问题是否是我正在尝试的 Pytorch 版本安装。

Nvidia CUDA 发行说明和我的

nvidia-smi
输出,我明白我应该能够运行 CUDA 12.1 或 11.8,但也许我的理解是错误的。

我将不胜感激任何支持,谢谢!

python ubuntu pytorch anaconda
1个回答
0
投票

这意味着 python

torch
库无法找到匹配的
cuda
安装。如果您要安装最新版本的
torch
,那么您不再需要单独安装
cuda
,有 pip 软件包可以为您完成此操作。

该过程是转到 https://pytorch.org/get-started/locally/ 并选择相关的组合,即

选择

stable
linux
conda
python
cuda 12.1

然后您会看到命令

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

您可以修改它,即如果您不需要 torchvision 和 torchaudio 则排除它们。

如果您选择不同的组合,即 pip 而不是 cuda,cuda 11 而不是 12,或 cpu,您将得到不同的命令,即

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

这样做比安装正确版本的 cuda 简单得多。但是,如果您沿着这条路径走下去(即对于旧版本的 torch),您将需要设置以下环境变量(在您的 .bashrc 文件中)

export CUDA_HOME=/usr/local/cuda
export PATH=${CUDA_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH

您还必须安装与torch版本兼容的相应版本的cuda,并确保符号链接

/usr/local/cuda
指向您需要的版本。

© www.soinside.com 2019 - 2024. All rights reserved.