from torch.utils.data import Dataset class SequencesDataset(Dataset): def __init__(self, sequences: Sequences, neg_sample_size=5): self.sequences = sequences self.neg_sample_size = neg_sample_size def __len__(self): return self.sequences.n_sequences def __getitem__(self, idx): pairs = self.sequences.get_pairs(idx) neg_samples = [] for center, context in pairs: neg_samples.append(self.sequences.get_negative_samples(context)) return pairs, neg_samples