完美解决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的类方法和静态方法
Dec 13 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
Jun 16 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
python识别图像并提取文字的实现方法
Jun 28 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 Python
matplotlib相关系统目录获取方式小结
Feb 03 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入门之连接mysql数据库的一个类
2012/04/21 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
Django日志及中间件模块应用案例
2020/09/10 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
学习十八大精神心得体会
2013/12/31 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
年度考核表个人总结
2015/03/06 职场文书
中国合伙人观后感
2015/06/02 职场文书
培训感想范文
2015/08/07 职场文书
SQL Server中搜索特定的对象
2022/05/25 SQL Server