TensorFlow环境安装与搭建(Windows 10系统)

TensorFlow介绍与环境搭建


1.TensorFlow简介

1.1 官方介绍

1.1.1什么是TensorFlow

TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

TensorFlow是一个著名的开源的人工智能系统,被广泛应用于语音识别或图像识别等多项机器学习和深度学习领域。它目前支持的程序语言有: Java, Python, Go, Lua, R, JavaScript。

1.1.2什么是数据流图(Data Flow Graph)

数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。

“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。

“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。

1.1.3TensorFlow的特征

1、高度的灵活性

TensorFlow不是一个严格的“神经网络”库。只要你可以将你的计算表示为一个数据流图,你就可以使用Tensorflow。你来构建图,描写驱动计算的内部循环。我们提供了有用的工具来帮助你组装“子图”(常用于神经网络),当然用户也可以自己在Tensorflow基础上写自己的“上层库”。定义顺手好用的新复合操作和写一个python函数一样容易,而且也不用担心性能损耗。当然万一你发现找不到想要的底层数据操作,你也可以自己写一点c++代码来丰富底层的操作。

2、真正的可移植性(Portability)

Tensorflow 在CPU和GPU上运行,比如说可以运行在台式机、服务器、手机移动设备等等。想要在没有特殊硬件的前提下,在你的笔记本上跑一下机器学习的新想法?Tensorflow可以办到这点。准备将你的训练模型在多个CPU上规模化运算,又不想修改代码?Tensorflow可以办到这点。想要将你的训练好的模型作为产品的一部分用到手机app里?Tensorflow可以办到这点。你改变主意了,想要将你的模型作为云端服务运行在自己的服务器上,或者运行在Docker容器里?Tensorfow也能办到。Tensorflow就是这么拽 :)

3、将科研和产品联系在一起

过去如果要将科研中的机器学习想法用到产品中,需要大量的代码重写工作。那样的日子一去不复返了!在Google,科学家用Tensorflow尝试新的算法,产品团队则用Tensorflow来训练和使用计算模型,并直接提供给在线用户。使用Tensorflow可以让应用型研究者将想法迅速运用到产品中,也可以让学术性研究者更直接地彼此分享代码,从而提高科研产出率。

4、自动求微分

基于梯度的机器学习算法会受益于Tensorflow自动求微分的能力。作为Tensorflow用户,你只需要定义预测模型的结构,将这个结构和目标函数(objective function)结合在一起,并添加数据,Tensorflow将自动为你计算相关的微分导数。计算某个变量相对于其他变量的导数仅仅是通过扩展你的图来完成的,所以你能一直清楚看到究竟在发生什么。

5、多语言支持

Tensorflow 有一个合理的c++使用界面,也有一个易用的python使用界面来构建和执行你的graphs。你可以直接写python/c++程序,也可以用交互式的ipython界面来用Tensorflow尝试些想法,它可以帮你将笔记、代码、可视化等有条理地归置好。当然这仅仅是个起点——我们希望能鼓励你创造自己最喜欢的语言界面,比如Go,Java,Lua,Javascript,或者是R。

6、性能最优化

比如说你有一个32个CPU内核、4个GPU显卡的工作站,想要将你工作站的计算潜能全发挥出来?由于Tensorflow给予了线程、队列、异步操作等以最佳的支持,Tensorflow 让你可以将你手边硬件的计算潜能全部发挥出来。你可以自由地将Tensorflow图中的计算元素分配到不同设备上,Tensorflow可以帮你管理好这些不同副本。

2. 正式安装

2.1. TensorFlow 安装总体说明

平台:目前可在Linux Ubuntu、Mac OS、Windows上安装
安装方式:pip方式、Anaconda方式
版本:提供GPU版本(GPU版本需要cuda8,cudnn5.1)、CPU版本

以下我们选择在Windows 10上、使用Anaconda方式、CPU版本来搭建Tensorflow环境。

2.1.1 python安装包

在Windows上目前支持python3.5.x
python官网:https://www.python.org/
在上面找到3.5.x版本的python环境进行下载安装。注意要选择让它自动配置环境变量,没有选的话,也可以自己手动去配置。

2.2 Anaconda安装

2.1.1 什么是Anaconda

Anaconda不是语言,它只是python的一个集成管理工具或系统,它把python做相关数据计算与分析所需要的包都集成在了一起,我们只需要安装Anaconda软件就行了,其它什么都不用装,包括python软件。Anaconda则是一个打包的集合,里面包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不仅可以做数据分析,甚至可以用在大数据和人工智能领域。另外,安装它后就默认安装了python、IPython、Jupyter notebook和集成开发环境 Spyder等等。

conda 是开源包(packages)和虚拟环境(environment)的管理系统。
1、packages 管理: 可以使用 conda 来安装、更新 、卸载工具包 ,并且它更关注于数据科学相关的工具包。在安装 anaconda 时就预先集成了像 Numpy、Scipy、 pandas、Scikit-learn这些在数据分析中常用的包。另外值得一提的是,conda并不仅仅管理Python的工具包,它也能安装非python的包。比如在新版的 Anaconda 中就可以安装R语言的集成开发环境 Rstudio。
2、 虚拟环境管理: 在conda中可以建立多个虚拟环境,用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突。对纠结于 Python 版本的同学们,我们也可以建立 Python2 和 Python3 两个环境,来分别运行不同版本的 Python 代码。

