Loading fairseq/data/token_block_dataset.py +1 −12 Changes for fairseq/data/token_block_dataset.py: 1 added line, 12 removed lines. Original line number Diff line number Diff line Loading @@ -29,13 +29,12 @@ class TokenBlockDataset(torch.utils.data.Dataset): include_targets: return next tokens as targets """ def __init__(self, tokens, sizes, block_size, break_mode=None, include_targets=False, reverse=False): def __init__(self, tokens, sizes, block_size, break_mode=None, include_targets=False): super().__init__() self.tokens = tokens self.total_size = len(tokens) self.include_targets = include_targets self.reverse = reverse self.slice_indices = [] if break_mode is None or break_mode == 'none': Loading Loading @@ -78,19 +77,9 @@ class TokenBlockDataset(torch.utils.data.Dataset): def __getitem__(self, index): s, e = self.slice_indices[index] if self.reverse: item = torch.LongTensor(np.flip(self.tokens[s:e], 0).copy()) else: item = torch.LongTensor(self.tokens[s:e]) if self.include_targets: if self.reverse: if s == 0: target = np.concatenate([self.tokens[-1:], item.numpy()[1:]]) else: target = np.concatenate([self.tokens[s - 1:s], item.numpy()[:-1]]) return item, torch.LongTensor(target) # target is the sentence, for source, rotate item one token to the left (would start with eos) if s == 0: source = np.concatenate([self.tokens[-1:], self.tokens[0:e - 1]]) Loading fairseq/tasks/language_modeling.py +1 −5 Changes for fairseq/tasks/language_modeling.py: 1 added line, 5 removed lines. Original line number Diff line number Diff line Loading @@ -36,13 +36,9 @@ class LanguageModelingTask(FairseqTask): help='max number of tokens per sample for LM dataset') parser.add_argument('--raw-text', default=False, action='store_true', help='load raw text dataset') parser.add_argument('--right-to-left', default=False, action='store_true', help='if set, trains a language model right-to-left (instead of left-to-right)') def __init__(self, args, dictionary): super().__init__(args) args.right_to_left = getattr(args, 'right_to_left', False) self.dictionary = dictionary @classmethod Loading Loading @@ -75,7 +71,7 @@ class LanguageModelingTask(FairseqTask): loaded_datasets.append( TokenBlockDataset( tokens, ds.sizes, self.args.tokens_per_sample, self.args.sample_break_mode, include_targets=True, reverse=self.args.right_to_left, include_targets=True )) print('| {} {} {} examples'.format(self.args.data, split_k, len(loaded_datasets[-1]))) Loading Loading
fairseq/data/token_block_dataset.py +1 −12 Changes for fairseq/data/token_block_dataset.py: 1 added line, 12 removed lines. Original line number Diff line number Diff line Loading @@ -29,13 +29,12 @@ class TokenBlockDataset(torch.utils.data.Dataset): include_targets: return next tokens as targets """ def __init__(self, tokens, sizes, block_size, break_mode=None, include_targets=False, reverse=False): def __init__(self, tokens, sizes, block_size, break_mode=None, include_targets=False): super().__init__() self.tokens = tokens self.total_size = len(tokens) self.include_targets = include_targets self.reverse = reverse self.slice_indices = [] if break_mode is None or break_mode == 'none': Loading Loading @@ -78,19 +77,9 @@ class TokenBlockDataset(torch.utils.data.Dataset): def __getitem__(self, index): s, e = self.slice_indices[index] if self.reverse: item = torch.LongTensor(np.flip(self.tokens[s:e], 0).copy()) else: item = torch.LongTensor(self.tokens[s:e]) if self.include_targets: if self.reverse: if s == 0: target = np.concatenate([self.tokens[-1:], item.numpy()[1:]]) else: target = np.concatenate([self.tokens[s - 1:s], item.numpy()[:-1]]) return item, torch.LongTensor(target) # target is the sentence, for source, rotate item one token to the left (would start with eos) if s == 0: source = np.concatenate([self.tokens[-1:], self.tokens[0:e - 1]]) Loading
fairseq/tasks/language_modeling.py +1 −5 Changes for fairseq/tasks/language_modeling.py: 1 added line, 5 removed lines. Original line number Diff line number Diff line Loading @@ -36,13 +36,9 @@ class LanguageModelingTask(FairseqTask): help='max number of tokens per sample for LM dataset') parser.add_argument('--raw-text', default=False, action='store_true', help='load raw text dataset') parser.add_argument('--right-to-left', default=False, action='store_true', help='if set, trains a language model right-to-left (instead of left-to-right)') def __init__(self, args, dictionary): super().__init__(args) args.right_to_left = getattr(args, 'right_to_left', False) self.dictionary = dictionary @classmethod Loading Loading @@ -75,7 +71,7 @@ class LanguageModelingTask(FairseqTask): loaded_datasets.append( TokenBlockDataset( tokens, ds.sizes, self.args.tokens_per_sample, self.args.sample_break_mode, include_targets=True, reverse=self.args.right_to_left, include_targets=True )) print('| {} {} {} examples'.format(self.args.data, split_k, len(loaded_datasets[-1]))) Loading