tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
原文见于:http://www.jianshu.com/p/c245d46d43f0
写在前面的话
2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 中加入初步的 Windows 支持。但是目前只支持64位,而且Python版本为3.5版本,需要CUDA 8.0 。
之前Tensorflow对windows的支持并不好,导致如果需要使用它,需要转移到Linux平台,或者使用Cygwin什么的,总之挺麻烦,现在好了。麻烦事google帮我们解决了。感谢google!
Tensorflow和Keras都是支持Python接口的,所以本文中说的都是搭建一个Python的深度学习环境。还有一点,我也是新手,写得不好请勿喷!忽视本文就好。
如果你不清楚Keras和Tensorflow是什么关系?请看下图:
Keras是对Tensorflow或者Theano的再次封装,也就是以Tensorflow或Theano为后端,默认的后端是tensorflow,如果你想使用theano为后端,可以更改为theano。
Keras为什么要对tensorflow和theano进行再次封装,当然是为了使用更简单!为了让我们不用关注那么多的底层细节,把所有精力都放在实际问题上面。
Tesorflow与theano是可以使用Nvidia GPU进行加速的,如果你的GPU不支持CUDA,那么也不用担心,那就使用CPU,只是速度慢点(其实是慢很多!(^_^))。如果你的GPU支持CUDA,不用犹豫了,果断使用CUDA进行加速吧,速度快个10~20倍,那是常事。
好了说了这么多,下面进入正题。
一、文件准备
-
windows 10 64bit旗舰版(版本1607,OS内部版本 14393.576)
-
cuda_8.0.44_win10.exe: CUDA安装文件。去NVIDIA官网下载。
CUDA是由显卡厂商NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
-
Visual Studio 2015 Community: 请使用Community版本(社区版),因为它是免费的!免费的!当然,你注册个微软账号使用起来就更好了。
-
Rapid Environment Editor(环境变量编辑器)
先把它安装了吧,编辑环境变量方便点。
-
Anaconda3-4.2.0-Windows-x86_64.exe
Anaconda是一个Python科学计算环境,提供了很多常用的Python库,例如:
numpy,scipy, matplotlib等等。自带的包管理器conda也很强大,可以方便地安装各种Python库。
下载地址:https://www.continuum.io/downloads/ -
DXSDK_Jun10.exe
微软的DirectX SDK工具包,不安装它的话,后面编辑CUDA_Samples是没法成功的。下载地址:https://pan.baidu.com/share/link?shareid=197164616&uk=369246564&fid=2918892502
- cudnn-8.0-windows10-x64-v5.1.zip
CUDA的神经网络加速库,可以在前面GPU加速基础上大概再提升1.5倍的速度。 下载地址:https://developer.nvidia.com/cudnn
1. 安装Rapid Environment Editor
这个东西是编辑环境变量的,挺好用的,先把它安装了吧。后面给自己省事。安装完成后,默认界面是英文的,到设置里面改为中文吧。启动的时候,设置位管理员启动吧,不然没法更改系统环境变量。
2. 安装DXSDK_Jun10.exe
直接按照提示下一步就好了。我在windows 10上安装的时候,最后的时候会报错,不过没有关系,关掉那个框。搜索下"d3dx9.h"、"d3dx10.h"、"d3dx11.h"头文件是不是存在,如果路径如下这个样子,就成功了。路径:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h
二、安装CUDA
深度学习库如果使用CUDA进行GPU加速,可以大大缩短计算时间。如果不需要GPU加速,直接跳到第三部分。
2.1 检查GPU是否支持CUDA
先确定下自己的显卡型号(不要告诉我你不知道怎么查看自己的显卡型号)。安装CUDA前先检查下,自己的显卡是否支持CUDA,可以从下面的网址查看自己的显卡是否在支持之列。如果你的显卡比较新,到这里检查是否支持CUDA:https://developer.nvidia.com/cuda-gpus
如果你的显卡很老,请到如下链接检查是否支持CUDA:https://developer.nvidia.com/cuda-legacy-gpus
注意笔记本和desktop的区别。
如果自己电脑显卡不支持的话就跳过第二部分,直接到第三部分。我的显卡是GTX650,是支持CUDA的,所以继续。
2.2 安装Visual Studio 2015 community
Visual Studio 2015 community的安装包到哪里找,我就不说了。安装VS2015前,请先断网,不然安装过程会下载一堆东西,过程极慢。安装时只选择Visual C++部分,其他都可以不装,这样安装起来更快。安装要一会儿,请耐心等待。
2.3 CUDA安装
1. CUDA 8.0下载
从CUDA的官网下载安装文件,https://developer.nvidia.com/cuda-downloads,我安装时最新版本是 CUDA 8.0. 注意选择系统是windows 10,选择exe(local)那个Installer Type。如下图:
如果需要下载CUDA的历史版本,请到这里:https://developer.nvidia.com/cuda-toolkit-archive
2. 测试CUDA安装结果
打开命令提示符,输入:nvcc -V
可以看到如下信息:
但是,这样并不代表安装成功了。等把CUDA_Samples示例编译通过不报错了,才能算是成功。
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安装成功了!
如果报错了,请检查下前面的步骤是否严格执行了。重新再来,直到成功。
三、安装Tensorflow与Keras
3.1 安装Anaconda
1. 下载Anaconda
Anaconda包含很多科学计算的包,例如numpy、scipy等等,可以为你省去不少麻烦,它的官网在这里:https://www.continuum.io/downloads ,下载最新的Anaconda 4.2版本,Python版本选择3.5 64bit的那个版本。
万一你执意使用Python 2.7,我只能告诉你,最新的tensorflow-0.12在windows平台可能对python-2.7支持得不够好,中间会出问题的。
2. 安装Anaconda
- 如果你之前有安装Anaconda 2系列的,在环境变量里面把相关的环境变量给删除了。
C:\Anaconda2
C:\Anaconda2\Scripts
C:\Anaconda2\Library\bin
- 安装挺简单,我一般安装在C盘根目录下:c:\Anaconda3
建议大家也安装到根目录下。
安装时,在Install for那个界面,建议选择【All Users(requires admin privileges)】那个选项。
在如下那个界面中,把两个选项都勾上(默认是勾上的)
3.2 更改pip的默认源
Python开发安装包时,使用pip进行包安装非常方便。但pip默认的源服务器在国外,下载非常慢,而且经常出现下载后安装出错问题。因此,有必要更换为国内的pypi源。
对于windows来说,直接在当前用户目录下新建一个pip.ini文件,例如:c:\Users\Luoge\pip.ini
pip.ini的文件内容如下:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
上面是将源更换为了阿里云的源(阿里爸爸牛逼!~),输入完成后,记得保存。
3.3 安装Tensorflow
下面两种安装方式二选一。
在线网络安装方式
保持网络连接,从开始菜单中打开Anaconda Prompt,输入:pip install tensorflow-gpu
然后就耐心等待吧。如果安装成功了,跳过离线安装方式。
- 如果它提示你更新pip,你就按照提示更新pip好了。
- 如果这种方式安装失败了,请看下面的 离线安装方式
离线安装方式
如果在线从pip安装tensorflow总是失败,那就下载python的whl包,本地安装的。
下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Ctrl+F搜索Tensorflow,找到: tensorflow_gpu‑0.12.0rc1‑cp35‑cp35m‑win_amd64.whl
注意下载带gpu字样的版本,它才支持GPU加速。下载也不太快,视你的网速而定。
为了方便大家,我在百度云上上传了一份,大家也可以上百度云下载:http://pan.baidu.com/s/1o77WBe6
不客气!
从开始菜单中打开Anaconda Prompt,输入:pip install c:\Users\Luoge\Downloads\tensorflow_gpu-0.12.0rc1-cp35-cp35m-win_amd64.whl
然后,等待安装完成就好了。
3.4 安装Keras
保持网络连接,从开始菜单中打开Anaconda Prompt,输入:pip install keras
回车,安装就开始了,它会顺带把Theano也给安装上,但是这里安装的Theano版本比较老,是Theano-0.8.2。我们使用tensorflow作为后端,而不是theano,所以不用理会它,让它装上就好了。
四、测试Keras是否安装成功
从开始菜单中打开Anaconda Prompt,在命令行中输入:python
,再输入:
import tensorflow as tf
sess = tf.Session()
a = tf.constant(10)
b = tf.constant(22)
print(sess.run(a + b))
如果正确打印出结果32,不报错,说明tensorflow安装成功。
再输入:
import keras
若不报错,说明安装成功。
五、让速度更快一点
1. cuDNN可以在前面GPU加速基础上大概再提升1.5倍的速度,它由nVIDIA开发。可以到nVIDIA官网上下载。下载之前需要注册,然后问一系列问题,请耐心弄完。然后就可以下载了。不要下载错了,下载windows 10系统下64位的,最新的支持CUDA 8.0的cuDNN-5.1,文件名是:cudnn-8.0-windows10-x64-v5.1.zip
2. 下载完成后解压缩。里面有bin、include、lib三个目录,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,默认文件夹在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
3. 如何验证CuDNN是否配置成功呢?
打开Anaconda Prompt,输入python
,再输入import tensorflow
,显示的如果是下图这样子,不提示没有安装cudnn,就成功了。
参考资料
- 原生Windows安装TensorFlow 0.12方法 - include1224的专栏 - 博客频道 - CSDN.NET
- 让PIP源使用国内镜像,提升下载速度和安装成功率。 - microman - 博客园
- 终于来了,TensorFlow 新增官方 Windows 支持_专业的人工智能媒体和产业服务平台
- Keras Documentation
- Keras中文文档
- CUDA下载
- cuDNN下载
- Installation Guide Windows :: CUDA Toolkit Documentation
- whl格式Python库汇总下载
- DXSDK_Jun10.exe百度云下载
- Anaconda官网下载
- Tensorflow 0.12.0 windows 安装 - 911的专栏 - 博客频道 - CSDN.NET
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采
说的很清楚,照着一套全部成功安装下来了!
a639bda3122e: 你好,请问接下来是需要设置环境变量吗?
请问楼主,按照你的步骤安装之后得到这样的结果:
在Python import keras时会出现
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: cuda unavailable)
在网上百度了很多方法,都没有成功,请楼主指教~
感谢!!
xushiluo: @花火_6704 你的CUDA检查下,是否安装成功了
花火_6704: @xushiluo
cmd:nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Mon_Jan__9_17:32:33_CST_2017
Cuda compilation tools, release 8.0, V8.0.60
花火_6704: @xushiluo 就是不知道哪里出了问题,现在只能跑CPU,心痛
说的很清楚,照着一套全部成功安装下来了!
写的最好的cuda安装文章了
xushiluo: @白晓哲 谢谢!我也是安装过程中,遇到了许多问题。写这篇文章是想让大家少走弯路。
李博星Boxing: 写的很好 一步步走下来了 很棒!
你好,对我的收获蛮大,但是我这里有两个问题:1 这里面不需要配置环境变量吗?我看到上面只是说了删除原来配置的变量;2 我是官网上面下载的cuda8,但是我安装之后,没有sample这个文件夹。希望能得到解答,谢谢。
装完后spyder打不开,你们是这样吗。。因为import theano报错:Python 3 ImportError: No module named 'ConfigParser'
其实不用安装DirectX SDK也是可以用的
DX SDK估计是用于图形显示之类的,并行计算GPU加速应该是用不到的
你好,请问你的cuda有备份吗?我在官网下win64位的cuda,每次都是最后差一点点就下载出错了,搞得我好烦。
就是我的tensorflow是能用的(因为是之前装的)但是keras怎么都安装不了