用法
distribute_datasets_from_function(
dataset_fn, options=None
)
参数
-
dataset_fn
采用tf.distribute.InputContext
实例并返回tf.data.Dataset
的函数。 -
options
tf.distribute.InputOptions
用于控制有关此数据集如何分布的选项。
返回
-
一个“分布式
Dataset
”,调用者可以像常规数据集一样对其进行迭代。
分发由对 dataset_fn
的调用创建的 tf.data.Dataset
实例。
dataset_fn
将为策略中的每个工作人员调用一次。在这种情况下,我们只有一个工人和一个设备,所以 dataset_fn
被调用一次。
dataset_fn
应该采用 tf.distribute.InputContext
实例,其中可以访问有关批处理和输入复制的信息:
def dataset_fn(input_context):
batch_size = input_context.get_per_replica_batch_size(global_batch_size)
d = tf.data.Dataset.from_tensors([[1.]]).repeat().batch(batch_size)
return d.shard(
input_context.num_input_pipelines, input_context.input_pipeline_id)
inputs = strategy.distribute_datasets_from_function(dataset_fn)
for batch in inputs:
replica_results = strategy.run(replica_fn, args=(batch,))
重要的:dataset_fn
返回的 tf.data.Dataset
应该具有 per-replica 批量大小,这与使用全局批量大小的 experimental_distribute_dataset
不同。这可以使用 input_context.get_per_replica_batch_size
来计算。
相关用法
- Python tf.distribute.OneDeviceStrategy.experimental_distribute_values_from_function用法及代码示例
- Python tf.distribute.OneDeviceStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.distribute.OneDeviceStrategy.gather用法及代码示例
- Python tf.distribute.OneDeviceStrategy.reduce用法及代码示例
- Python tf.distribute.OneDeviceStrategy用法及代码示例
- Python tf.distribute.TPUStrategy用法及代码示例
- Python tf.distribute.experimental_set_strategy用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.gather用法及代码示例
- Python tf.distribute.cluster_resolver.TFConfigClusterResolver用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy用法及代码示例
- Python tf.distribute.TPUStrategy.experimental_assign_to_logical_device用法及代码示例
- Python tf.distribute.NcclAllReduce用法及代码示例
- Python tf.distribute.experimental.rpc.Server.create用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.distribute.MirroredStrategy.reduce用法及代码示例
- Python tf.distribute.Strategy.scope用法及代码示例
- Python tf.distribute.TPUStrategy.reduce用法及代码示例
- Python tf.distribute.experimental.partitioners.Partitioner.__call__用法及代码示例
- Python tf.distribute.DistributedIterator.get_next用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.distribute.OneDeviceStrategy.distribute_datasets_from_function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。