MCPcopy Create free account
hub / github.com/THUDM/GLM / generate_blank_data

Method generate_blank_data

blocklm_utils.py:270–281  ·  view source on GitHub ↗
(self, sample, masked_lengths, attention_mask, rng, task='bert')

Source from the content-addressed store, hash-verified

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)

Callers 1

construct_blocksMethod · 0.95

Calls 4

make_masked_dataMethod · 0.95
make_block_dataMethod · 0.95
get_commandMethod · 0.80

Tested by

no test coverage detected