(self, sample, masked_lengths, attention_mask, rng, task='bert')
| 268 | return tokens, targets, loss_masks, position_ids, source_length |
| 269 | |
| 270 | def generate_blank_data(self, sample, masked_lengths, attention_mask, rng, task='bert'): |
| 271 | rng.shuffle(masked_lengths) |
| 272 | tokens, loss_masks = sample['text'], sample['loss_mask'] |
| 273 | assert tokens[0] == self.tokenizer.get_command('ENC').Id |
| 274 | block_spans = self.sample_span_in_document(tokens, masked_lengths, rng) |
| 275 | if len(block_spans) < len(masked_lengths): |
| 276 | return None |
| 277 | if self.masked_lm: |
| 278 | data = self.make_masked_data(tokens, loss_masks, attention_mask, block_spans, rng) |
| 279 | else: |
| 280 | data = self.make_block_data(tokens, loss_masks, attention_mask, block_spans, rng, task=task) |
| 281 | return data |
| 282 | |
| 283 | def split_samples(self, samples, rng): |
| 284 | target_length = rng.randrange(32, self.max_seq_length - 1) |
no test coverage detected