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 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.

Compat aliases