(转)Win10 TensorFlow(gpu)安装详解
Win10 TensorFlow(gpu)安装详解
写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图象的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。从去年十一月开源至今一年多一点的时间里,该项目已经收获了40000+的star和18000+的fork,足见它的热度。TensorFlow的社区和文档都非常完善,因而受到大家的青睐。
之前TensorFlow只支持Ubuntu/Linux和Mac OS X,安装也比较方便。前两天上社区发现已经有Windows版本了,果断装个试试,本文主要记录Win10下安装TensoFlow踩过的坑。
TensorFlow 官方安装教程
TensorFlow 中文社区
1.安装环境(多版本Python管理)
TensorFlow目前在windows下只支持64-bit Python 3.5,由于之前一直在用python 2.7(Anaconda2)+jupyter notebook,不想直接换成Python 3.5,所以准备安装两个版本的Anaconda。这里主要介绍下如何管理使用不同版本的Python,如果本来就用Python 3.5的这章节直接跳过好了。
Anaconda下载安装:Window下安装非常简单,直接运行安装包下一步下一步就行,安装过程会有选择打钩的地方,第一个是添加环境变量,第二个是把Anaconda下的Python设置为默认版本,这里建议都勾选。
。
了解Anaconda的应该都知道可以用conda环境管理不同版本的python,比如我现在安装的是Anaconda2,默认python版本是2.7,但是我想用下Python 3,这个时候可以用conda创建一个环境,在这个环境下可以安装运行你想要的版本,等用完了退出这个环境即可。系统默认的Python版本还是2.7。
下面介绍具体怎么处理:
(1).创建一个名为python35的环境,指定Python版本是3.5
打开cmd:conda create --name python35 python=3.5
(2).安装完成后,使用activate激活python35
输入activate python35
可以看到 命令行行前面有个(python35),这个就是当前运行环境
接着运行python
可以看到python版本显示为3.5.2(3).如果想返回默认的python 2.7环境,先退出python然后运行
deactivate python35
运行
python
,如图所示,python版本为2.7.12,命令行前面的(python35)也不见了,说明已经退出python35环境。是不是很方便?下面去安装路径下看下,可以看到在Anaconda2安装路径的envs下有python35这个文件夹,每当我们激活这个环境的时候,系统运行环境就在该文件夹下面了。(其它两个是我后面新建的)
到这里其实已经准备好安装环境了,但是我之前用习惯了jupyter notebook,如果我现在运行Anaconda自带的notebook还是只有python 2.7.12版本,如果跟我一样想用jupyter notebook继续往下看。
既然可以在新建的环境下安装Python 3.5,那我在这个环境下在安装一个Anaconda3怎么样,这样同时安装了python 3.5的jupyter notebook以及Spyder,尝试了一下,果然可以! (看了评论发现这个方法不可以了,现在不经常上csdn了,路过的小伙伴路过有解决方案也阔以共享出来…
我去年这么装的时候是没有问题的。刚刚试了下,确实不可以了。 然后我尝试了一下其他方法:
1.conda create –name test python=3.6
2.activate test
3.pip install jupyter/spyder
4.jupyter notebook
这样也是可以的。)(1).conda新建一个Anaconda3的环境
conda create --name Anaconda3
成功后会在Anaconda2下的envs文件夹下新建一个Anaconda3环境
(2).接着从Anaconda官网下载Anaconda3的安装包并安装
在安装的时候注意将安装路径选为E:\Anaconda2\envs\Anaconda3(即刚才新建的conda环境),另外注意在打钩的界面,两个都不要勾选,接着正常安装结束就行。(3).安装完成后,激活Anaconda3环境,运行
python
、jupyter notebook
,大功告成。
2. TensorFlow安装
完成上面python3.5安装后就很简单了,直接pip安装就行。
先激活Anaconda3环境:
activate Anaconda3
注:如果机子显卡较低不支持GPU加速就安装CPU版本,本文安装的是GPU版本输入:
pip install tensorflow-gpu
安装,如果提示pip版本问题,按提示更新到最新版本即可。安装完成。
这个时候虽然已经安装好了TensorFlow,但是因为需要GPU加速,我们还需要安装cuda和cuDnn(专门为deep learning准备的加速库)。
3. cuda安装
(1).cuda v8.0安装包下载 ,还有安装指南之类的,稍微看下就行。
根据自己的环境选择对应的版本,exe分为网络版和本地版,网络版安装包比较小,执行安装的时候再去下载需要的包;本地版安装包是直接下载完整安装包。这里建议下载本地版(网络版我试过,安装一晚上失败了…),另外建议用win10自带的edge浏览器下载,速度比谷歌啥的快多了。
下载下来后就正常安装就可以了。
(2).cuDnn库下载
下载这个安装包需要注册并且填一堆问卷,下下来以后把相关包不用安装,直接拷到cuda路径对应的文件夹下面就行(后面说)。
(3).cuda测试
在cuda安装好后会自动下载一些example,自己运行测试一下,问题不大。
(4).关键坑(运行TensorFlow)
当我安装完成准备开一波车的时候,出来各种错,作为年轻的老司机我讲讲经验。TensorFlow 是一个编程系统, 使用图来表示计算任务,图必须在Session(会话)里被启动. Session将图的op(操作)分发到诸如CPU或GPU之类的设备上运行。所以,这个时候你运行python然后import tensorflow as tf
是不会报错的,但是当你要执行tf.Session()
的时候可能就有问题了。这个时候将会调用cuda,我在这里遇到的问题是各种lib,dll加载不了。经过一番检查,定位到问题,cuda安装完成后默认的环境变量配置不对,CUDA_PATH是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
,但是这样不能直接访问到bin和lib\x64下的程序包,在path中加上这两个路径即可。
再发一波车,结果还有问题…还有一个库加载不了,就是上面的cuDnn库了,很简单,解压刚才下下来的安装包,将这三个文件夹下的文件拷到CUDA对应的文件夹下面即可。
这样就大功告成了。
4.TensorFlow测试
(1).代码测试:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
(2).官方教程代码测试:
The TensorFlow implement
ation translates the graph definition into executable operations distributed across available compute resources, such as the CPU or one of your computer’s GPU cards. In general you do not have to specify CPUs or GPUs explicitly. TensorFlow uses your first GPU, if you have one, for as many operations as possible.#Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
#Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
#Runs the op.
print sess.run(c)
输出:
Device mapping:
/job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Tesla K40c, pci bus
id: 0000:05:00.0
b: /job:localhost/replica:0/task:0/gpu:0
a: /job:localhost/replica:0/task:0/gpu:0
MatMul: /job:localhost/replica:0/task:0/gpu:0
[[ 22. 28.]
[ 49. 64.]]
(2).example 测试
下载github上的tensorflow源码,里面有很多示例代码
run example:
python mnist_with_summaries.py
..............................
结果刚发车就熄火了…couldn't open CUDA library cupti64_80.dll
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cupti64_80.dll
查了一下,这个dll在NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64
,因为这个也没添加到系统变量,简单的处理方式,把这里面的文件也拷到环境变量的bin文件夹下。
再次启动,终于愉快的run起来了。
最后想看看gpu情况,搜到了这个:NVIDIA System Management Interface
其实在安装路径下已经有了C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi
具体怎么操作,还在探索中…
5.完
老规矩,推荐一些好资料。
tensorflow官方教程,还有中文版社区,文章开头已放链接。
不错的知乎专栏: https://zhuanlan.zhihu.com/hsmyy
Hiton的课程:https://www.coursera.org/learn/neural-networks/home
其它比较火的的deep learning 框架:keras、mxnet…
(转)Win10 TensorFlow(gpu)安装详解的更多相关文章
- Win10 TensorFlow(gpu)安装详解
Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...
- Linux ssh登录和软件安装详解
阿哲Style Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...
- Windows下caffe安装详解(仅CPU)
本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2. ...
- TensorFlow DeepLab教程初稿-tensorflow gpu安装教程
TensorFlow DeepLab教程初稿-tensorflow gpu安装教程 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com Summar ...
- 【转】Linux下Android ADB驱动安装详解
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...
- scribefire 多博客管理利器 安装详解
scribefire 多博客管理利器 安装详解 一.ScribeFire介绍 ScribeFire 是 Firefox (火狐浏览器)上著名的博客写作工具,目前已跨平台支持多浏览器(Firefox,C ...
- CentOS 6.5的安装详解
CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,Cent ...
- Linux下tomcat的安装详解
Linux下tomcat的安装详解 来源: ChinaUnix博客 日期: 2007.01.21 22:59 (共有0条评论) 我要评论 一,安装前的准备:1,Linux版本:我的是企业版.(至于红帽 ...
- Phoenix和SQuirrel安装详解
Phoenix安装详解 描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天的主角是Phoenix. phoenix,中文译为“凤凰” ...
随机推荐
- [luogu2148 SDOI2009] E&D (博弈论)
传送门 Solution 我们知道当SG不为0则先手必胜,然后就可以打表了 ̄▽ ̄ Code //By Menteur_Hxy #include <cmath> #include <c ...
- Spring MVC 笔记2 HelloWorld
实现这个例子的问题 WEB-INFO目录下必须有spring的包,放在lib下:如下图(这里我直接把idea创建时宣称springmvc,然后把idea给的lib拷贝了下来,也可以的) request ...
- GitHub:创建和修改远程仓库
创建远程仓库 首先在GitHub上创建一个仓库命名为learngit.选中public(private要钱),选中 生成README(就是markdown形式的说明文档),便于别人和自己了解仓库的作用 ...
- SpringBoot杂记
一.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: •application.properties •application.yml 配置文件的作用:修改SpringBoo ...
- 9.3.4 BeaufitulSoup4
BeautifulSoup 是一个非常优秀的Python扩展库,可以用来从HTML或XML文件中提取我们感兴趣的数据,并且允许指定使用不同的解析器. 使用 pip install BeaufifulS ...
- 《AlwaysRun!》第八次团队作业:Alpha冲刺 第二天
项目 内容 这个作业属于哪个课程 老师链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 Always Run! 作业学习目标 (1)掌握软件测试基础技术. ( ...
- KD树学习小结
几个月后的UPD: 学习完下面之后,实战中的总结: 0.比赛中正解就是kdtree的题目很少很少 1.几类优先考虑kdtree的题目: k(维度) >= 3 的题目 二维平面上涉及区间标记的题目 ...
- [POJ1226]Substrings(后缀数组)
传送门 给定 n 个字符串,求出现或反转后出现在每个字符串中的最长子串. 算法分析: 这题不同的地方在于要判断是否在反转后的字符串中出现.其实这并没有加大题目的难度. 只需要先将每个字符串都反过来写一 ...
- Nginx不转发http header
使用nginx做http代理时,在Header中使用了一个名为api_key的属性,碰到http header不转发的问题. 问题源码: rc = ngx_http_parse_header_line ...
- GPS时间系统概述和世界时系统
6.1 GPS时间系统概述 时间包含"时刻"和"时间间隔"2个概念.所谓时刻,即发生某一现象的瞬间.在天文学和卫星定位中.与所获数据对应的时刻也称为历元.时间 ...