View source on GitHub
|
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.
- Executing inside
tf.function, unless undertf.init_scopeortf.config.run_functions_eagerly(True)is previously called. - Executing inside a transformation function for
tf.dataset. tf.compat.v1.disable_eager_execution()is called.
tf.compat.v1.enable_eager_execution()General case:
print(tf.executing_eagerly())True
Inside tf.function:
@tf.functiondef fn():with tf.init_scope():print(tf.executing_eagerly())print(tf.executing_eagerly())fn()TrueFalse
Inside tf.function
after tf.config.run_functions_eagerly(True) is called:
tf.config.run_functions_eagerly(True)@tf.functiondef fn():with tf.init_scope():print(tf.executing_eagerly())print(tf.executing_eagerly())fn()TrueTruetf.config.run_functions_eagerly(False)
Inside a transformation function for tf.dataset:
def data_fn(x):print(tf.executing_eagerly())return xdataset = tf.data.Dataset.range(100)dataset = dataset.map(data_fn)False
Returns | |
|---|---|
True if the current thread has eager execution enabled.
|
View source on GitHub