class_docstr: Returns an iterator for ``mx.gluon.data.Dataloader`` so gluon dataloader
  can be used in symbolic module.
  
  Parameters
  ----------
  loader : mxnet.gluon.data.Dataloader
      Gluon dataloader instance
  data_name : str, optional
      The data name.
  label_name : str, optional
      The label name.
  dtype : str, optional
      The dtype specifier, can be float32 or float16
  
  Examples
  --------
  >>> import mxnet as mx
  >>> from mxnet.gluon.data.vision import MNIST
  >>> from mxnet.gluon.data import DataLoader
  >>> train_dataset = MNIST(train=True)
  >>> train_data = mx.gluon.data.DataLoader(train_dataset, 32, shuffle=True, num_workers=4)
  >>> dataiter = mx.io.DataloaderIter(train_data)
  >>> for batch in dataiter:
  ...     batch.data[0].shape
  ...
  (32L, 28L, 28L, 1L)
code: def __init__(
      self,
      loader,
      data_name="data",
      label_name="softmax_label",
      dtype="float32",
  ):
      super(DataLoaderIter, self).__init__()
      self._loader = loader
      self._iter = iter(self._loader)
      data, label = next(self._iter)
      self.batch_size = data.shape[0]
      self.dtype = dtype
      self.provide_data = [DataDesc(data_name, data.shape, dtype)]
      self.provide_label = [DataDesc(label_name, label.shape, dtype)]
      self._current_batch = None
      self.reset()
  
file_path: mxnet/python/mxnet/contrib/io.py
imports: from ..io import DataIter, DataDesc
  from ..None import ndarray
label_desc: Use image node_id 1 to create a new DataLoaderIter object from inherited base classes: DataIter with example: obj = DataLoaderIter(loader, data_name, label_name, dtype)