Использование переменных как внутри, так и вне управляющих зависимостей - PullRequest
0 голосов
/ 30 июня 2019

Я запустил следующие коды в tenorflow:

a = tf.get_variable('a', initializer=0.0)
b = tf.placeholder(tf.float32, [])
with tf.control_dependencies([tf.assign_add(a, b)]):
    c = b + 1
    d = c / (a - 1)
with tf.Session() as sess:
    for _ in range(50):
        sess.run(tf.initialize_all_variables())
        print(sess.run(d, feed_dict={b: 3}))

Я ожидаю, что на выходе будет 4 (a = 3), поскольку значение c вычисляется после операции присваивания. Однако, когда я запускаю следующие коды 50 раз, я получаю некоторые результаты 4 и некоторые результаты -2 (a = 0).

Кто-нибудь может объяснить, почему это так? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...