tf.experimental.async_scope
Менеджер контекста для группирования асинхронных операций.
@tf_contextlib.contextmanager tf.experimental.async_scope()
Вызовы операций/функций внутри области могут возвращаться до завершения фактического выполнения. При выходе из асинхронной области будет автоматически добавлена синхронизационная преграда для обеспечения завершения всех асинхронных операций и вызовов функций, потенциально возбуждая исключения, если асинхронное выполнение приведет к ошибочному состоянию.
Пользователи могут написать следующий код для асинхронного вызова train_step_fn и регистрации метрики loss для каждой num_steps шагов в цикле обучения. train_step_fn внутри потребляет данные с помощью iterator.get_next(), и может вызывать OutOfRangeError при отсутствии данных. В случае:
try:
with tf.experimental.async_scope():
for _ in range(num_steps):
# Step function updates the metric `loss` internally
train_step_fn()
except tf.errors.OutOfRangeError:
tf.experimental.async_clear_error()
logging.info('loss =', loss.numpy())
Возвращает:
Менеджер контекста для группирования асинхронных операций.
© 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/experimental/async_scope