class_docstr: Internal multi-worker iterator for DataLoader.
class_docstr_tok: ["Internal","multi-worker","iterator","for","DataLoader","."]
code: def __init__(
      self,
      transform_fns,
      interval,
      worker_pool,
      batchify_fn,
      batch_sampler,
      pin_memory=False,
      pin_device_id=0,
      worker_fn=_worker_fn,
      prefetch=0,
  ):
      super(_RandomTransformMultiWorkerIter, self).__init__(
          worker_pool,
          batchify_fn,
          batch_sampler,
          pin_memory=pin_memory,
          worker_fn=worker_fn,
          prefetch=0,
      )
      self._transform_fns = transform_fns
      self._current_fn = np.random.choice(self._transform_fns)
      self._interval = max(int(interval), 1)
      self._pin_device_id = pin_device_id
      # pre-fetch, super class was inited without prefetch
      for _ in range(prefetch):
          self._push_next()
  
imports: import io
  import pickle
  import multiprocessing
  from multiprocessing.reduction import ForkingPickler
  import numpy
  from mxnet import nd
  from mxnet import context
  from mxnet.gluon.data.dataloader import DataLoader, _MultiWorkerIter
  from mxnet.gluon.data.dataloader import default_mp_batchify_fn, default_batchify_fn
label_desc: Use image node_id 1 to create a new _RandomTransformMultiWorkerIter object from inherited base classes: _MultiWorkerIter with example: obj = _RandomTransformMultiWorkerIter(transform_fns, interval, worker_pool, batchify_fn, batch_sampler, pin_memory, pin_device_id, worker_fn, prefetch)