【PyTorch】解决PyTorch安装中torch.cuda.is_available()返回False的问题

最近在安装PyTorch时遇到torch.cuda.is_available() = False的问题,特此记录下解决方法,以帮助其他遇到相同问题的人。

问题描述

Ubuntu 20.04,3060 Laptop,安装了CUDA 11.4,在Anaconda下新建了Python 3.8的环境,并且使用pytorch官网https://pytorch.org/get-started/previous-versions/,提供的如下安装指令

bash 复制代码
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

安装适合11.3的版本是因为CUDA 11.4版本似乎比较特殊,官网并未提供适用于11.4的pytorch,经网上查询得知可以兼容11.3的。

然而,在虚拟环境中import torch之后使用torch.cuda.is_available()检查CUDA是否可用时,返回False。尽管电脑有GPU(执行nvidia-smi能够打印GPU信息),但无法利用其加速功能,非常无语。

以下是检查的步骤:

1. 确认PyTorch安装方式:

首先,需要确认PyTorch是以CPU版本还是GPU版本安装的。在自己创建的虚拟环境中,运行conda list命令查看已安装的PyTorch版本。如果发现安装的是CPU版本,需要将其卸载并重新安装GPU版本。

注意一个非常坑的地方:
用conda install安装的pytorch都是CPU版本的!!!

应该用pip install来安装

2. 卸载并且重新安装PyTorch:

如果发现安装的是CPU版本,需要卸载并重新安装PyTorch。强烈建议使用PIP安装方式,而不是通过conda安装。

进入虚拟环境,使用conda remove命令卸载PyTorch及相关包。例如:

bash 复制代码
conda remove pytorch torchvision torchaudio cudatoolkit

这将会卸载当前环境中安装的PyTorch、torchvision、torchaudio和cudatoolkit等包。

我换了另外一个版本安装

bash 复制代码
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

3. 检查版本匹配性:

如果安装了GPU版本的PyTorch,但仍然遇到torch.cuda.is_available()返回False的问题,可能是版本不匹配导致的。请确保安装的PyTorch版本与CUDA版本相匹配,避免版本不一致导致的兼容性问题。

相关推荐
Shockang5 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang5 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab7 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源