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


Python tf.distribute.TPUStrategy.experimental_assign_to_logical_device用法及代码示例


用法

experimental_assign_to_logical_device(
    tensor, logical_device_id
)

参数

  • tensor 输入张量进行注释。
  • logical_device_id 张量将分配到的逻辑核心的 ID。

抛出

  • ValueError 呈现的逻辑设备 id 与设备分配指定的分区总数不一致,或者 TPUStrategy 是用 experimental_spmd_xla_partitioning=True 构造的。

返回

  • tensor 具有相同值的带注释的张量。

添加将tensor 分配给逻辑设备的注释。

这将向 tensor 添加注释,指定将在逻辑核心设备 ID logical_device_id 上调用 tensor 上的操作。使用模型并行时,默认行为是所有操作都放置在zero-th 逻辑设备上。

# Initializing TPU system with 2 logical devices and 4 replicas.
resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='')
tf.config.experimental_connect_to_cluster(resolver)
topology = tf.tpu.experimental.initialize_tpu_system(resolver)
device_assignment = tf.tpu.experimental.DeviceAssignment.build(
    topology,
    computation_shape=[1, 1, 1, 2],
    num_replicas=4)
strategy = tf.distribute.TPUStrategy(
    resolver, experimental_device_assignment=device_assignment)
iterator = iter(inputs)

@tf.function()
def step_fn(inputs):
  output = tf.add(inputs, inputs)

  # Add operation will be executed on logical device 0.
  output = strategy.experimental_assign_to_logical_device(output, 0)
  return output

strategy.run(step_fn, args=(next(iterator),))

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.distribute.TPUStrategy.experimental_assign_to_logical_device。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。