tf.config.run_functions_eagerly  |  TensorFlow v2.16.1 (original) (raw)

tf.config.run_functions_eagerly

Stay organized with collections Save and categorize content based on your preferences.

Enables / disables eager execution of tf.functions.

View aliases

Compat aliases for migration

SeeMigration guide for more details.

tf.compat.v1.config.run_functions_eagerly

tf.config.run_functions_eagerly(
    run_eagerly
)

Used in the notebooks

Used in the guide
Introduction to graphs and tf.function

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. As the code now runs line-by-line, you can add arbitrary print messages or pdb breakpoints to monitor the inputs/outputs of each Tensorflow operation. However, you should avoid using this for actual production because it significantly slows down execution.

def my_func(a): print(f'a: {a}') return a + a a_fn = tf.function(my_func)

# A side effect the first time the function is traced # In tracing time, `a` is printed with shape and dtype only a_fn(tf.constant(1)) a: Tensor("a:0", shape=(), dtype=int32) <tf.Tensor: shape=(), dtype=int32, numpy=2>

# `print` is a python side effect, it won't execute 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) # The code now runs eagerly and the actual value of `a` is printed a_fn(tf.constant(2)) a: 2 <tf.Tensor: shape=(), dtype=int32, numpy=4>

# Turn this back off tf.config.run_functions_eagerly(False)

Args
run_eagerly Boolean. Whether to run functions eagerly.