脚本专栏 
首页 > 脚本专栏 > 浏览文章

完美解决torch.cuda.is_available()一直返回False的玄学方法

(编辑:jimmy 日期: 2025/2/25 浏览:3 次 )

一直用的TensorFlow(keras)来完成一些工作,因许多论文中的模型用pytorch来实现,代码看不懂实在是不太应该。正好趁此假期,疫情原因无法出去浪,在家学一下pytorch。

游戏用笔记本自带GeForce 1050显卡,可用GPU,想着不用白不用,先装一个GPU版本再说。但是我按照网上的所有方法,torch.cuda.is_available()总是返回False。有轻微强迫症的我,不解决掉是睡不好的。

首先说一下我所做的工作顺序。说不定能有参考。(系统:WIN10)

1.安装CUDA

此处有其他大量且优质的帖,故不在此详述。我自己的机器支持CUDA10.2,但是我安装的是CUDA10,按理说应该版本是向下支持的。安装正确在cmd中敲nvcc -V能显示即可。

完美解决torch.cuda.is_available()一直返回False的玄学方法

NVIDIA-smi命令截图如下。感觉是没什么问题的,驱动版本也挺高。

完美解决torch.cuda.is_available()一直返回False的玄学方法

2.安装对应版本的pytorch

首先想到的肯定是官网安装。conda+重新开放的清华源=神速。此处是我自己的一个大坑。

完美解决torch.cuda.is_available()一直返回False的玄学方法

3.安装cudnn等

同样,有大量帖子教学。我是在一直失败,走投无路,抱着安装一下试试的想法,结果并无卵用。

玄学解决

网上的攻略说产生此类问题的主要原因在于驱动安装的不正确。但我自己的情况并不符合。

在搜了大量的帖子无果后。偶然发现,使用官网conda命令下载的,居然全是CPU版本。

完美解决torch.cuda.is_available()一直返回False的玄学方法

无论我怎么尝试使用conda下载任何版本,都是cpu版本的。可能是清华源的问题??

既然conda无法用,那就用pip。官网的pip命令,不知道是不是我的问题,就算使用各种源,速度也超级慢,还会中断,700M+硬是下不下来。无奈使用本地下载方法。

在此处寻找符合自己版本的pytorch-cuda版本,torchvision版本下载。

https://download.pytorch.org/whl/torch_stable.html

(速度同样极慢!但是不会断了。。。。勉强能下)

下载后pip install xxx(下载下来的文件名) 安装即可。

完美解决torch.cuda.is_available()一直返回False的玄学方法

接下来就见证奇迹了。但是奇迹是怎么发生的,conda为什么只能下cpu版本,我一直没有搞明白。

补充:记录下pytorch安装中一个比较隐蔽的坑,torch.cuda.is_available()返回false的一个原因

如题,想要安装GPU版,一开始从网上找了教程,显卡驱动、CUDA、cuDNN挨个更新安装,都选择了10.1版本,安装完后在anaconda中按照官网提示输入下面的代码,可以看到cudatoolkit即GPU版

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

然后发现基本上大一点的包都下载不下来,包括pytorch、cudatoolkit等等,遂又从网上找教程,加清华源,加了几个之后下载很快,下载下来也可以用,以为已经成功了,但是torch.cuda.is_available()返回就是False。

最开始以为是开始安装的版本不匹配,然后又尝试了10.2版本的CUDA,结果还是一模一样,最后输入conda list后终于发现了问题所在:

完美解决torch.cuda.is_available()一直返回False的玄学方法

可以看到第三列版本号前面的cpu,后来上清华源的网站上看了下,可能是清华源没有对应cuda版本的pytorch,所以会装cpu版的。

目前的解决方法有两个,可以去清华源网站上找对应的版本,https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/,安装输入命令行时将cuda版本改掉。也可以科学上网,直接从官网安装。

上一篇:解决import tensorflow导致jupyter内核死亡的问题
下一篇:python反扒机制的5种解决方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?