class_docstr: DataLoaderTransformers are used to transform the output of a DataLoader.
  DataLoader doesn't have easy access to the device or graph, so any
  computation that should happen there should use a DataLoaderTransformer.
code: def __iter__(self):
      for tup in self.dataloader:
          if self.index is None:
              yield self.transform(tup)
          else:
              ret = self.transform(tup[self.index])
              if ret is None:
                  raise ValueError(
                      "{} returned None from a transformer".format(
                          self.__class__.__name__
                      )
                  )
  
              out = list(tup)
              out[self.index] = ret
              yield out
  
imports: from __future__ import division
  import numpy
  from neon import NervanaObject
label_desc: Use image node_id 3 for calling the DataLoaderTransformer obj's underlying member method code with example usage: obj.__iter__() without return types