完美解决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 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
Python书单 不将就
Jul 11 Python
python opencv之SURF算法示例
Feb 24 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
Jul 01 Python
python中np是做什么的
Jul 21 Python
通俗易懂了解Python装饰器原理
Sep 17 Python
微信小程序调用python模型
Apr 21 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 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 日期时间函数的高级应用技巧
2009/10/10 PHP
php实现文件下载实例分享
2014/06/02 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
js实现登录验证码
2016/12/22 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
简单了解什么是神经网络
2017/12/23 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python列表切片操作实例总结
2019/02/19 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
中秋节超市促销方案
2014/01/30 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
javascript实现计算器功能详解流程
2021/11/01 Javascript