完美解决torch.cuda.is_available()一直返回False的玄学方法
作者:凛雨时冽 时间:2023-04-05 18:17:34
一直用的TensorFlow(keras)来完成一些工作,因许多论文中的模型用pytorch来实现,代码看不懂实在是不太应该。正好趁此假期,疫情原因无法出去浪,在家学一下pytorch。
游戏用笔记本自带GeForce 1050显卡,可用GPU,想着不用白不用,先装一个GPU版本再说。但是我按照网上的所有方法,torch.cuda.is_available()总是返回False。有轻微强迫症的我,不解决掉是睡不好的。
首先说一下我所做的工作顺序。说不定能有参考。(系统:WIN10)
1.安装CUDA
此处有其他大量且优质的帖,故不在此详述。我自己的机器支持CUDA10.2,但是我安装的是CUDA10,按理说应该版本是向下支持的。安装正确在cmd中敲nvcc -V能显示即可。
NVIDIA-smi命令截图如下。感觉是没什么问题的,驱动版本也挺高。
2.安装对应版本的pytorch
首先想到的肯定是官网安装。conda+重新开放的清华源=神速。此处是我自己的一个大坑。
3.安装cudnn等
同样,有大量帖子教学。我是在一直失败,走投无路,抱着安装一下试试的想法,结果并无卵用。
玄学解决
网上的攻略说产生此类问题的主要原因在于驱动安装的不正确。但我自己的情况并不符合。
在搜了大量的帖子无果后。偶然发现,使用官网conda命令下载的,居然全是CPU版本。
无论我怎么尝试使用conda下载任何版本,都是cpu版本的。可能是清华源的问题??
既然conda无法用,那就用pip。官网的pip命令,不知道是不是我的问题,就算使用各种源,速度也超级慢,还会中断,700M+硬是下不下来。无奈使用本地下载方法。
在此处寻找符合自己版本的pytorch-cuda版本,torchvision版本下载。
https://download.pytorch.org/whl/torch_stable.html
(速度同样极慢!但是不会断了。。。。勉强能下)
下载后pip install xxx(下载下来的文件名) 安装即可。
接下来就见证奇迹了。但是奇迹是怎么发生的,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后终于发现了问题所在:
可以看到第三列版本号前面的cpu,后来上清华源的网站上看了下,可能是清华源没有对应cuda版本的pytorch,所以会装cpu版的。
目前的解决方法有两个,可以去清华源网站上找对应的版本,https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/,安装输入命令行时将cuda版本改掉。也可以科学上网,直接从官网安装。
来源:https://blog.csdn.net/dysljxjsq/article/details/104159802
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python实现简单飞机大战小游戏
![](https://img.aspxhome.com/file/2023/2/97392_0s.gif)
在golang中操作mysql数据库的实现代码
ASP中不用模板生成HTML静态页面的方法
Python中字符串的基本使用详解
![](https://img.aspxhome.com/file/2023/0/100970_0s.png)
SQL Server中的执行引擎入门 图解
浅谈web分析
![](https://img.aspxhome.com/file/UploadPic/200812/2/03-35.jpg)
jquery及原生js获取select下拉框选中的值示例
PHP判断是否微信访问的方法示例
浅谈ACCESS数据库升迁SQLSERVER注意事项
SQL中创建存储过程
![](https://img.aspxhome.com/file/2023/0/86890_0s.png)
Python asyncore socket客户端实现方法详解
![](https://img.aspxhome.com/file/2023/5/133435_0s.png)
JS异步宏队列与微队列原理区别详解
![](https://img.aspxhome.com/file/2023/7/135687_0s.png)
通用的二级菜单代码(css+javascript)
PyQt5 designer 页面点击按钮跳转页面实现
![](https://img.aspxhome.com/file/2023/0/109860_0s.png)
PHP注释语法规范与命名规范详解篇
anaconda创建、查看、激活与删除虚拟环境指令总结
![](https://img.aspxhome.com/file/2023/1/134601_0s.jpg)
Python切片操作深入详解
纯CSS圆角框
![](https://img.aspxhome.com/file/UploadPic/200912/11/1-11s.png)
Python 函数编编程的三大法宝map+filter+reduce分享
linux下安装python3和对应的pip环境教程详解
![](https://img.aspxhome.com/file/2023/7/95787_0s.png)