从零开始Tensorflow == 资深小白配置深度学习环境的血泪史

2018.2.6 再更

在另一台电脑上装了一遍TF1.5.0,其实并不复杂,下载速度快的话1个小时就可以搞定,而且从头到尾也并没有之前出现过的任何问题,所以啊,归根结底,还是版本的问题

吃一堑长一智。下次谨记,不要网上乱翻教程,因为随着版本更新都是有时限性的,最靠谱的还是官方文档。

本文主要内容是1.3.0安装过程,但是装1.5.0只需把软件版本改一下即可。


2018.2.6 下午 更:

终于明白为什么问题百出了。

2018年1月28日,tensorflow 1.5.0新版本发布,所以当我在2018年2月5日,执行 pip install tensorflow-gpu 默认下载的是1.5.0版本

而我之前按照网上很多教程,配置的都是1.3.0老版本的环境

所以当我最后 pip install tensorflow-gpu=1.3.0 然后就下载成功了

参照官方文档,现在明确一下两个版本要求的环境:(按照安装顺序排列)

1.3.0

Python 3.6(3.5也可以) +  Anaconda3 5.0.1 + Visual Studio 2015(C++) + Visual C++ 2015 Redistributable  +DXSDK_Jun10.exe + CUDA 8.0 + CUDNN 6  

1.5.0

Python 3.6(3.5也可以) +  Anaconda3 5.0.1 + Visual Studio 2017(C++) + Visual C++ 2015 Redistributable  +DXSDK_Jun10.exe + CUDA 9.0 + CUDNN 7

