初识计算图与张量
Tensorflow程序中的计算过程可以表示为一个计算图(computation Graph,也称一个有向图(Directed Graph)),其作用与外观都可以类比程序流程图来理解,在计算图上我们可以直观地看出数据的计算流程。
计算图中的每一个运算操作可以视为一个节点(Node),每一个节点可以有任意个输入和任意个输出。
如果一个运算的输入取值自另一个运算的输出,那么称这两个运算存在依赖关系。存在依赖关系的两个节点之间通过边(Edge)相互连接。值得注意的是,有一类特殊的边中不存在数据流动,而是起着依赖控制(control dependencies)的作用。通俗的讲,就是让它的起始节点执行完成后再执行目标节点,以达到进行灵活的条件控制的目的。
张量(tensor)就是在边中流动(flow)的数据,其数据类型可以在编程时事先定义,也可以根据计算图的上下文结构推断而来。
Tensorflow之名的得来也是参考了上述所有概念。Tensor翻译成中文就是“张量”,“张量”这个概念在数学和物理学中都会涉及,在此不会对它的精确定义进行解释,可以将其