前言
最近在学习数据科学相关,并且为了能应用到了深度学习,所以必须是要接触和学习下TensorFlow,那么按照了书本《精通数据科学》(今年18年6月才出版的)这本书上的安装实例,所以很放心跟着一起做了。
只不过这本书在提示到了window安装TensorFlow方面不怎么友好,而具体实践安装过程当中,也确实是令人“心旷神怡(嘴上笑嘻嘻啦~)”~~~了。
并且了,这其中还遇到了Anancona的安装以及Python提到了TensorFlow库安装的坑。
比如总是安装TensorFlow最后有几个安装包提示失败,html0.5100等几个包Failded installed 红色字体,额...这就很尴尬了。
再比如,Python 执行了 pip install tensorflow-gpu(这里要解释下,我的电脑配置是有NVIDA gtx1060显卡,所以肯定要用gpu啊,这里提示下,如果选安装执行pip install tensorflow 安装的就是cpu版,训练速度比不上了gpu的,据不完全统计,好像差了100倍吧!(惊悚脸)),所以有高配置和NVIDA显卡的小伙伴,肯定会选安装gpu版的吧。
具体python安装TensorFlow库的其中提到的问题,个人将在另一篇幅做解决提示方法,并且附上链接(如果没有,记得帮忙提醒我下~哈哈哈)。
而当python安装好了TensorFlow的库之后,Emmmmmmmm~又是出现了提示。
其中内容是:ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-toolkit。
大意就是
1.安装TensorFlow启动所需要的cudart64_90.dll 莫有
2.然后提示又必须将安装的路径添加到win10系统环境变量当中。
以上两个条件,我第一个就没有下载CUDA那就去下载吧。
Cmd命令框友好提示了下载的路径~~~(感动~┭┮﹏┭┮)
所以该文章主要集中在了win10安装了CUDA的安装上就是基于上面完成了python安装好了TensorFlow的库的情况。
安装环境
win10 64位系统
Anaconda 3.6 64位(重点!敲黑板了,在安装python之前,建议直接安装这个!自己会在写一个文档分享)
NVIDA gtx1060 +6G 显卡
Intel I5 cpu
以上其实没多大关系,但是注意一点,那就是系统要64位,安装的软件Anaconda也要64位。
安装过程失败啦然后原因分析如下(部分,大头在后面!可跳过)
安装过程当中,本来是想着了一般的软件安装不就是一步步点击下一步嘛,而这个也是初学者最愿意和最经常做的事情,只可惜,在做到了最后,然后NVIDA安装器弹窗小口,“NVIDA CUDA Failed”,一脸o((⊙﹏⊙))o懵逼!
然后第一个念头就上网查询了,然后,嗯,果然发现了,好多前辈也是出现这个情况,具体看了一下,无一例外的,都是“Visual Studio Integration”Failed了,然后整个安装过程都是Failed了。
而自己马上去查看了下,果然在小窗口最后提示报错地方,就有“Visual Studio Integration”Failed (所谓第一个坑)安装,而其他的相应组件和软件都是 “Not installed”。
所以我们有理由相信,肯定就是这个Visual Studio Integration 给卡住了所有的CUDA安装了。
只不过,就当我去https://developer.nvidia.com/cuda-downloads 去下载了(所谓二个坑)cuda 9.2之后,下载继续安装,并且根据总是提示报错的Visual Studio Integration,在cuda_9.2.88_win10.exe安装程序中,自定义安装,取消了Visual Studio Integration。
只可惜进入cmd界面,手快敲入 python,然后import tensorflow。
Duang~
不是说好了,我安装了cuda就行了吗?
额,也是受到了网上很多的文章的影响,实在是,不能说是别人在乱写,而是自己没思考好。
既然都是提示报错了,就是cuda9.0没安装好,那就安装9.0去吧!
而这里网上很多人都是直接给丢个了cuda9.2的最新安装包!(现在是2018-06-28)没有人告诉我,我就是傻傻去安装了9.2的人,重点是TensorFlow(版本1.8.0)是要匹配对应的CUDA(版本9.0)和后面要提到了cuDNN(版本7.4),以至于,我竟然还看到了,有人说既然没有cudart64_90.dll那就是强改!
(⊙o⊙)…,这么强悍的人!但是无一例外的,评论区没有人说话,更多人就是看一眼就走,没有留下什么宝贵的经验,也就有我这样的小白,被这错误折腾的,勉强死马当活马医了~肯定跪啊!
折腾到了这一步,心都是要哇凉哇凉的了。
然后继续在知识的网络中游啊游~
终于,发现了新大陆,终于看见了有人提到了必须是要让TensorFlow 和对应的cuda以及cuDNN版本才行呢!
(第二个坑就算是填上了!)
在此之前,已经是通过cmd命令行,执行 pip install tensorflow-gpu ,下载tensorflow gpu版,而不是直接执行 pip install tensorflow(所谓第三个坑!) ,这个会下载成了cpu版,之后要是如果运行缓慢,明明像我专业的高配置,竟然跑的这么慢,不能忍,不能忍啊!
好了,而其实,如果之前不知道是因为什么,或是就是有手滑执行过了pip install tensorflow-gpu , 但是却是不知道到底那会儿下载的TensorFlow到底是什么版本呢?
主体内容
敲黑板!第一个重点来了!
以下步骤就是检验你到底是要下载什么东西了!
第一步:既然每次我们都有提醒报错是什么是什么有问题,比如之前咱们出现过了那“cudart64_90.dll”not found,诶,这个什么文档,竟然还能检测我到底漏了啥?
嗯~根据cmd提示报错命令行,上方,有最一个路径文件名也就是(本人的)
“F:\Anaconda\Lib\site-packages\tensorflow\python\platform\self_check.py”
检测报错开始,那么找到这个路径下的self_check.py 文件。
其中文件内容显示有这样一段:
提示的就是这个文件去检验的其实就是在本地的build_info.py文件.
并且self_check.py 文件往下看还能发现了这么几段内容:
校验mvsp_dll_name:
校验nvcuda_dll_name:
校验cudart_dll_name:
校验cuDNN_dll_name:
有莫有发现,竟然是刚才的报错的两个问题,就是这个文件检测出来的呢!
而这个文件竟然还能很智能的去找到了到底缺失了什么,厉害厉害,不过当打开了build-info.py文件之后!
一切都是豁然开朗了!
不就是这三个东东我们没有嘛!
也就是说,既然我下载了的TensorFlow版本(该文件是没有写的,不过经过和网上资料对比,你也能发现这个版本对应就是TensorFlow1.8.0),但是不管是哪个版本,你已经是知道了,你要下载的对应的cuda版本以及cuDNN版本了,没错,你就是要下载cuda9.0以及cuDNN7.X(这里也就知道了7.X版本,但是具体到哪,其实到了下载之后,你就发现,也就是只有7.1.4是最新支持的cuda9.0,那就是它了!)
第二步:下载Cuda9.0以及cuDNN7.1.4
上面的坑已经讲过了,肯定是不要用cuda9.2,这里提供cuda9.0直接下载地址:https://developer.nvidia.com/cuda-90-download-archive。根据自己的Operating System,Architecture,Version以及 Install Type下载,最后这里建议,下载exe(local)下载本地安装,而不是网络安装器,因为快而且稳定啊,网络安装器如果网络不稳定,有自己好受的了。
下载所有文件有:
然后cuda9.0的3个patch补丁也下载然后安装到cuda9.0的同路径当中。
注意,这里的补丁1其实就是一闪而过不能打开,但是没有关系的。
下载cuDNN7.1.4:
下载cuDNN稍微麻烦点,那就是要多个~~~注册登录操作,反正一顿注册登录操作之后~~
下载地址:https://developer.nvidia.com/rdp/cudnn-download,没有注册登陆过就是这个界面。
分别对应注册和登录。
而注册登录之后就可以下载了。
下载界面如:
点击下载,弹出下载窗口:
不就是我们要的64位嘛!
以上,就是下载cuda9.0以及cuDNN7.1.4的注意事项和地址位置。
第三步:安装注意
Cuda的安装注意:
在以上下载好了cuda文件之后,个人建议不要放在了默认的c盘位置,当然如果你个人C盘和富足,那就无所谓了,不过我自己有安装洁癖~ ̄□ ̄||,所以都是统一安装别的盘中。并且对应起始的CUDA9.0的development,documentation,samples,建立三个文件夹下载。(其实有人担心是不是不安装在了C盘,等下前面提到的环境变量设置就有问题,这个可以放心,其实在安装过程当中,cuda的环境变量会被自动添加到系统环境变量当中去。)
Cuda9.0的安装其实就是按部就班,不过注意一点就是,那就是要在安装的过程当中,注意到在CUDA组件安装的时候,选择自定义安装(custom),要将“visual studio integration”取消掉,不然你会因为这个而无法安装CUDA。而对于“visual studio integration”不取消就能全部通过。
有人会去查找,到底是怎么做的,但是其实这里就又有一个坑,那就是,如果你之前不是早在TensorFlow环境也就是cuda以及cuDNN安装之前就安装过的vs2017(注意必须是vs2017编译环境!),那么这里是不可能让你通过的,就是有的人安装过了vs2017之后,也是因为“visual studio integration”,还是会过不去的,其实这个地方是无所谓的,取消掉之后,在安装vs2017(就是不安装也没事,因为我只需要cuda和cuDNN)即可,或者是安装visual studio integration 集成包也可以的。
CuDNN的安装注意:
在cuDNN下载之后,就是个压缩包,其中就有了三个文件夹:
就是要将这三个文件夹中的文件对应解压缩放到CUDA的对应的文件中去,就是对应到了Development文件夹下的bin、include、lib中去,如果是默认下载在C盘,那么就是直接到C盘的路径下,找到了默认路径C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v9.0\去找到文件夹bin、include、lib解压缩即可。
以上就全部将TensorFlow所需要的环境安装完成了。
最后的最后,测试是否最终ok了,还有没有什么坑!
emmmmmmm~~~ok啊!
Perfect!完成啦~~~
本文为博主原创,未经许可谢绝转载,出处:https://blog.youkuaiyun.com/mukvintt/article/details/80840524