class_docstr: Combines datasets from two providers with zip.
class_docstr_tok: ["Combines","datasets","from","two","providers","with","zip","."]
docstr: Read dataset.
  
  Args:
    batch_size: Size of batches, can be a list to have varying batch_sizes.
    shuffle: Whether to shuffle the examples.
    repeats: Number of times to repeat dataset. -1 for endless repeats.
    drop_remainder: Whether the last batch should be dropped.
  
  Returns:
    A batched tf.data.Dataset.
code: def get_batch(
      self, batch_size, shuffle=True, repeats=-1, drop_remainder=False
  ):
      """Read dataset.
  
      Args:
        batch_size: Size of batches, can be a list to have varying batch_sizes.
        shuffle: Whether to shuffle the examples.
        repeats: Number of times to repeat dataset. -1 for endless repeats.
        drop_remainder: Whether the last batch should be dropped.
  
      Returns:
        A batched tf.data.Dataset.
      """
      if not self._batch_size_ratios:
          # One batch size for all datasets ('None' is batch shape).
          return super().get_batch(batch_size)
  
      else:
          # Varying batch sizes (Integer batch shape for each).
          batch_sizes = [
              int(batch_size * bsr) for bsr in self._batch_size_ratios
          ]
          datasets = tuple(
              dp.get_dataset(shuffle).batch(
                  bs, drop_remainder=drop_remainder
              )
              for bs, dp in zip(batch_sizes, self._data_providers)
          )
          dataset = tf.data.Dataset.zip(datasets)
          dataset = dataset.repeat(repeats)
          dataset = dataset.prefetch(buffer_size=_AUTOTUNE)
          return dataset
  
imports: import os
  from absl import logging
  from ddsp.spectral_ops import CREPE_FRAME_SIZE
  from ddsp.spectral_ops import CREPE_SAMPLE_RATE
  from ddsp.spectral_ops import get_framed_lengths
  import gin
  import tensorflow.compat.v2
  import tensorflow_datasets
label_desc: Use image node_id 2 for calling the ZippedProvider obj's underlying member method code with example usage: obj.get_batch(batch_size, shuffle, repeats, drop_remainder) and returns: super, dataset