(转)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,中文译为“凤凰” ...
随机推荐
- redis在linux下安装以及扩展
安装过redis后发现回头忘了,今天重新安装记录下 首先 我是在home下创建redis文件 mkdir redis 然后直接用wget安装 wget http://download.redis ...
- 7-13 航空公司VIP客户查询 (25 分)
题意: 思路: 读完题目之后的第一思路就是用map将客户的id(string类型)与里程road(int类型)形成映射,然后直接用id查找添加里程或输出里程.但是400ms的限制妥妥的超时了.然后意识 ...
- uva 1585 Score(Uva-1585)
vj:https://vjudge.net/problem/UVA-1585 不多说水题一个o一直加x就加的变为0 我的代码 #include <iostream> #include &l ...
- openoffice启动服务并将office文件转换为pdf文件
1.首先下载最新版的openoffice工具,安装完成之后安装服务,, win+r打开命令提示符 输入cmd,cd C:\Program Files (x86)\OpenOffice 4\progra ...
- PHP中的几个随机数生成函数
PHP中的几个随机数生成函数 rand() 基于 libc 的随机种子发生器 mt_rand() 基于 Mersenne Twister 算法返回随机整数.它可以产生随机数值的平均速度比 libc 提 ...
- vue项目中的常见问题(vue-cli版本3.0.0)
一.样式问题 1.vue中使用less 安装less依赖 npm install less less-loader --save-dev 在使用时 在style标签中加入 lang="les ...
- Python - 面对对象(其他相关,异常处理,反射,单例模式,等..)
目录 Python - 面对对象(其他相关,异常处理,反射,等..) 一.isinstance(obj, cls) 二.issubclass(sub, super) 三.异常处理 1. 异常处理 2. ...
- go 语言优势
一:为什么用Go来做抽奖系统 1.Go vs PHP/JAVA ①:高并发,Go协程优于PHP多进程,JAVA多线程模式 ②:高并发,编译后的二进制优于PHP解释型,JAVA虚拟机 3:高效网络模型 ...
- 【codeforces 509E】Pretty Song
[题目链接]:http://codeforces.com/contest/509/problem/E [题意] 让你计算一个字符串的所有子串里面元音字母出现的频率的和; [题解] 先处理出前缀和-&g ...
- JavaScript学习总结(7)——JavaScript基础知识汇总