tf.contrib.data.map_and_batch(
map_func,
batch_size,
num_parallel_batches=None,
drop_remainder=False,
num_parallel_calls=None
一个Dataset转换函数,它可以传递给 tf.data.Dataset.apply。
map_func,
batch_size,
num_parallel_batches=None,
drop_remainder=False,
num_parallel_calls=None
)
定义于:tensorflow/contrib/data/python/ops/batching.py。
复合实现map和batch。
map_func横跨dataset的batch_size个连续元素,然后将它们组合成一个batch。在功能上,它相当于map 后面跟着batch。但是,通过将两个转换融合在一起,实现可以更有效。在API中展示此转换是暂时的。一旦自动输入管道的优化实现了,map和batch的融合会自动发生,这个API将被弃用。
参数:
map_func:将tensor的嵌套结构映射到另一个tensor嵌套结构的函数。
batch_size:tf.int64,标量tf.Tensor,表示要在此数据集合并的单个batch中的连续元素数。
num_parallel_batches:(可选)tf.int64,标量tf.Tensor,表示要并行创建的batch数。一方面,较高的值可以帮助减轻落后者的影响。另一方面,如果CPU空闲,较高的值可能会增加竞争。
drop_remainder:(可选)tf.bool,标量tf.Tensor,表示是否应丢弃最后一个batch,以防其大小小于所需值; 默认行为是不删除较小的batch。
num_parallel_calls:(可选)tf.int32,标量tf.Tensor,表示要并行处理的元素数。如果未指定,则将并行处理batch_size * num_parallel_batches个元素。
返回:一个Dataset转换函数,它可以传递给 tf.data.Dataset.apply。