tf.executing_eagerly

Checks whether the current thread has eager execution enabled.

Used in the notebooks

Used in the tutorials

Eager execution is enabled by default and this API returns True in most of cases. However, this API might return False in the following use cases.

General case:

print(tf.executing_eagerly()) True

Inside tf.function:

@tf.function def fn():   with tf.init_scope():     print(tf.executing_eagerly())   print(tf.executing_eagerly()) fn() True False

Inside tf.function after tf.config.run_functions_eagerly(True) is called:

tf.config.run_functions_eagerly(True) @tf.function def fn():   with tf.init_scope():     print(tf.executing_eagerly())   print(tf.executing_eagerly()) fn() True True tf.config.run_functions_eagerly(False)

Inside a transformation function for tf.dataset:

def data_fn(x):   print(tf.executing_eagerly())   return x dataset = tf.data.Dataset.range(100) dataset = dataset.map(data_fn) False

True if the current thread has eager execution enabled.