tf.control_dependencies()代表当括号里面的参数执行完毕再执行with里面的语句,一般都会与with共用
with tf.control_dependencies(a):
之后再执行的语句
如果是多个参数就是
with tf.control_dependencies([a,b]):
之后再执行的语句
当a与b都执行完毕才执行里面的语句
是不是感觉头晕脑胀
我们来看一个例子才知道是什么意思?
import tensorflow as tf
a_2 = tf.Variable(1)
b_2 = tf.Variable(2)
#把a_2的值赋值为10
op = tf.assign(a_2, 10)
add_with_dependencies = tf.add(a_2, b_2)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
ans_2 = sess.run([add_with_dependencies])
print("Add: ", ans_2)
我们先看这个就是简单的相加操作,第一步初始化变量,然后输出add_with_dependencies;
结果是3,因为从头到尾都没有涉及到赋值!
如果用了
with tf.control_dependencies([op]):就代表要