code: def reset(self):
          
          # shuffle data
          if self.is_train:
              np.random.shuffle(self.idx)
              self.data = _shuffle(self.data, self.idx)
              self.label = _shuffle(self.label, self.idx)
  
          if self.last_batch_handle == 'roll_over' and self.cursor > self.num_data:
              self.cursor = -self.batch_size + (self.cursor % self.num_data) % self.batch_size
          else:
              self.cursor = -self.batch_size
docs: Reset class MNISTCustomIter(mx.io.NDArrayIter):