在Tensorflow的Session.run()
函数(link here)的文档中,据说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
是否会独立计算,即使它们共享某些操作?
我的猜测是计算将被重用,但我在文档中找不到答案。
谢谢!