完美解决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测试驱动开发实例
Oct 08 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
Python如何实现强制数据类型转换
Nov 22 Python
python的faker库用法
Nov 28 Python
Python zip函数打包元素实例解析
Dec 11 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
Python ADF 单位根检验 如何查看结果的实现
Jun 03 Python
scrapy头部修改的方法详解
Dec 06 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中$_SERVER的详细参数与说明
2008/07/29 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
javascript验证身份证号
2015/03/03 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
概述BootStrap中role="form"及role作用角色
2016/12/08 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
python交互式图形编程实例(一)
2017/11/17 Python
Django rest framework实现分页的示例
2018/05/24 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
临床医学应届生求职信
2013/11/06 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
工会文体活动总结
2015/05/07 职场文书
早上好问候语大全
2015/11/10 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库