Tensorflow 张量流图生成机制

Tensorflow 张量流图生成机制,tensorflow,graph,Tensorflow,Graph,当我试图理解以下tensorflow图形构建代码的基本机制时,我对第3行和第4行感到困惑。我假设在+运算符重载的一侧,加法器_节点构建对a和b的引用。然而,当加法器_节点在第4行执行时,区分a(a:3)和b(b:3)的机制是什么。比方说,如果占位符被值填充,并且如果加法器_节点同时引用了a和b,那么为什么我们必须再次传递这些参数 a = tf.placeholder(tf.float32) b = tf.placeholder(tf.float32) adder_node = a + b pr

当我试图理解以下tensorflow图形构建代码的基本机制时,我对第3行和第4行感到困惑。我假设在+运算符重载的一侧,加法器_节点构建对a和b的引用。然而,当加法器_节点在第4行执行时,区分a(a:3)和b(b:3)的机制是什么。比方说,如果占位符被值填充,并且如果加法器_节点同时引用了a和b,那么为什么我们必须再次传递这些参数

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b 
print(sess.run(adder_node, {a: 3, b: 4.5}))

a
b
adder\u节点都是图形中的节点

adder\u节点
知道获取
a
b
中的值并对其执行操作。图表如下所示:

当您执行
sess.run(adder\u node)
时,您告诉tensorflow计算
adder\u node
的值(即执行所有相关操作并执行
adder\u node

为了计算
adder\u节点
tf将计算
a
b
的值,它们是占位符,因此它们的操作是从提要中获取值。因此,每次需要计算
adder\u节点
时,必须为占位符提供值,以便计算它们

{a:3,b:4.5}
并不是专门将参数传递给
加法器节点
,而是将参数传递给图形

您可以使用此代码将a、b和c作为参数传递给图形,并使用加法器_节点将z和c相加:

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
c = tf.placeholder(tf.float32)
z = a + b 
adder_node = z + c
print(sess.run(adder_node, {a: 3, b: 4.5, c: 1.5}))

a
b
adder\u节点都是图形中的节点

adder\u节点
知道获取
a
b
中的值并对其执行操作。图表如下所示:

当您执行
sess.run(adder\u node)
时,您告诉tensorflow计算
adder\u node
的值(即执行所有相关操作并执行
adder\u node

为了计算
adder\u节点
tf将计算
a
b
的值,它们是占位符,因此它们的操作是从提要中获取值。因此,每次需要计算
adder\u节点
时,必须为占位符提供值,以便计算它们

{a:3,b:4.5}
并不是专门将参数传递给
加法器节点
,而是将参数传递给图形

您可以使用此代码将a、b和c作为参数传递给图形,并使用加法器_节点将z和c相加:

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
c = tf.placeholder(tf.float32)
z = a + b 
adder_node = z + c
print(sess.run(adder_node, {a: 3, b: 4.5, c: 1.5}))
“再次传递这些参数”是指向
sess.run
提供
feed\u dict
?通过“再次传递这些参数”,是指向
sess.run
提供
feed\u dict