TensorFlow介绍
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,
但这个系统的通用性使其也可广泛用于其他计算领域。它是谷歌基于DistBelief进行研发的第二代人工智能学习系统。2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。
其命名来源于本身的原理,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。Tensorflow运行过程就是张量从图的一端流动到另一端的计算过程。张量从图中流过的直观图像是其取名为“TensorFlow”的原因。
关键点
TensorFlow的关键点:Data Flow Graphs!
TensorFlow是一种基于图的计算框架,其中节点(nodes)在图中表示数学操作,线(edges)表示在节点间互相联系的多维数据数组,即张量(Tensor),这种基于流的框架让TensorFlow具有非常高的灵活性,可以在多个平台上进行计算,如台式计算机,服务器,移动设备等。TensorFlow的开发过程重点在于构建执行流图
数据流图使用节点和线的有向图描述数学计算,节点一般用来表示施加的数学操作,也可以表示数据输入的起点和输出的重点或者读取/写入持久变量的重点,线表示的是节点之间的输入/输出关系,这些线可以输运“size可动态调整”的多维数组,即张量(Tensor);一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。
特性
- 高度的灵活性:只要能够将计算表示成为一个数据流图,就可以使用TensorFlow
- 可移植性:TensorFlow支持CPU和GPU的运算,并且可以运行在台式机,服务器,手机移动端设备等
- 自动求微分:TensorFlow内部实现了自动对于各种给定目标函数求导的方式
- 多语言支持:Python,C++
- 性能高度优化
TensorFlow神经网络直观案例
GitHub
Website
why choose?
机器学习处理的数据量即效果都陷入瓶颈,深度学习开拓了新思路。
【深度学习框架的使用(市占率)占比】
【框架对比】
TensorFlow安装
要求:Python必须是64位
根据TensorFlow的计算方式,TensorFlow的安装分位CPU版本和GPU版本:
- 对于Python3.5、3.6版本,pip install tensorflow==1.40(安装CPU)和pip install tensorflow-gpu==1.40(安装GPU)
- 安装到GPU上,默认在GPU上运行,可以指定CPU上运行,因为GPU的运行速度比CPU快,所以会尽可能的运行在GPU上
- 对于Python2.7,只能通过源码编译来安装TensorFlow(Windows操作系统)
- TensorFlow-GPU要求机器的显卡必须是NVidia的显卡