一、数据流图
1、节点
通常以圆圈、椭圆和方框表示,代表对数据所做的某种运算或操作
2、边
对应于向Operation传入和从Operation传出的实际值,通常以箭头表示
3、TensorFlow中的数据流图
在TensorFlow上运行不同的模型,都有相同的两个步骤:
(1)定义数据流图
例如:下面这个数据流图,用TensorFlow表示:
import tensorflow as tf
a = tf.constant(5, name = 'input_a')
b = tf.constant(3, name = 'input_b')
c = tf.mul(a, b)
d = tf.add(a, b)
e = tf.add(b, c)
(2)运行数据流图
使用会话(Session)执行定义好的数据流图
sess = tf.Session()
sess.run(e)
二、TensorFlow基本数据结构
1、张量思维
(1)基本概念
张量(tensor):n维矩阵的抽象。
1阶张量:向量
2阶张量:矩阵
对于更高维数的张量,可以称为“N维张量”或者“N阶张量”
上述例子中,节点输入是标量,以后为了方便使用,改换为张量,这样可以简化流图:
简化后,数据流图的定义变为:
import tensorflow as tf
a = tf.constant([5, 3], name = "input_a")
b = tf.reduce_prod(a, name = "prod_b")
c = tf.reduce_sum(a, name = "sum_c")
d = tf.add(b, c,name = "add_d")
一般来说可以不加区分地使用“张量“或者”Tensor对象“
(2)张量形状
张量对象的属性:shape