code: def reset(self):
          
          if self.shuffle:
              self._shuffle_data()
          # the range below indicate the last batch
          if self.last_batch_handle == 'roll_over' and \
              self.num_data - self.batch_size < self.cursor < self.num_data:
              # (self.cursor - self.num_data) represents the data we have for the last batch
              self.cursor = self.cursor - self.num_data - self.batch_size
          else:
              self.cursor = -self.batch_size
docs: Resets the iterator to the beginning of the data.