完美解决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的加密模块md5、sha、crypt使用实例
Sep 28 Python
最基础的Python的socket编程入门教程
Apr 23 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
Python引用传值概念与用法实例小结
Oct 07 Python
numpy使用技巧之数组过滤实例代码
Feb 03 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
jupyter 导入csv文件方式
Apr 21 Python
Python 字典中的所有方法及用法
Jun 10 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
Python使用Pygame绘制时钟
Nov 29 Python
python des,aes,rsa加解密的实现
Jan 16 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 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获取Google AJAX Search API 数据的代码
2010/03/12 PHP
php中几种常见安全设置详解
2010/04/06 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
javascript下function声明一些小结
2007/12/28 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
分享Python字符串关键点
2015/12/13 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Django中的文件的上传的几种方式
2018/07/23 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
简述安装Slackware Linux系统的过程
2012/05/08 面试题
2013年研究生毕业感言
2014/02/06 职场文书
婚礼司仪主持词
2014/03/14 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
六查六看六改心得体会
2014/10/14 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
python执行js代码的方法
2021/05/13 Python
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技