什么是 TensorFlow?

TensorFlow 是 Google 开发的用于机器学习/智能的开源软件库

入门

关于 TensorFlow

TensorFlow ™ 是一个开放源码软件库利用数据流图的数值计算。图中的节点表示的数学运算,而图中的边表示多维数据数组 (张量) 传达他们之间。灵活的体系结构允许您将部署到一个或多个 Cpu 或 Gpu 的计算,在桌面、 服务器或移动设备与一个单一的 API。TensorFlow 最初是由研究人员和工程师在谷歌脑团队在 Google 的机器智能研究组织内为进行机器学习和深层神经网络研究,但系统的通用程度足以非常适用于种类繁多的以及其他域。

这个开源版本支持单机设备和移动设备。

Tensors Flowing

上图即为数据流示意图

数据流图描述与有向图的节点与边的数学计算。节点通常执行数学运算,但也可以表示数据在饲料、 推出结果,或读/写持久性变量的终结点。边缘描述输入/输出节点之间的关系。这些数据边缘进行动态大小多维数据数组或张量。通过图张量流是 TensorFlow 在哪里获取其名称。节点分配给计算设备和执行异步和并行,一旦所有的张量其传入的边缘变得可用。

TensorFlow 功能

深入的灵活性

TensorFlow 并不是刚性的神经网络库。如果你可以表达你计算作为数据流图,您可以使用 TensorFlow。你构造图,和你写驱动器计算的内部循环。我们提供有用的工具来组装子图共同在神经网络中,但用户可以编写他们自己在 TensorFlow 的高级库。定义运营商方便新成分是一样容易编写 Python 函数和你任何性能损失。如果你看不到你需要低级数据操作员编写 c + + 来添加一个新的。

真正的便携性

TensorFlow 运行 Cpu 或 Gpu,和桌面、 服务器或移动计算平台。想要玩弄一种机器学习上你的笔记本电脑不需要任何特殊硬件的想法吗?TensorFlow 有你覆盖。准备好放大和培训这种模式在 Gpu 上不需要更改代码更快吗?TensorFlow 有你覆盖。想要部署移动那受过训练的模型作为您产品的一部分吗?TensorFlow 有你覆盖。改变你的头脑和想要作为服务在云中运行模型吗?我国码头和 TensorFlow 只是工程。

连接研究和生产

当移动机器学习的想法从研究到产品需要主要重写的日子已经一去不复返了。在谷歌,研究科学家实验与新算法 TensorFlow,和产品团队使用 TensorFlow 来训练,服务模型活到真正的客户。使用 TensorFlow 允许工业研究人员思想推向产品速度更快,并允许学术研究人员共享代码,更直接、 更科学的重现性。

自动分化

基于梯度机器学习算法将受益于TensorFlow的自动分化能力。作为一个TensorFlow用户,您定义预测模型的计算架构,再加上你的目标函数,只需添加数据 – TensorFlow把手计算衍生为您服务。计算一些数值的衍生w.r.t.模型中的其他值只是扩展了你的图形,让你总能看到究竟发生了什么事情。

语言选项

TensorFlow配备了一个易于使用的Python接口和一个没有废话C ++接口来构建和执行您的计算图表。编写独立TensorFlow Python或C ++程序,或尝试的东西在一个互动TensorFlow IPython的笔记本,你可以保持笔记,代码和可视化逻辑分组。这仅仅是个开始,但 – 我们希望能够吸引你贡献SWIG接口到你喜欢的语言 – 无论是走,爪哇,Lua中,JavaScript或R.

最大化性能

想要在一个有 32 个 CPU 内核和 4 GPU 卡工作站中使用每一盎司的肌肉?对线程、 队列和异步计算的一流支持,TensorFlow 允许您充分利用您现有的硬件。自由地将您的 TensorFlow 图的计算元素分配给不同的设备,和让 TensorFlow 处理拷贝。

谁能用 TensorFlow?

TensorFlow 是为每一个人。它是为学生、 研究者、 爱好者、 黑客、 工程师、 开发人员、 发明家和创新者和正在开放来源下 Apache 2.0 开放源码许可。 Apache 2.0 open source license.

TensorFlow是不完整的;它旨在加以扩大和延长。我们已经取得的源代码的最初版本,并继续积极开展工作,使之更好。我们希望,无论是通过提供反馈和积极推动的源代码,以建立一个活跃的开源社区,推动这个库的未来。

Google 为什么将该项目开源呢?

如果TensorFlow是如此之大,而不是为什么开源它保持它的专有?答案是比你想象的简单:我们认为,机器学习是一个关键因素,以创新的产品和未来技术。这方面的研究是全球性的和不断增长的速度很快,但缺乏标准工具。通过分享我们认为是在世界上最好的机器学习工具箱中的一个,我们希望创造一个开放的标准用来交换的研究思路,并把机器学习的产品。谷歌的工程师确实使用TensorFlow在面向用户的产品和服务,而我们的研究小组打算沿边我们的许多研究出版物交流TensorFlow实现。

本文采用机器翻译,可以移步英文原版: http://www.codeclip.com/2707.html
TensorFlow 官方网站: http://tensorflow.org/
TensorFlow 项目源码: https://github.com/tensorflow/tensorflow
TensorFlow 白皮书PDF下载: http://download.tensorflow.org/paper/whitepaper2015.pdf