tf.config.run_functions_eagerly
Включает/отключает выполнение tf.function в режиме eager.
tf.config.run_functions_eagerly(
run_eagerly
)
Вызов tf.config.run_functions_eagerly(True) заставит все вызовы tf.function выполняться в режиме eager вместо выполнения как отслеженной функции графа.
Это может быть полезно для отладки или профилирования. Например, предположим, что вы реализовали простую итеративную функцию sqrt, и хотите собрать промежуточные значения и построить график сходимости. Добавление значений в список в @tf.function обычно не сработает, так как он будет просто записывать отслеживаемые тензоры, а не значения. Вместо этого вы можете сделать следующее.
ys = []
@tf.function
def sqrt(x):
y = x / 2
d = y
for _ in range(10):
d /= 2
if y * y < x:
y += d
else:
y -= d
ys.append(y.numpy())
return y
tf.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)
Вызов tf.config.run_functions_eagerly(False) отменит это поведение.
Примечание: Этот флаг не влияет на функции, переданные в преобразования tf.data в качестве аргументов. Функции tf.data никогда не выполняются в режиме eager и всегда выполняются как скомпилированный граф Tensorflow.
| Аргументы | |
|---|---|
run_eagerly | Булево значение. Нужно ли выполнять функции в режиме eager. |
© 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.3/api_docs/python/tf/config/run_functions_eagerly