Win 10 安装 Tensorflow 踩坑记


学习 machine-learning,自然是要尝试下谷歌 Tensorflow 这个开源软件库的。好吧,以下是在 Win 10 上安装 Tensorflow 踩坑全记录。

当然,如果只是用 CPU 版本的 Tensorflow,似乎笔者也是一切顺利没有遇到什么坑,但是跑起来速度确实是慢到想原地爆炸几百次啊,学习三千首诗歌生生跑了二十五个小时才算完,也是醉了。于是,工欲善其事,必先利其器,还是得搭起 GPU 版本吧,路途也就随之坎坷起来了…

版权声明:本文为 frendy 原创文章,可以随意转载,但请务必在明确位置注明出处。


安装 Python 3.5.X


目前 Windows 上 Tensorflow 只支持 Python 3.5.X 版本。如果当前已经安装过 Python 2.X 或者 Python 3.6,比如笔者,可以直接修改环境变量,把 Path 里 3.5.X 的路径配置在 2.X 和 3.6 之前即可,这样执行时系统就会先找到并使用 3.5.X 的命令集了。

https://www.python.org/getit/

安装 Pycharm(可选)


之前直接在 CMD 里操作,感觉还是有个 IDE 工具方便点,就一起装了。装好后将 Python 3.5.X 配置为默认的 Project Interpreter 即可。

http://www.jetbrains.com/pycharm/download/#section=windows

这里插入一个或许有些朋友会有疑惑的问题,CPU 和 GPU 什么区别?

他们的区别源于他们被设计制造时的初衷。其中,CPU 擅长逻辑控制,串行运算,核少人聪明;GPU 擅长大规模并发计算,核多人傻,适合重复但大量的计算。


CPU 版本 Tensorflow 安装配置


似乎也没什么其他配置,下面一个命令后,就跑起来了。好吧,太过顺利的事情印象总是不那么深刻(捂脸)。深刻地是后面训练数据时一天一夜,三更半夜,ba ba ba(捂脸)。

pip3 install --upgrade tensorflow

GPU 版本 Tensorflow 安装配置


这一路跌跌撞撞,希望这些踩坑笔记能帮到正在看文章的你,帮你走得顺畅些。

1. 卸载 CPU 版本的 Tensorflow,如果有安装

如果有安装过,不先卸载,又重复安装 GPU 版本的话,会出现无法 import 的错误,亲自踩过(捂脸)。

pip3 uninstall tensorflow
2. 安装 GPU 版本
pip3 install --upgrade tensorflow-gpu
3. 安装 CUDA
官方文档 http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows
3.1) 查看 GPU 是否支持 CUDA

如果不支持下面也就可以忽略了,乖乖用 CPU 版本吧。笔者这里 GTX 1050 是 OK 的。当然,大家可以在以下官网查看是否支持,或者可以下载 gpu-z 查看,如下图:

https://developer.nvidia.com/cuda-gpus

image

3.2) 下载安装 cuda_8.0.61_win10_network.exe

这里还是建议选 network 吧。local 版本每次在下载到 1G 左右的时候就会资源不足然后中断(总共 1.2G),也不知道什么情况,总之是个坑,笔者重复下载四次 local 失败,最终还是重新选择了 network (捂脸)。

http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/

3.2.1) 安装 VS 2015

安装 CUDA 之前请务必安装 VS 2015 或者其以下的版本。笔者一开始安装了 VS 2017,结果安装时发现 CUDA 只能支持 2015 及以下版本,扑通又一坑(憔悴)。

http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso

3.2.2) 提示 this graphics driver could not find compatible graphics hardware…

其实笔者的电脑里已经安装了对应的驱动,在下面这个路径。安装 CUDA 8.0 会覆盖之前的驱动吗?困扰了好久,查了好久,然而并没有找到解决办法。于是勇敢地忽略这个警告,直接继续安装吧,暂时没发现什么 Side Effect。

原版驱动目录 C:\NVIDIA\373.19
3.3) 下载安装 cuDNN

这里需要注册,登录后下载相应的包即可,这里选择的是 cudnn-8.0-windows10-x64-v6.0.zip。

https://developer.nvidia.com/rdp/cudnn-download

下载后解压,并将 bin、include、lib 三个目录里的文件,复制到 CUDA 相应的目录下,CUDA 默认的目录如下:

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

依然报错 ImportError: No module named ‘_pywrap_tensorflow_internal’ 和 ImportError: DLL load failed: The specified module could not be found. 怎么办?(心累)

将 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin 目录下的 cudnn64_6.dll 更名为 cudnn64_5.dll 即可。

> 黎明前的黑暗终将过去,曙光已然到来:

image

以上执行的 Hello World 相关代码如下:

import tensorflow as tf

hello = tf.constant("Hello!TensorFlow")
sess = tf.Session()
print(sess.run(hello))


欢迎来撩

frendy

It will shine for us...