tf.compat.v1.executing_eagerly
Stay organized with collections
Save and categorize content based on your preferences.
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.compat.v1.enable_eager_execution()
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
Returns |
True if the current thread has eager execution enabled.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[null,null,["Last updated 2024-04-26 UTC."],[],[],null,["# tf.compat.v1.executing_eagerly\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/eager/context.py#L2391-L2451) |\n\nChecks whether the current thread has eager execution enabled. \n\n tf.compat.v1.executing_eagerly()\n\nEager execution is typically enabled via\n[`tf.compat.v1.enable_eager_execution`](../../../tf/compat/v1/enable_eager_execution), but may also be enabled within the\ncontext of a Python function via tf.contrib.eager.py_func.\n\nWhen eager execution is enabled, returns `True` in most cases. However,\nthis API might return `False` in the following use cases.\n\n- Executing inside [`tf.function`](../../../tf/function), unless under [`tf.init_scope`](../../../tf/init_scope) or [`tf.config.run_functions_eagerly(True)`](../../../tf/config/run_functions_eagerly) is previously called.\n- Executing inside a transformation function for `tf.dataset`.\n- [`tf.compat.v1.disable_eager_execution()`](../../../tf/compat/v1/disable_eager_execution) is called.\n\n tf.compat.v1.enable_eager_execution()\n\n#### General case:\n\n print(tf.executing_eagerly())\n True\n\nInside [`tf.function`](../../../tf/function): \n\n @tf.function\n def fn():\n with tf.init_scope():\n print(tf.executing_eagerly())\n print(tf.executing_eagerly())\n fn()\n True\n False\n\nInside [`tf.function`](../../../tf/function)\nafter [`tf.config.run_functions_eagerly(True)`](../../../tf/config/run_functions_eagerly) is called: \n\n tf.config.run_functions_eagerly(True)\n @tf.function\n def fn():\n with tf.init_scope():\n print(tf.executing_eagerly())\n print(tf.executing_eagerly())\n fn()\n True\n True\n tf.config.run_functions_eagerly(False)\n\nInside a transformation function for `tf.dataset`: \n\n def data_fn(x):\n print(tf.executing_eagerly())\n return x\n dataset = tf.data.Dataset.range(100)\n dataset = dataset.map(data_fn)\n False\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| `True` if the current thread has eager execution enabled. ||\n\n\u003cbr /\u003e"]]