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 = %s', loss.numpy())
| Возвращаемое значение | |
|---|---|
| Менеджер контекста для группирования асинхронных операций. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/experimental/async_scope