Win10 64bit下安装GPU版Tensorflow+Keras

Tensorflow和Keras都是支持 Python 接口的,所以本文中说的都是搭建一个Python的深度学习环境。

Keras是对Tensorflow或者Theano的再次封装,也就是以Tensorflow或Theano为后端,默认的后端是tensorflow,如果你想使用theano为后端,可以更改为theano。Keras为什么要对tensorflow和theano进行再次封装,当然是为了使用更简单!为了让我们不用关注那么多的底层细节,把所有精力都放在实际问题上面。

Tesorflow与theano是可以使用Nvidia GPU进行加速的,如果你的GPU不支持CUDA,那么也不用担心,那就使用CPU,只是速度慢点(其实是慢很多!)。如果你的GPU支持CUDA,不用犹豫了,果断使用CUDA进行加速吧,速度快个10~20倍,那是常事。

下图是整个Python深度学习环境的架构图:

1、软件准备

1.1 Visual Studio 2015

由于CUDA需要Visual C++ 2015的支持,所以在windows下安装CUDA运行环境,需要安装Visual Studio 2015以支持CUDA运行的C++环境。

1.2 Anaconda

Anaconda是一个Python科学计算环境,提供了很多常用的Python库,例如:numpy,scipy, matplotlib等等。自带的包管理器conda也很强大,可以方便地安装各种Python库。

直接下载64位的即可:

注意:只有最新的TensorFlow1.2才支持Python3.6,所以请将TensorFlow更新至最新版本,否则会出现无法运行的Bug。

1.3 CUDA

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

1.4 DirectX SDK工具包

微软的DirectX SDK工具包,不安装它的话,后面编辑CUDA_Samples是没法成功的。

1.5 cuDNN

CUDA的神经网络加速库,可以在前面GPU加速基础上大概再提升1.5倍的速度。 

注意:cuDNN库一定要选择5.1版本的,因为TensorFlow目前只支持5.1版本。

2、软件安装

2.1 安装DXSDK_Jun10.exe

直接按照提示下一步就好了。我在windows 10上安装的时候,最后的时候会报错,不过没有关系,关掉那个框。搜索下”d3dx9.h”、”d3dx10.h”、”d3dx11.h”头文件是不是存在,如果路径如下这个样子,就成功了。路径:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h

2.2 安装 Visual Studio 2015

Visual Studio 2015 的安装包到哪里找,我就不说了。安装VS2015前,请先断网,不然安装过程会下载一堆东西,过程极慢。安装时只选择Visual C++部分,其他都可以不装,这样安装起来更快。安装要一会儿,请耐心等待。

2.3 CUDA安装

先确定下自己的显卡型号(不要告诉我你不知道怎么查看自己的显卡型号)。安装CUDA前先检查下,自己的显卡是否支持CUDA,可以从下面的网址查看自己的显卡是否在支持之列。如果你的显卡比较新,到这里检查是否支持CUDA

如果你的显卡很老

注意笔记本和desktop的区别。

如果自己电脑显卡不支持的话就跳过第二部分,直接到第三部分。我的显卡是GTX1080Ti,是支持CUDA的,所以继续。

2.3.1 CUDA 8.0下载

我安装时最新版本是 CUDA 8.0. 注意选择系统是windows 10,选择exe(local)那个Installer Type。如下图:

如果需要下载CUDA的历史版本

2.3.2 测试CUDA安装结果

打开命令提示符,输入:nvcc -V

可以看到如下信息:

但是,这样并不代表安装成功了。等把CUDA_Samples示例编译通过不报错了,才能算是成功。

2.3.3 编译CUDA示例程序

(1)在 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0 目录下,有CUDA的示例程序。由于我安装的是VS2015,所以我打开Samples_vs2015.sln那个解决方案文件,将解决方案配置更改为Release和x64.

使用Release模型,由于所有程序安装包用的都是64位版本,所以改为x64比较好。

(2)右键单击,编译整个解决方案。如果不出意外,将会编译成功。如果提示是缺少:

“d3dx9.h”、”d3dx10.h”、”d3dx11.h”头文件 ,说明前面安装DirectX SDK没有安装好,重新安装下DXSDK_Jun10.exe,再次编译。

(3)关闭VS2015,在

c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release

目录下找到deviceQuery.exe这个文件。打开一个cmd窗口,定位到 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录,输入:deviceQuery.exe ,然后回车。会得到如下结果:

如果你的结果与上面类似,恭喜你!CUDA 8.0安装成功了!

如果报错了,请检查下前面的步骤是否严格执行了。重新再来,直到成功。

3、安装Tensorflow与Keras

按照官网的方式安装TensorFlow就可以了。在命令行下输入如下命令:

pip3 install --upgrade tensorflow-gpu

pip install keras

接下来编写如下代码,测试TensorFlow是否安装成功:

import tensorflow as tf

sess = tf.Session()

a = tf.constant(10)

b = tf.constant(22)

print(sess.run(a + b))

我在PyCharm中运行的结果如下:

输出了正确的结果32,并且也显示了GPU信息。大功告成……