torch.cuda.is_available函数总返回False

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

在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。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年3月7日 下午11:04
下一篇 2023年3月7日 下午11:06

相关推荐