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. |
© 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/config/run_functions_eagerly