tf.executing_eagerly
Stay organized with collections
Save and categorize content based on your preferences.
Checks whether the current thread has eager execution enabled.
tf.executing_eagerly()
Used in the notebooks
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.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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.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#L2330-L2388) |\n\nChecks whether the current thread has eager execution enabled. \n\n tf.executing_eagerly()\n\n### Used in the notebooks\n\n| Used in the tutorials |\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - [Text classification with TensorFlow Hub: Movie reviews](https://www.tensorflow.org/tutorials/keras/text_classification_with_hub) - [Neural machine translation with attention](https://www.tensorflow.org/text/tutorials/nmt_with_attention) - [Fast Style Transfer for Arbitrary Styles](https://www.tensorflow.org/hub/tutorials/tf2_arbitrary_image_stylization) - [Text Classification with Movie Reviews](https://www.tensorflow.org/hub/tutorials/tf2_text_classification) - [Graph regularization for sentiment classification using synthesized graphs](https://www.tensorflow.org/neural_structured_learning/tutorials/graph_keras_lstm_imdb) |\n\nEager execution is enabled by default and this API returns `True`\nin most of cases. However, this API might return `False` in the following use\ncases.\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#### 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) after [`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"]]