Source code for elliot.dataset.samplers.sparse_sampler

"""
Module description:

"""

__version__ = '0.3.1'
__author__ = 'Vito Walter Anelli, Claudio Pomo'
__email__ = 'vitowalter.anelli@poliba.it, claudio.pomo@poliba.it'

import random


[docs]class Sampler: def __init__(self, sp_i_train ): random.seed(42) self._train = sp_i_train
[docs] def step(self, users: int, batch_size: int): train = self._train shuffled_list = random.sample(range(users), users) for start_idx in range(0, users, batch_size): end_idx = min(start_idx + batch_size, users) yield train[shuffled_list[start_idx:end_idx]].toarray()