TPU 和 TPU Pod 的同步训练。
继承自:Strategy
用法
tf.distribute.experimental.TPUStrategy(
tpu_cluster_resolver=None, device_assignment=None
)
参数
-
tpu_cluster_resolver
一个 tf.distribute.cluster_resolver.TPUClusterResolver,它提供有关 TPU 集群的信息。 -
device_assignment
可选tf.tpu.experimental.DeviceAssignment
指定副本在 TPU 集群上的位置。
属性
-
cluster_resolver
返回与此策略关联的集群解析器。tf.distribute.experimental.TPUStrategy
提供关联的tf.distribute.cluster_resolver.ClusterResolver
。如果用户在__init__
中提供了一个,则返回该实例;如果用户没有,则提供默认的tf.distribute.cluster_resolver.TPUClusterResolver
。 -
extended
tf.distribute.StrategyExtended
与其他方法。 -
num_replicas_in_sync
返回聚合梯度的副本数。
要构造 TPUStrategy 对象,您需要运行如下初始化代码:
resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='')
tf.config.experimental_connect_to_cluster(resolver)
tf.tpu.experimental.initialize_tpu_system(resolver)
strategy = tf.distribute.experimental.TPUStrategy(resolver)
在使用分发策略时,在策略范围内创建的变量将在所有副本中复制,并且可以使用 all-reduce 算法保持同步。
要在 TPU 上运行 TF2 程序,您可以将 tf.keras
中的 .compile
和 .fit
API 与 TPUStrategy 一起使用,或者通过直接调用 strategy.run
来编写自己的自定义训练循环。请注意,TPUStrategy 不支持纯粹的 Eager 执行,因此请确保传递给 strategy.run
的函数是 tf.function
或 strategy.run
如果启用了 Eager 行为,则在 tf.function
内调用。
相关用法
- Python tf.distribute.experimental.TPUStrategy.experimental_distribute_values_from_function用法及代码示例
- Python tf.distribute.experimental.TPUStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.distribute.experimental.TPUStrategy.gather用法及代码示例
- Python tf.distribute.experimental.TPUStrategy.reduce用法及代码示例
- Python tf.distribute.experimental.TPUStrategy.scope用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.gather用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy用法及代码示例
- Python tf.distribute.experimental.rpc.Server.create用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.distribute.experimental.partitioners.Partitioner.__call__用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.run用法及代码示例
- Python tf.distribute.experimental.partitioners.MaxSizePartitioner.__call__用法及代码示例
- Python tf.distribute.experimental.partitioners.FixedShardsPartitioner用法及代码示例
- Python tf.distribute.experimental.ParameterServerStrategy.gather用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.scope用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.reduce用法及代码示例
- Python tf.distribute.experimental.partitioners.MinSizePartitioner用法及代码示例
- Python tf.distribute.experimental.ParameterServerStrategy.experimental_distribute_values_from_function用法及代码示例
- Python tf.distribute.experimental.CentralStorageStrategy.experimental_distribute_values_from_function用法及代码示例
- Python tf.distribute.experimental.CentralStorageStrategy用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.distribute.experimental.TPUStrategy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。