Tensorflow的工作原理

TensorFlow主要分为计算模型、数据模型和运行模型.

TensorFlow计算模型——计算图

TensorFlow中的计算可以表示为一个有向图(directed graph),或称为计算图(computation graph),其中每一个运算操作(operation)将作为一个节点(Node),节点与节点之间的连接称为边(edge)。这个计算图描述了数据的计算流程,在计算图的边中流动(flow)的数据被称为张量(tensor),故得名Tensorflow。

TensorFlow数据模型——张量

张量是TensorFlow管理数据的形式,从功能的角度看,张量就是一个多维数组。一个张量中主要保存了三个属性:名字(name)、维度(shape)和类型(type)。

TensorFlow计算模型——会话

Session是用户使用TensorFlow时的交互式接口。用户可以通过Session的Extend方法添加新的节点和边,用以创建计算图,然后就可以通过Session的Run方法执行计算图:用户给出需要计算的节点,同时提供数据,TensorFlow就会自动寻找所有需要计算的节点并按依赖顺序执行它们。对于绝大部分的用户来说,他们只会创建一次计算图,然后反复地执行整个计算图或是其中的一部分子图(sub-graph)。会话拥有并管理TensorFlow程序运行时的所有的资源。


tensorflow程序一般分为两个阶段,第一阶段是定义计算图的所有计算,第二阶段是使用会话执行计算,会话拥有并管理tensorflow程序运行时的所有资源。所有计算完成后需要关闭会话来帮助系统回收资源,否则可能会出现资源泄露的问题。

相关推荐