在tensorflow文档(版本r0.11)之后,我得到了双打印而不是单打印

时间:2016-11-07 16:23:49

标签: python-3.x tensorflow

在tensorflow文档(版本r0.11,Python 3.4.3)之后,我输错了两次1而不是1

代码如下:

import tensorflow as tf
state = tf.Variable(0, name="counter")
one = tf.constant(1)
new_value = tf.add(state, one)
update = tf.assign(state, new_value)
init_op = tf.initialize_all_variables()
with tf.Session() as sess:
  sess.run(init_op)
  print(sess.run(state))
  for _ in range(3):
    sess.run(update)
    print(sess.run(state))

然后打印结果就像这样

0
1
1
2
2
3
3

1 个答案:

答案 0 :(得分:1)

sess.run(update)更新变量返回其值。因此,当您在python shell中运行此代码时,它会打印state的值(请参阅here why)。

因此,如果您只想查看state的每个新值的一次,请删除  print(sess.run(state))或用python脚本编写代码。