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/api_docs/python/tf/experimental/async_scope