(NVIDIA 中国官网上的 CUDA 9.1不行,这里附上英国官网的CUDA 9.0 下载链接:

https://developer.nvidia.com/cuda-90-download-archive


另,我第二次安装的时候遇到一个问题 是Anaconda prompt命令框里出现无法识别conda 指令

'C:\Users\PKumar\Continuum\anaconda3\Scripts\activate.bat' is not recognized as an internal or external command, operable program or batch file.#6053

参考这里,亲测有效解决

https://github.com/conda/conda/issues/6053#

另,刚刚才知道,把python 3.6删了也没事,其实直接装anaconda作为默认的python就好了


2018.2.6 上午 更:

劝大家别看百度各种教程了,包括我这篇,都是不好好看官方文档脑子里进的水

附官方链接,版本很重要!

tensorflow 官方安装教程(2018.1.27)

https://tensorflow.google.cn/install/install_windows


2018.2.5   配置三天环境的总结

本来已经准备好Ubuntu双系统的,但是发现TF竟然已经支持Windows,想想还是win吧

真·资深小白:摸摸鱼装装软件,快两天了还没配置好深度学习环境

这特么还怎么开始深度学习???

算了 小白捡起破笔记本(4G内存+机械硬盘512G 想哭……当初买电脑的时候脑子里进了多少水),决定继续

这篇教程其实就是 多种安装方案和教程的汇总+遇到问题的总结和解决>>>如有雷同,我抄你的,感谢大神分享

1、python 3.6 下载安装(这一步后来发现可以直接跳过,只要在anaconda安装时勾选anaconda为默认python即可)

https://jingyan.baidu.com/article/d45ad14842d99969542b8054.html

python下载和安装是跟着这个教程里的,讲的很详细了

下了python 3.5的就别改了 挺好的


2、Anaconda3-5.0.1 下载安装

下载地址:https://repo.continuum.io/archive/index.html

选择和自己电脑匹配的版本,我选的是


(x86是32位系统,x64是64位系统)
安装过程与一般软件一样,按照提示即可,另外在安装过程中尽量选择全部安装,它会自动配好环境变量。
安装中有个勾选的环节,两个都勾上。
完成之后可在使用:Ctrl+R进入dos命令行,然后输入python看到相应的版本,说明安装完成且没有问题。


3、DXSDK_Jun10.exe

  • 微软的DirectX SDK工具包,不安装它的话,后面编译CUDA_Samples是没法成功的。
  • 下载地址:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812
  • 但是安装到最后还是显示DXSDK安装失败,
  • 从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第1张图片
  • 不过网上说:
  • “我在windows 10上安装的时候,最后的时候会报错,不过没有关系,关掉那个框。搜索下"d3dx9.h"、"d3dx10.h"、"d3dx11.h"头文件是不是存在,如果路径如下这个样子,就成功了。路径:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h”
  • 这一步参考  https://www.jianshu.com/p/c245d46d43f0

4、Visual Studio (C++)2015 community

啊罪过罪过,这步我之前忽略了,原来是把VS和VC++搞混了(……告辞告辞

建议大家下载VS2015(VS2017我安装不成功,度娘普遍2015

官方那边我是没找到下载的地方,这里丢个链接:

https://www.ithome.com/html/win10/164028.htm

在线安装就行。然后如果只为CUDA而装VS的话,建议自定义模式,然后就勾选C++就行,其他功能看自己需要选择。全装不仅慢而且占地方。

然后静静等待安装成功……注意这个过程网不要断(我下载的是在线安装的包)


后续补充:装完后进入控制面板-》程序与功能看一下有没有 Microsoft Visual C++ 2015 Redistributable (x64)

如果没有的话建议安装一下,不然后续有坑

下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=48145

如果安装不成功 ,看一下是否有vc++2017存在,如果有的话就把2017给卸了,再装2015就可以了


5、CUDA 8.0 (GPU需要)

CUDA是由显卡厂商NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

1) 首先大家要先检查下自己的显卡支不支持CUDA,可以去NVIDIA官网查(不过现在的电脑一般都支持

然后CUDA要下8.0版本 8.0 !!!目前TF只支持到这个版本(嗯……小白先被官网带偏了下载了9.1的)

下载地址 https://developer.nvidia.com/cuda-80-ga2-download-archive


2) 大约1.3GB的安装包,下载好之后按照步骤安装。

嗯 小白永远都会在安装过程遇到问题……典型失败样例如下:

“NVIDIA安装程序失败“

从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第2张图片

第一回合,小白不服,又强装了一次,嗯这回服了……

 去度娘那边问啊问,一个一个帖子点进去,若以下药方不管用,建议大家跟我一样参照每个人的回答检查一下自己的配置。

1、显卡驱动问题。

解决方案: 去NVIDIA重新下载显卡驱动,官网会自动帮你确定你的显卡类型,我需要装的是GeForce Experience

(百度上也有建议去装鲁大师然后更新显卡驱动,那样方便一点。不过我下载完鲁大师之后,说我驱动可以更新,但是更新失败……mmp)

然后装GeForce Experience的时候也不顺利,装到一半又罢工了。于是继续度娘。

参考这个楼主的解答,我的GeForce Experience终于顺利装好了

http://blog.sina.com.cn/s/blog_4d7f24990102wi4c.html

简而言之,在系统[控制面板][大图标][管理工具][服务]中,启动3个服务,分别是[DeviceInstall Service], [Device Setup Manager], [Windows Installer],就是下面这3个服务

【WindowsInstaller】

从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第3张图片

【Device SetupManager】从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第4张图片
【Device InstallService】
从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第5张图片
这三个都按照图片配好,我的显卡驱动也就安装成功了
现在再来装一次CUDA,终于显示安装成功了
来我们测试一下:
在DOS界面(在搜索菜单栏键入cmd,打开桌面应用命令提示符)输入 nvcc -V,显示如下界面则安装成功了

从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第6张图片

(容我讲一句喜悦的 MMP!




然后完成后配置系统变量,在系统变量中的CUDA_PATH中,加上三个路径,

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\lib\x64


6、CUDNN 下载安装

NVIDIA官网下载就行,注意对应cuda的版本
tensorflow 1.5.0 ---cudnn 7
tensorflow 1.3.0---cudnn 6
下载好后解压,里面有bin、include、lib三个目录,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,默认文件夹在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0


7、tensorflow-gpu下载安装

1、修改pip源

因为python下的pip下载非常方便,我们一会也是用到pip下载tensorflow,但是pip的源默认是国外的,要,所以建议先改个pip源

在C:\Users\pc路径下创建pip文件夹,在里面新建 pip.ini配置文件

并填入如下内容(阿里云的镜像)

[global]  
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]  
trusted-host=mirrors.aliyun.com

(具体: 新建txt文本文件,然后填入内容,保存文件。在查看选项里把“隐藏拓展名”的选项去掉,不勾选,然后文件名会变成pip.txt,重命名为pip.ini)


2、在开始面板里,找到 Anaconda Prompt

如果你和我一样是python3.6,那么我们需要创建一个py3.5的环境,因为tf目前只支持到3.5

在Anaconda Prompt中利用Anaconda创建一个python3.5的环境,环境名称为tensorflow ,输入下面命令:

conda create -n tensorflow python =3.5

然后等待它运行完成

activate tensorflow(激活tensorflow环境)

这时会变成这样


接着输入  pip install tensorflow-gpu


网上很多教程会输入pip3 install tensorflow-gpu,虽然网友说pip和pip3并没有什么区别,但是pip3困住了我好久,我只有pip才能有效下载和安装

然后如果安装成功,那么恭喜你完成了!可以翻到最后去测试一下tensorflow了

但是依照小白的多bug多坑体质,哪那么容易结束

Q1 Unknown requries Python >=2.6  <3 but ......

 

开玩笑呢……难道我应该安装py2.7吗

解决方案如下:

从零开始Tensorflow == 资深小白配置深度学习环境的血泪史_第7张图片

是futures出的问题,tf 1.5.0需要3.1.1版本的,所以再下一次,下载成功会显示successfully

如果你的出现以下情况, 请去futures路径下把futures给删了,然后重新pip 一下


Q2  ImportError: Could not find 'cudart64_90.dll'. TensorFlowrequires 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

首先我先去确认了一下cuda 9.1卸载干净了

然后还是不行,参考这个帖子 http://blog.csdn.net/wobeatit/article/details/79207196

改了tensorflow的版本 改为1.3.0

 pip install tensorflow-gpu=1.3.0

然后出现了Q3……

Q3 

“DLL load failed: 找不到指定的模块”

安装了好几遍,都是这样的错误
后来参考网上问题,发现可能tensorflow-gpu 1.3.0版本,对应的cudnn也要改版本,改成 cudnn 6 

照着做了,然后,嗯, 终于successfully

8、测试

打开anaconda prompt, 
activate tensorflow--->python--->

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session() 
print(sess.run(hello))


最后,如果你看到Tensorflow在热情地和你打招呼,那么就是成功啦!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。








.





你可能感兴趣的:(从零开始Tensorflow == 资深小白配置深度学习环境的血泪史)