tf.config.run_functions_eagerly

Enables / disables eager execution of tf.functions.

Calling tf.config.run_functions_eagerly(True) will make all invocations of tf.function run eagerly instead of running as a traced graph function.

This can be useful for debugging.

def my_func(a):
 print("Python side effect")
 return a + a
a_fn = tf.function(my_func)
# A side effect the first time the function is traced
a_fn(tf.constant(1))
Python side effect
<tf.Tensor: shape=(), dtype=int32, numpy=2>
# No further side effect, as the traced function is called
a_fn(tf.constant(2))
<tf.Tensor: shape=(), dtype=int32, numpy=4>
# Now, switch to eager running
tf.config.run_functions_eagerly(True)
# Side effect, as the function is called directly
a_fn(tf.constant(2))
Python side effect
<tf.Tensor: shape=(), dtype=int32, numpy=4>
# Turn this back off
tf.config.run_functions_eagerly(False)

run_eagerly Boolean. Whether to run functions eagerly.