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


Python tf.distribute.InputOptions用法及代码示例


experimental_distribute_dataset(s_from_function) 的运行选项。

用法

tf.distribute.InputOptions(
    experimental_fetch_to_device=None,
    experimental_replication_mode=tf.distribute.InputReplicationMode.PER_WORKER,
    experimental_place_dataset_on_device=False,
    experimental_per_replica_buffer_size=1
)

属性

  • experimental_fetch_to_device 布尔值。如果为 True,数据集元素将被预取到加速器设备内存。当为 False 时,数据集元素被预取到主机设备内存。使用 TPUEmbedding API 时必须为 False。 experimental_fetch_to_device 只能与experimental_replication_mode=PER_WORKER 一起使用。默认行为与将其设置为 True 相同。
  • experimental_replication_mode 输入函数的复制模式。目前,仅 tf.distribute.MirroredStrategy 支持 InputReplicationMode.PER_REPLICA。 experimental_distribute_datasets_from_function。默认值为 InputReplicationMode.PER_WORKER。
  • experimental_place_dataset_on_device 布尔值。默认为假。当为 True 时,数据集将放置在设备上,否则将保留在主机上。 experimental_place_dataset_on_device=True 只能与experimental_replication_mode=PER_REPLICA一起使用
  • experimental_per_replica_buffer_size 整数。默认为 1。指示副本设备内存中的预取缓冲区大小。用户可以将其设置为 0 以完全禁用预取行为,或者将其设置为大于 1 的数字以启用更大的缓冲区大小。请注意,此选项对 experimental_fetch_to_device=False 仍然有效。

这可用于保存一些特定于策略的配置。

# Setup 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.TPUStrategy(resolver)

dataset = tf.data.Dataset.range(16)
distributed_dataset_on_host = (
    strategy.experimental_distribute_dataset(
        dataset,
        tf.distribute.InputOptions(
            experimental_replication_mode=
            experimental_replication_mode.PER_WORKER,
            experimental_place_dataset_on_device=False,
            experimental_per_replica_buffer_size=1)))

相关用法


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