tf.control_dependencies的用法
sum = tf.Variable(1, dtype=tf.int32)
i = tf.placeholder(dtype=tf.int32)
tmp_sum = sum*i
assign_op = tf.assign(sum, tmp_sum)
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
for j in range(1, 6):
sess.run(assign_op, feed_dict={i: j})
print("5!={}".format(sess.run(sum)))
'''
'''
sum = tf.Variable(1, dtype=tf.int32)
i = tf.placeholder(dtype=tf.int32)
tmp_sum = sum*i
assign_op = tf.assign(sum, tmp_sum)
with tf.control_dependencies([assign_op]):
sum = tf.Print(sum, data=[sum, sum.read_value()], message='sum:')
''
data=[sum, sum.read_value()]的执行结果
sum:[1][1]
sum:[2][2]
sum:[6][6]
sum:[24][24]
sum:[120][120]
''
init_op = tf.global_variables_initializer()
with tf.Session(config=tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)) as sess:
sess.run(init_op)
for j in range(1, 6):
r = sess.run(sum, feed_dict={i: j})
print("5!={}".format(r))
'''