1.1 什么是数据流图
TensorFlow使用符号计算图,这与Theano相似,不过与Theano相比,TensorFlow 更简洁。TensorFlow 的名字本身描述了它自身的执行原理: Tensor (张量)意味着N维数组,Flow (流)意味着基于数据流图的计算。数据流图中的图就是我们所说的有向图,在图这种数据结构中包含两种基本元素:节点和边。这两种元素在数据流图中有自己各自的作用,其中节点代表对数据所做的运算或某种算子(Operation)。另外,任何一种运算都有输人/输出,因此它也可以表示数据输人的起点或输出的终点。而边表示节点与节点之间的输人1输出关系,一种特殊类型的数据沿着这些边传递。这种特殊类型的数据在TensorFlow中被称为Tensor,即张量,所谓的张量通俗点说就是多维数组。
当我们向这种图中输人张量后,节点代表的操作就会被分配到计算设备完成计算,下面就是一个简单的数据流图。
1.2 TensorFlow实现数据流图
上面的图写成代码如下所示:
import tensorflow as tf
a = tf.constant(2)
b = tf.constant(4)
c = tf.multiply(a, b)
d = tf.add(a, b)
e = tf.add(c, d)
with tf.Session() as sess:
p