當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.experimental.async_scope用法及代碼示例


用於對異步操作進行分組的上下文管理器。

用法

@tf_contextlib.contextmanager
tf.experimental.async_scope()

生成(Yield)

  • 用於對異步操作進行分組的上下文管理器。

範圍內的操作/函數調用可以在完成實際執行之前返回。退出異步作用域時,將自動添加同步屏障以確保完成所有異步操作和函數執行,如果異步執行導致錯誤狀態,則可能引發異常。

用戶可以編寫以下代碼來異步調用 train_step_fn 並為訓練循環中的每個 num_steps 步驟記錄 loss 指標。 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())

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.experimental.async_scope。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。