TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now

View source on GitHub

Fused implementation of map and batch. (deprecated)

NOTE: This is an escape hatch for existing uses of map_and_batch that do not work with V2 functions. New uses are strongly discouraged and existing uses should migrate to map_and_batch as this method will not be removed in V2.


  • map_func: A function mapping a nested structure of tensors to another nested structure of tensors.
  • batch_size: A tf.int64 scalar tf.Tensor, representing the number of consecutive elements of this dataset to combine in a single batch.
  • num_parallel_batches: (Optional.) A tf.int64 scalar tf.Tensor, representing the number of batches to create in parallel. On one hand, higher values can help mitigate the effect of stragglers. On the other hand, higher values can increase contention if CPU is scarce.
  • drop_remainder: (Optional.) A tf.bool scalar tf.Tensor, representing whether the last batch should be dropped in case its size is smaller than desired; the default behavior is not to drop the smaller batch.
  • num_parallel_calls: (Optional.) A tf.int32 scalar tf.Tensor, representing the number of elements to process in parallel. If not specified, batch_size * num_parallel_batches elements will be processed in parallel. If the value is used, then the number of parallel calls is set dynamically based on available CPU.


A Dataset transformation function, which can be passed to


  • ValueError: If both num_parallel_batches and num_parallel_calls are specified.