了解tf.assign的总和

时间:2019-07-17 22:05:21

标签: tensorflow

当我们添加两个tf.assign操作时会发生什么?

我使用tensorflow.assign遇到了一个奇怪的现象。评估时,两个assign操作的总和会产生意外的结果,并且我不确定这是错误还是功能。这里提供了最小的演示:

import tensorflow as tf


def test(sess):
    x = tf.Variable(1)
    u1 = tf.assign(x, x + 1)
    u2 = tf.assign(x, x - 1)
    plus = u1 + u2
    tf.global_variables_initializer().run(
        session=sess
    )
    print(plus.eval(session=sess))   # producing random values of 0 or 2 or 4

if __name__ == '__main__':
    sess = tf.InteractiveSession()
    [test(sess) for _ in range(50)]

0 个答案:

没有答案