class_docstr: Internal multi-worker iterator for DataLoader.
code: def __init__(
      self,
      worker_pool,
      batchify_fn,
      dataset_iter=None,
      pin_memory=False,
      worker_fn=_batch_worker_fn,
      prefetch=0,
      manager=None,
  ):
      self._worker_pool = worker_pool
      self._batchify_fn = batchify_fn
      self._data_buffer = {}
      self._rcvd_idx = 0
      self._sent_idx = 0
      self._dataset_iter = iter(dataset_iter)
      self._worker_fn = worker_fn
      self._pin_memory = pin_memory
      self._prefetch = prefetch
      self._dataset = None
      self._batch_iter = None
      self._manager = manager
  
      # datasets reference list
      self._dataset_refs = []
  
      # counter reference dict
      self._counter_ref = {}
  
      # pre-fetch
      for _ in range(self._prefetch):
          self._push_next()
  
imports: import io
  import os
  import gc
  import glob
  import pickle
  import warnings
  import multiprocessing
  from functools import partial
  import numpy
  from mxnet import context, npx
  from mxnet.gluon.data import ArrayDataset, SimpleDataset
  from mxnet.gluon.data.dataloader import ForkingPickler, _as_in_context, default_mp_batchify_fn, default_batchify_fn
label_desc: Use image node_id 1 to create a new _MultiBatchWorkerIter object  with example: obj = _MultiBatchWorkerIter(worker_pool, batchify_fn, dataset_iter, pin_memory, worker_fn, prefetch, manager)