code: def next(self):
          
          if self.iter_next():
              if self.is_train:
                  data_raw_list = self.getdata()
                  data_shifted = []
                  for data_raw in data_raw_list[0]:
                      data_shifted.append(random_shift(data_raw.asnumpy(), 0.1, 0.1))
                  return mx.io.DataBatch(data=[mx.nd.array(data_shifted)], label=self.getlabel(),
                                         pad=self.getpad(), index=None)
              else:
                  return mx.io.DataBatch(data=self.getdata(), label=self.getlabel(), pad=self.getpad(), index=None)
  
          else:
              raise StopIteration
docs: Generate next of iterator