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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。