torch.cuda.is_available函数总返回False

当torch.cuda.is_available()返回False时,通常是因为CUDA版本与PyTorch不匹配或驱动过时。检查CUDA版本,按照PyTorch官网推荐安装对应版本的PyTorch,并确保安装最新驱动。如果问题依然存在,卸载现有PyTorch,再重新安装可解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、问题描述(使用网上两种解决方法仍不能解决)

在import pytorch后,使用以下函数:

torch.cuda.is_available()

这个函数返回True即为使用了cuda,但是我这里总是返回False。

1. 网上总结的方法一:根据自己cuda版本按照官网提供的安装命令安装pytorch

如果函数返回False,一般是pytorch及其组件与cuda版本不对应导致的,这个可以查看pytorch的官网(https://pytorch.org/get-started/locally/),官网给出了不同cuda版本下安装pytorch的命令,直接复制命令安装对应版本pytorch即可。
在这里插入图片描述
cuda版本查看可以通过在命令行使用以下命令查看:

nvcc -V

结果如下图,可以看到我这台电脑使用的cuda是11.3版本的。
在这里插入图片描述
于是我按照网上的方法,按照我的cuda版本11.3使用了对应的安装命令:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

然后再使用torch.cuda.is_available()函数,还是返回False

2. 网上总结的方法二:去NVIDIA官网安装最新驱动

我去了NVIDIA官网(https://www.nvidia.cn/geforce/drivers/)根据自己的显卡版本,下载了最新的驱动,驱动版本已更新到511.79:
在这里插入图片描述
然后再使用torch.cuda.is_available()函数,仍然返回False


二、问题分析

我用以下命令检查了一下当前环境的安装包:

conda list

发现在列表中有一个cpu版本的pytorch包(问题已解决没来得及截图)。我认为可能是这个包的存在所以导致pytorch一直是使用cpu版本的。
所以我使用以下命令卸载了pytorch:

conda uninstall pytorch

然后我再根据pytorch官网上的提供的命令,安装了cuda11.3对应的pytorch。然后再使用torch.cuda.is_available()函数,终于返回True了啊啊啊啊啊啊啊啊。
在这里插入图片描述
所以可能是我先前安装pytorch时没有使用官网建议的命令,然后重新使用官网提供的命令安装时又没有把原先安装的pytorch卸载,所以导致后来安装的pytorch可能版本正确了但默认使用cpu版本的pytorch。


三、解决方法

如果在确认了已使用pytorch官网建议的安装命令安装pytorch了,并且显卡驱动是官网上最新的驱动了,但torch.cuda.is_available函数仍然返回False,那么可以尝试将已安装的pytorch卸载干净,卸载命令:

conda uninstall pytorch

然后再根据官网提供的命令安装对应版本的pytorch。

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值