def __init__(self, data_pack: mz.DataPack, mode='point', num_dup: int = 1, num_neg: int = 1, resample: bool = True, batch_size: int = 128, shuffle: bool = True, callbacks: typing.List[Callback] = None): """Init.""" if callbacks is None: callbacks = [] if mode not in ('point', 'pair', 'list'): raise ValueError(f"{mode} is not a valid mode type." f"Must be one of `point`, `pair` or `list`.") self._mode = mode self._num_dup = num_dup self._num_neg = num_neg self._batch_size = batch_size self._shuffle = shuffle self._resample = resample self._orig_relation = data_pack.relation self._callbacks = callbacks if mode == 'pair': data_pack.relation = self._reorganize_pair_wise(data_pack.relation, num_dup=num_dup, num_neg=num_neg) self._data_pack = data_pack self._batch_indices = None self.reset_index()
def __init__( self, data_pack: mz.DataPack, mode='point', num_dup: int = 1, num_neg: int = 1, batch_size: int = 32, resample: bool = False, shuffle: bool = True, sort: bool = False, callbacks: typing.List[BaseCallback] = None ): """Init.""" if callbacks is None: callbacks = [] if mode not in ('point', 'pair', 'list'): raise ValueError(f"{mode} is not a valid mode type." f"Must be one of `point`, `pair` or `list`.") if shuffle and sort: raise ValueError(f"parameters `shuffle` and `sort` conflict, " f"should not both be `True`.") data_pack = data_pack.copy() self._mode = mode self._num_dup = num_dup self._num_neg = num_neg self._batch_size = batch_size self._resample = (resample if mode != 'point' else False) self._shuffle = shuffle self._sort = sort self._orig_relation = data_pack.relation self._callbacks = callbacks if mode == 'pair': data_pack.relation = self._reorganize_pair_wise( relation=self._orig_relation, num_dup=num_dup, num_neg=num_neg ) self._data_pack = data_pack self._batch_indices = None self.reset_index()