我在tensorflow中运行了以下代码:
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}))
由于a = 3
的值是在分配操作之后计算的,我希望输出为4(c
。但是,当我将以下代码运行50次时,得到的结果为4,结果为-2(a = 0)。
谁能解释为什么会这样?谢谢!