'Resets the iterator to the beginning of the data.'

def reset(self):

    self.curr_idx = 0
    random.shuffle(self.idx)
    for buck in self.data:
        np.random.shuffle(buck)
    self.nddata = []
    self.ndlabel = []
    for buck in self.data:
        label = np.empty_like(buck)
        label[:, :(-1)] = buck[:, 1:]
        label[:, (-1)] = self.invalid_label
        self.nddata.append(ndarray.array(buck, dtype=self.dtype))
        self.ndlabel.append(ndarray.array(label, dtype=self.dtype))
