Missed TensorFlow Dev Summit? Check out the video playlist. Watch recordings

tf.executing_eagerly

TensorFlow 1 version View source on GitHub

Checks whether the current thread has eager execution enabled.

tf.executing_eagerly()

Used in the notebooks

Used in the guide 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.experimental_run_functions_eagerly(True) is called:

tf.config.experimental_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.experimental_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 

Returns:

True if the current thread has eager execution enabled.