code: def __batch_iter(self):
      while True:
          try:
              batch = self._packer.add_data(self._ds_cfg)
          except EOFError:
              break
          if batch is None:
              continue
          yield batch
      if len(self._packer) > 0:
          batch = self._packer.pack_batch(force=True)
          if not self._drop_last:
              yield batch
      self._ds_cfg["dataset"]._repeat_times = 0
  
file_path: DeepKE/example/llm/CPM-Bee/src/cpm_live/training_tasks/bee/finetune.py
imports: from ...tokenizers import CPMBeeTokenizer
  from .pretrain import _MixedDatasetBatchPacker, _MixedDatasetConfig, CPMBeeBatch
  from ...dataset import SimpleDataset
  import bmtrain
label_desc: Use image node_id 2 for calling the FinetuneDataset obj's underlying member method code with example usage: obj.__batch_iter() without return types