1.数据流图
数据流图由两个基本构件(节点和边)组成。
(1)节点(node)
在数据流图的语境中,节点通常以圆圈、椭圆和方框表示,代表了对数据所做的运算或某种操作。
(2)边(edge)
对应于向Operation传入和从Operation传出的实际数值,通常以箭头表示。
注:在数据流图中的每一个节点都被称为一个Operation(简记为Op)。
各Op接收0个或多个Tensor对象作为输入,并输出0个或多个Tensor对象。
2.节点的依赖关系
对于任意节点A,如果其输出对于某个后继节点B的计算是必需的,则称节点A是节点B的依赖节点。
如果两个节点A和B彼此不需要对方的任何信息,则称两者是独立的。
依赖关系分为直接依赖、间接依赖。
3.在tensorflow中定义数据流图
示例:
import tensorflow as tf
a = tf.constant(5, name="input_a")
b = tf.constant(3, name="input_b")
c = tf.multiply(a,b, name="mul_c") #乘法
d = tf.add(a,b, name="add_d") #加法
e = tf.add(c,d, name="add_e") #加法
sess = tf.Session()
sess.run(e)
writer = tf.summary.FileWriter('./my_graph',sess.graph) #绘制数据流图
#第一个参数是一个字符串输出目录,即数据流图的描述在磁盘中的存放路径。注:"./"表示当前路径
#第二个参数是Session对象的graph属性
writer.close()
sess.close()