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 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速的更多相关文章
- 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 ...
- windows 10环境下安装Tensorflow-gpu
网上有很多教程,特别是简写上的写的都还算比较详细.但我自己还是遇到了几个坑,希望对深度学习有兴趣的同学遇到跟我一样的坑,希望这份记录能帮助到你. 问题一:要不要使用Anaconda? 我看极客时间上的 ...
- Windows 下安装 tensorflow & keras & opencv 的避坑指南!
安装 Anaconda3 关键的一步: conda update pip 下面再去安装各种你需要的包,一般不会再报错. pip install -U tensorflow pip install -U ...
- 在Windows 10 64-bit上安装Windows SDK 7.1和.NET4
目的: 成功在window10上安装window sdk7.1 和 .NET Framework 4 需求: support some older software written in Visual ...
- 在 Windows 10 64 下安装 Memcached,安装 PHP 7.0.22 的 Memcache 扩展
1.之前写过一篇在 PHP 5.6.27 下的博客:http://www.shuijingwanwq.com/2017/09/11/1892/ ,此次是 PHP 7.0.22 下的,如图1 图1 2. ...
- 【适合N卡独显电脑的环境配置】Tensorflow教程-Windows 10下安装tensorflow 1.5.0 GPU with Anaconda
注意: 1.目前Anaconda 更新原命令activate tensorflow 改为 conda activate tensorflow 2. 目前windows with anaconda 可以 ...
- Anaconda下安装 TensorFlow 和 keras 以及连接pycharm
首先在官网下载Anaconda https://www.anaconda.com/download/ 安装时注意 勾选第一个,增加环境变量 安装好后再windows界面打开Anaconda Promp ...
- win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置
原文:win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置 一.说明 以前配置apache+php+mysql都是参考网上的,一般都没有什么问题.最近公司有个 ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
随机推荐
- happens-before
happens-before是JMM最核心的概念.对应Java程序员来说,理解happens-before是理解JMM的关键. JMM的设计 首先,让我们来看JMM的设计意图.从JMM设计者的角度,在 ...
- 【uoj336】【清华集训2017】无限之环
题目 描述 给出一个\(n*m\)的网格,每个格子里的水管可能向四个方向都有接口: 游戏的目的是不能让水管漏水,即所有接口都有另一个接口与之相接: 你一步可以将一个格子中的水管旋转\(90 ...
- 51nod1238 最小公倍数之和 V3
又被这神仙题给坑爆了. 神仙题解. 一开始我把lcm变成ij/gcd然后按照常规套路去推,推到最后发现不是miu * Id而是miu · Id......这还搞鬼啊. 正解居然跟这个差不多,先转成求其 ...
- Java: 在不同windows主题下,JFrame窗口设置最佳高度的解决方案
//设置窗口的大小,无论使用怎样的windows主题,都能灵活的应对,显示合适的窗口大小,一定要在JFrame.setVisible(true)之前调用, //替代传统的frame.setSize(w ...
- Sublime Text3—系统设置
摘要 软件的设置分为系统设置和快捷键设置两项,这次分享系统设置,Sublime Text3-自带快捷键介绍前面已分享过. 正文 菜单依次选择Preferences | Settings,我们修改设置不 ...
- Solr7.1--- 生产环境搭建
准备三台虚拟机,把Solr-7.1.0.tgz上传到三个节点上.我上传到了自定义的目录/mysoft. 我的环境是CentOS7+Solr7.1.0 如果发现图文不符,因为我之前操作截图后,关闭出去吃 ...
- 错误提示 nginx: [emerg] unknown directive "gzip_static"
1.检查nginx配置文件错误提示如下: [root@server nginx]# /applications/nginx/sbin/nginx -t -c /applications/nginx/n ...
- 面向对象【day08】:反射(五)
本节内容 概述 反射函数 综合使用 一.概述 反射我们以后会经常用到,这个东西实现了动态的装配,通过字符串来反射类中的属性和方法 二.反射函数 2.1 hasarttr(obj,name_str) 作 ...
- Python基础【day03】:集合入门(三)
本节内容 1.集合常用方法总结2.定义3.关系测试 集合是无序的,天生不重复的数据组合,它的作用如下: 去重,即:把一个列表变成集合,就去重了 关系测试,即:测试两组集合的交集.并集和差集等 一.集合 ...
- nginx错误集合
遇到 nginx: [warn] server name "http://127.0.0.1" has suspicious symbols in D:\nginx-1.12.1/ ...