control_dependencies函数有什么作用?

Brm*_*ßio 19 python tensorflow

我想举个例子来说明函数的用法tf.control_dependencies.例如,我要创建两个张量XY和它们是否相等或做一些印刷.

import tensorflow as tf

session = tf.Session()

X = tf.constant(5)
Y = tf.constant(50)

with tf.control_dependencies([tf.assert_equal(X, Y)]):
    print('X and Y are equal!')
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,X显然不等于Y.tf.control_dependencies在这种情况下做什么?

eta*_*ion 39

control_dependencies不是有条件的.它是一种向with块中创建的操作添加依赖项的机制.更具体地说,您control_dependencies确保在with块中定义的任何内容之前评估您在参数中指定的内容.

在您的示例中,您不在块中添加任何(TensorFlow)操作with,因此块不执行任何操作.

这个答案有一个如何使用的例子control_dependencies,它用于确保在评估batchnorm操作之前进行分配.