TensorFlow图节点的评估顺序

时间:2018-04-27 18:27:30

标签: tensorflow

如果TensorFlow图的节点A,B和C依赖于节点D,那么将sess.run([A,B,C,D]),仅评估D一次并用它来计算A,B和C?

1 个答案:

答案 0 :(得分:1)

是的,确切地说。请注意,否则操作顺序未指定,因此将首先计算D,但如果A,B和C不相互依赖,则其计算顺序未确定。

但是单独的sess.run()电话 重新计算d。请考虑以下代码:

import tensorflow as tf

d = tf.random_uniform( shape = () )
a = d + 10.0
b = d + 20.0
c = d + 30.0

with tf.Session() as sess:
    print( sess.run( [ a, b, c, d ] ) )
    print( sess.run( [ a, b, c, d ] ) )

输出:

  

[10.559408,20.559408,30.559408,0.55940783]
  [10.313643,20.313644,30.313644,0.3136438]

如您所见,每行与随机生成器 d 具有相同的小数,但两行不同。

相关问题