code: def __next__(self):
      batch_size = (
          len(self.batch[0]) if self.is_multioutput else len(self.batch)
      )
      if self.idx >= batch_size:
          self.idx = 0
          self.batch = next(self.src)
      if self.is_multioutput:
          ret = tuple(b[self.idx] for b in self.batch)
      else:
          ret = self.batch[self.idx]
      self.idx += 1
      return ret
  
imports: import functools
  import numpy
  import nvidia.dali.fn
  import nvidia.dali.ops
  from nvidia.dali import Pipeline
  from nose_utils import assert_raises
  from test_utils import check_output
label_desc: Use image node_id 3 for calling the SampleIterator obj's underlying member method code with example usage: obj.__next__() and returns: ret