Python Tensorflow是否对每个sess.run()节点重用计算?
在Tensorflow的Python Tensorflow是否对每个sess.run()节点重用计算?,python,tensorflow,Python,Tensorflow,在Tensorflow的Session.run()函数()的文档中,据说fetches参数可以是一个节点列表,以同时获得多个图形节点的输出,而不是一个 我的问题是,如果这些节点是相关的,并且它们之间有依赖关系,那么计算是共享的还是每个节点都有自己的计算 让我用一个例子更好地解释。假设我们有以下计算图: import tensorflow as tf a = tf.placeholder("float") b = tf.mul(a,3) c = tf.mul(b,-2) se
Session.run()
函数()的文档中,据说fetches
参数可以是一个节点列表,以同时获得多个图形节点的输出,而不是一个
我的问题是,如果这些节点是相关的,并且它们之间有依赖关系,那么计算是共享的还是每个节点都有自己的计算
让我用一个例子更好地解释。假设我们有以下计算图:
import tensorflow as tf
a = tf.placeholder("float")
b = tf.mul(a,3)
c = tf.mul(b,-2)
sess = tf.Session()
print(sess.run([b, c], feed_dict={a:2}))
输出将是
[6.0, -12.0]
但是获得b
的计算是否会被重用以获得c
?或者,b
和c
是否会独立计算,即使它们共享一些操作
我的猜测是,计算将被重用,但我在文档中找不到答案
谢谢 是的,计算是重复使用的。这是一个非常简单的优化,因此如果不实现它将是愚蠢的。好的,谢谢,我以为计算会被共享,但我不确定。谢谢你的确认!