Checks whether the current thread has eager execution enabled.
tf.compat.v1.executing_eagerly()
Eager execution is typically enabled via tf.compat.v1.enable_eager_execution
, but may also be enabled within the context of a Python function via tf.contrib.eager.py_func.
When eager execution is enabled, returns True
in most cases. However, this API might return False
in the following use cases.
tf.function
, unless under tf.init_scope
or tf.config.run_functions_eagerly(True)
is previously called.tf.dataset
.tf.compat.v1.disable_eager_execution()
is called.tf.compat.v1.enable_eager_execution()
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
Returns | |
---|---|
True if the current thread has eager execution enabled. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/executing_eagerly