Tensorflow :简介

68 阅读3分钟

阅读时间: 2 分钟

什么是Tensorflow?

Tensorflow是一个开源的、用于数值计算的高性能库。它也可用于数学计算,不仅限于机器学习。它使用Python提供了一个前端的API来构建应用程序的框架,并在高性能的C++中执行这些应用程序。TensorFlow可以训练和运行深度神经网络。

它有一个广泛的工具、库和资源的生态系统来构建和部署最先进的企业级ML驱动的应用程序。

有向图

Tensorflow使用有向图。有向图(或数字图)是一种由有向边连接的顶点组成的图,通常称为弧。有向图可用于分析电路、制定时间表、寻找最短路线、分析社会关系,并为分析和解决许多其他问题构建模型。

它描述了数据如何在图中移动,或一系列的处理节点。图中的每个节点代表一个数学运算,而节点之间的每个连接或边是一个多维数据阵列,或张量。图或计算图包含一些节点,在这些节点上,使用定义的函数对张量进行处理/计算,当我们在图中向前移动时,这些节点被串联操作。例如,有一个函数f(x, y) = x^2 * y + y + 2,那么TensorFlow图将看起来像这样。

图:定向图

在上图中,我们可以看到对于一个特定的函数,我们可以制作一个有向/计算图,并应用我们的输入来获得结果。每个节点都有自己的预定义函数,并向它们提供输入。在函数应用于相应的输入后,我们得到输出,并在图中进一步使用。只是,我们的输入和输出从每个相应的节点是张量。

张量

简单地说,张量是用来描述物理特性的简单数学对象,就像标量和向量一样。它们是标量和矢量的概括;标量是一个零级张量,而矢量是一个一级张量。张量为解决弹性、流体力学和广义相对论等领域的物理学问题提供了一个数学框架。张量这个词来自拉丁语的tendere,意思是 "拉伸"。一个零阶的张量(零阶张量)是一个标量(简单的数字)。因此,TensorFlow的名字来自于这种神经网络在多维数据阵列上进行的操作,这些数据阵列被称为张量。

Tensorflow抽象层

TensorFlow提供了多个抽象层,这样我们在写代码的时候就知道有哪些东西可以用,也可以选择正确的函数或操作。

图:Tensorflow抽象层

库和扩展

TensorFlow提供了几个库和扩展,以建立高级模型或方法,并访问由TensorFlow扩展的特定领域的应用程序包。

参考资料

iq.opengenus.org/

github.com/tensorflow/…

分享Knol。

相关信息