当我们添加两个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)]