Я пытался понять tf.control_dependencies()
и хотел убедиться, что он создает управляющие зависимости. Вот код
import tensorflow as tf
a = tf.get_variable('a', shape = [2, 3])
b = tf.get_variable('b', shape = [2, 3])
c = tf.scalar_mul(2, a)
d = tf.scalar_mul(3, b)
with tf.control_dependencies([d, c]):
f = d-c
print (f.op.control_inputs)
Он вернул []
, что было не то, что я ожидал. Если бы я добавил управляющие зависимости следующим образом
f = d-c
f.op._add_control_inputs([c.op, d.op])
print (f.op.control_inputs)
Это вернуло то, что я ожидал [<tf.Operation 'Mul' type=Mul>, <tf.Operation 'Mul_1' type=Mul>]
.
Итак, мой вопрос: действительно ли tf.control_dependencies()
добавляет управляющие зависимости? Или f.op.control_inputs
возвращает все управляющие входы?