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


Posted in Python onFebruary 06, 2021

一直用的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版本改掉。也可以科学上网,直接从官网安装。

Python 相关文章推荐
Python中使用partial改变方法默认参数实例
Apr 28 Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 Python
Python闭包之返回函数的函数用法示例
Jan 27 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
django自带的server 让外网主机访问方法
May 14 Python
简单谈谈python基本数据类型
Sep 26 Python
Python 单元测试(unittest)的使用小结
Nov 14 Python
python使用正则来处理各种匹配问题
Dec 22 Python
Python TCPServer 多线程多客户端通信的实现
Dec 31 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 Python
浅谈Python协程asyncio
Jun 20 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 Python
python反扒机制的5种解决方法
Feb 06 #Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 #Python
解决pytorch下出现multi-target not supported at的一种可能原因
Feb 06 #Python
pytorch下的unsqueeze和squeeze的用法说明
Feb 06 #Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 #Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 #Python
Python第三方库安装缓慢的解决方法
Feb 06 #Python
You might like
PHP中一个控制字符串输出的函数
2006/10/09 PHP
php session处理的定制
2009/03/16 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
javascript操作cookie
2017/01/17 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
详解Python如何获取列表(List)的中位数
2016/08/12 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python绘制条形图方法代码详解
2017/12/19 Python
python模拟表单提交登录图书馆
2018/04/27 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
Python递归实现打印多重列表代码
2020/02/27 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python 创建守护进程的示例
2020/09/29 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
毕业感言怎么写
2015/07/31 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers