【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版本相匹配,避免版本不一致导致的兼容性问题。

相关推荐
Zzz 小生2 分钟前
编程基础学习(一)-Python基础语法+数据结构+面向对象全解析
开发语言·python
white-persist3 分钟前
JWT 漏洞全解析:从原理到实战
前端·网络·python·安全·web安全·网络安全·系统安全
搞科研的小刘选手21 分钟前
【早稻田大学主办】2026年第三届人工智能与未来教育国际学术会议(AIFE 2026)
人工智能·机器学习·数据挖掘·机器人·未来教育·远程教育·移动学习
数据与人工智能律师29 分钟前
解码Web3:DeFi、GameFi、SocialFi的法律风险警示与合规路径
大数据·网络·人工智能·云计算·区块链
Best_Me0731 分钟前
理解AUROC,AP,F1-scroe,PRO
人工智能·机器学习
IT_陈寒33 分钟前
React 性能优化:5个实战技巧让首屏加载提升50%,开发者亲测有效!
前端·人工智能·后端
久未39 分钟前
Pytorch autoload机制自动加载树外扩展(Autoload Device Extension)
人工智能·pytorch·python
Apifox.41 分钟前
如何在 Apifox 中通过 AI 一键生成几十个测试用例?
人工智能·程序人生·ai·测试用例·ai编程
java1234_小锋1 小时前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 使用Keras.Model来定义模型
python·深度学习·tensorflow·tensorflow2
Learn Beyond Limits1 小时前
TensorFlow Implementation of Content-Based Filtering|基于内容过滤的TensorFlow实现
人工智能·python·深度学习·机器学习·ai·tensorflow·吴恩达