View source on GitHub
|
Enables / disables eager execution of tf.functions.
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 or profiling. For example, let's say you
implemented a simple iterative sqrt function, and you want to collect the
intermediate values and plot the convergence. Appending the values to a list
in @tf.function normally wouldn't work since it will just record the Tensors
being traced, not the values. Instead, you can do the following.
ys = []@tf.functiondef sqrt(x):y = x / 2d = yfor _ in range(10):d /= 2if y * y < x:y += delse:y -= dys.append(y.numpy())return ytf.config.run_functions_eagerly(True)sqrt(tf.constant(2.))<tf.Tensor: shape=(), dtype=float32, numpy=1.4150391>ys[1.5, 1.25, 1.375, 1.4375, 1.40625, 1.421875, 1.4140625, 1.4179688, 1.4160156,1.4150391]tf.config.run_functions_eagerly(False)
Calling tf.config.run_functions_eagerly(False) will undo this
behavior.
Args | |
|---|---|
run_eagerly
|
Boolean. Whether to run functions eagerly. |
View source on GitHub