Да, именно так. Обратите внимание, что в противном случае порядок операций не определен, поэтому сначала будет вычисляться 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 , но две строки разные.