class_docstr: The base class for all minibatch iterators.
  
  Args:
      batch: The input multi-agent batch.
      minibatch_size: The size of the minibatch for each module_id.
      num_iters: The number of epochs to cover. If the input batch is smaller than
          minibatch_size, then the iterator will cycle through the batch until it
          has covered num_iters epochs.
code: def __init__(
      self,
      batch: MultiAgentBatch,
      minibatch_size: int,
      num_iters: int = 1,
  ) -> None:
      pass
  
imports: import math
  from typing import List
  from ray.rllib.policy.sample_batch import MultiAgentBatch, concat_samples
  from ray.rllib.policy.sample_batch import SampleBatch
  from ray.rllib.utils.annotations import DeveloperAPI
  from ray.rllib.utils.typing import EpisodeType
label_desc: Use image node_id 1 to create a new MiniBatchIteratorBase object  with example: obj = MiniBatchIteratorBase(batch, minibatch_size, num_iters)