当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。