【开源推荐】快速入门 Google 机器学习系统 TensorFlow
推荐:开源软件 机器学习系统 TensorFlow
如今,领先的科技巨头无不在机器学习下予以极大投入。
Facebook、苹果、微软,甚至国内的百度。Google 自然也在其中。
Google 的 TensorFlow 是最流行的开源 AI 库之一。
它的高计算效率,丰富的开发资源使它被企业和个人开发者广泛采用。
下面我首先将会对 TensorFlow 的基本定义和主要特征进行介绍。
授权协议:Apache-2.0
开发语言:C++、Python
操作系统:跨平台
开发厂商:Google
Github: https://github.com/tensorflow/tensorflow
TensorFlow 介绍
TensorFlow 是一个采用数据流图,用于数值计算的开源软件库。
TensorFlow 最初由Google 大脑小组(隶属于 Google 机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
什么是数据流图?
数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。
“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。
“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。
张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。
一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。
TensorFlow 的特征
● 高度的灵活性:只要你可以将你的计算表示为一个数据流图,你就可以使用Tensorflow
● 真正的可移植性
● 将科研和产品联系在一起:使用Tensorflow可以让应用型研究者将想法迅速运用到产品中,也可以让学术性研究者更直接地彼此分享代码,从而提高科研产出率。
● 自动求微分:你只需要定义预测模型的结构,将这个结构和目标函数(objective function)结合在一起,并添加数据,Tensorflow将自动为你计算相关的微分导数。
● 多语言支持
● 性能最优化:可以自由地将Tensorflow图中的计算元素分配到不同设备上,Tensorflow可以管理这些不同副本
基本使用
使用 TensorFlow, 你必须明白 TensorFlow:
● 使用图 (graph) 来表示计算任务.
● 在被称之为会话 (Session) 的上下文 (context) 中执行图.
● 使用 tensor 表示数据.
● 通过 变量 (Variable) 维护状态.
● 使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据.基本使用
转自:开源最前线