Anaconda的优点总结起来就八个字:省时省心、分析利器。
1、省时省心: Anaconda通过管理工具包、开发环境、Python版本,大大简化了你的工作流程。不仅可以方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。
2、分析利器: 在 Anaconda 官网中是这么宣传自己的:适用于企业级大数据分析的Python工具。其包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不仅可以做数据分析,甚至可以用在大数据和人工智能领域。

anaconda自带了一款编辑器spyder与pycharm的比较。
相比较而言,pycharm用起来更便捷,虽然spyder中所有的变量也都能显示,方便调试,里边还有ipython notebook,但是很细节的一些代码写作还是pycharm更便捷一些,比如引号””,spyder貌似无自动匹配机制,输入一个引号还需输入另一个引号。
强烈推荐anaconda+pycharm组合,因为anaconda安装的时候已经默认为你安装了一大堆做数据分析常用的包,所以,直接在pycharm中把默认解释器改为anaconda中的python即可(在pycharm-》settings-》Project Interpreter里找到要改环境的项目,选中,然后右上侧点击齿轮,Add local, 选刚才新建环境里的python.exe , 我的在 C:\Anaconda2\envs\tensorflow\python.exe, 之后确认即可)。
另外,只是针对数据分析与机器学习,anaconda用起来更方便一些,对于python的其他用途,比如爬虫、web开发,pycharm更好一些。针对大型的web框架修改调试,还是需要个大型IDE。

2.1.2 Anaconda安装包

Anaconda官网:https://www.anaconda.com/
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
在上面找到最新版本的Anaconda安装包进行下载安装。注意要选择让它自动配置环境变量,没有选的话,也可以自己手动去配置。

2.1.3进行环境变量的测试

1、检查Anaconda是否成功安装:conda –version
2、检测目前安装了哪些环境:conda info –envs
3、查看当前有哪些可以使用的python版本:conda search –full -name python
4、安装python版本(安装3.5的版本,输入python=3.5版本后,系统会自动选择一个3.5.x的版本):conda create –name tensorflow python=3.5
5、激活TensorFlow 的环境:activate tensorflow
6、检测TensorFlow 的环境添加到了Anaconda里面:conda info –envs
7、检测当前环境中的python的版本:python –version
8、退出TensorFlow 的环境:deactivate
9、切换到TensorFlow 的环境:activate tensorflow

2.3 TensorFlow安装

2.3.1 TensorFlow安装

安装CPU版本输入:pip install –ignore-installed –upgrade tensorflow
安装GPU版本输入:pip install –ignore-installed –upgrade tensorflow-gpu

2.3.1 进行安装测试

打开安装的Anaconda
方法一:使用Anaconda Prompt的方式
1、直接点击进入
2、切换到tensorflow的环境:activate tensorflow
3、进入python编辑环境:python
4、然后编写一个使用的代码:
import tensorflow as tf
hello = tf.constant(“Hello World, TensorFlow!”)
sess = tf.Session()
print(sess.run(hello))

import tensorflow as tf
sess = tf.Session()
a = tf.constant(1)
b = tf.constant(2)
print(sess.run(a+b))

方法二:通过使用Anaconda中的spyder的编辑器
在spyder里对tensorflow说Hello! 直接输入程序即可。

OK,到这里的话,基本上从安装到成功就已经实现了。
温馨提示:如果你发现,你的conda和tensorflow环境都是安装成功的,但是一用测试代码进行跑的时候就出问题了,那么请注意,这个原因你由于你在安装tensorflow的时候,是直接在cmd下,而不是在你用conda激活的一个环境,所以导致,tensorflow并没有直接嵌入到conda环境,所以,就导致无法导入模块的一个错误;
解决方法:
(1)只需要在activate tensorflow 注意:这个环境是第三步中的第3点里面创建的;(2)然后再使用第五步中的命令就可以了

3 将Tensorflow环境嵌入到编辑器中

3.1 下载Pycharm软件

Pycharm官网:https://www.jetbrains.com/pycharm/download/#section=windows
最后使用时需要注册码,注册时 选择 Activate new license with License server (用license server 激活)
在 License sever address 处填入 https://jetlicense.nss.im/
点击 Activate 进行认证

3.2 在Pycharm中编写程序

在Pycharm中新建一个项目吧,注意Interpreter的选择,因为我们现在要测试的是tensorflow嵌入到我们的IDE,方便我们开发,所以这个python解析器就是要选择我们之前安装tensorflow目录下的解析器,否则的话,我们之后是使用不了tensorflow的模块的内容的哦。
创建一个py文件,用于编写测试代码:
import tensorflow as tf
hello = tf.constant(“Hello World, TensorFlow!”)
sess = tf.Session()
print(sess.run(hello))
若输出成功,那么环境已经整合完成啦。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值