MCPcopy Create free account
hub / github.com/huggingface/transformers / test_advanced_inputs

Method test_advanced_inputs

tests/test_modeling_bart.py:153–180  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

151 _check_var(model.encoder.embed_positions)
152
153 def test_advanced_inputs(self):
154 config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
155 config.use_cache = False
156 inputs_dict["input_ids"][:, -2:] = config.pad_token_id
157 decoder_input_ids, decoder_attn_mask, causal_mask = _prepare_bart_decoder_inputs(
158 config, inputs_dict["input_ids"]
159 )
160 model = BartModel(config).to(torch_device).eval()
161
162 decoder_features_with_created_mask = model(**inputs_dict)[0]
163 decoder_features_with_passed_mask = model(
164 decoder_attention_mask=invert_mask(decoder_attn_mask), decoder_input_ids=decoder_input_ids, **inputs_dict
165 )[0]
166 _assert_tensors_equal(decoder_features_with_passed_mask, decoder_features_with_created_mask)
167 useless_mask = torch.zeros_like(decoder_attn_mask)
168 decoder_features = model(decoder_attention_mask=useless_mask, **inputs_dict)[0]
169 self.assertTrue(isinstance(decoder_features, torch.Tensor)) # no hidden states or attentions
170 self.assertEqual(
171 decoder_features.size(), (self.model_tester.batch_size, self.model_tester.seq_length, config.d_model)
172 )
173 if decoder_attn_mask.min().item() < -1e3: # some tokens were masked
174 self.assertFalse((decoder_features_with_created_mask == decoder_features).all().item())
175
176 # Test different encoder attention masks
177 decoder_features_with_long_encoder_mask = model(
178 inputs_dict["input_ids"], attention_mask=inputs_dict["attention_mask"].long()
179 )[0]
180 _assert_tensors_equal(decoder_features_with_long_encoder_mask, decoder_features_with_created_mask)
181
182 def test_save_load_strict(self):
183 config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()

Callers

nothing calls this directly

Calls 7

BartModelClass · 0.90
invert_maskFunction · 0.90
modelFunction · 0.85
_assert_tensors_equalFunction · 0.85
toMethod · 0.80

Tested by

no test coverage detected