description: Enables / disables eager execution of tf.function
s.
![]() |
Enables / disables eager execution of tf.function
s.
tf.config.run_functions_eagerly(
run_eagerly
)
Calling tf.config.run_functions_eagerly(True)
will make all
invocations of tf.function
run eagerly instead of running as a traced graph
function.
This can be useful for debugging.
>>> def my_func(a):
... print("Python side effect")
... return a + a
>>> a_fn = tf.function(my_func)
>>> # A side effect the first time the function is traced
>>> a_fn(tf.constant(1))
Python side effect
<tf.Tensor: shape=(), dtype=int32, numpy=2>
>>> # No further side effect, as the traced function is called
>>> a_fn(tf.constant(2))
<tf.Tensor: shape=(), dtype=int32, numpy=4>
>>> # Now, switch to eager running
>>> tf.config.run_functions_eagerly(True)
>>> # Side effect, as the function is called directly
>>> a_fn(tf.constant(2))
Python side effect
<tf.Tensor: shape=(), dtype=int32, numpy=4>
>>> # Turn this back off
>>> tf.config.run_functions_eagerly(False)
Note: This flag has no effect on functions passed into tf.data transformations as arguments. tf.data functions are never executed eagerly and are always executed as a compiled Tensorflow Graph.
Args | |
---|---|
run_eagerly
|
Boolean. Whether to run functions eagerly. |