TF: standardize test_model_common_attributes for language models (#23457)
This commit is contained in:
@@ -725,6 +725,11 @@ class TFCTRLForSequenceClassification(TFCTRLPreTrainedModel, TFSequenceClassific
|
|||||||
self.transformer = TFCTRLMainLayer(config, name="transformer")
|
self.transformer = TFCTRLMainLayer(config, name="transformer")
|
||||||
|
|
||||||
def get_output_embeddings(self):
|
def get_output_embeddings(self):
|
||||||
|
# Remove after transformers v4.32. Fix this model's `test_model_common_attributes` test too.
|
||||||
|
logger.warning(
|
||||||
|
"Sequence classification models do not have output embeddings. `.get_output_embeddings` will be removed "
|
||||||
|
"in transformers v4.32."
|
||||||
|
)
|
||||||
return self.transformer.w
|
return self.transformer.w
|
||||||
|
|
||||||
@unpack_inputs
|
@unpack_inputs
|
||||||
|
|||||||
@@ -1032,6 +1032,11 @@ class TFTransfoXLForSequenceClassification(TFTransfoXLPreTrainedModel, TFSequenc
|
|||||||
self.transformer = TFTransfoXLMainLayer(config, name="transformer")
|
self.transformer = TFTransfoXLMainLayer(config, name="transformer")
|
||||||
|
|
||||||
def get_output_embeddings(self):
|
def get_output_embeddings(self):
|
||||||
|
# Remove after transformers v4.32. Fix this model's `test_model_common_attributes` test too.
|
||||||
|
logger.warning(
|
||||||
|
"Sequence classification models do not have output embeddings. `.get_output_embeddings` will be removed "
|
||||||
|
"in transformers v4.32."
|
||||||
|
)
|
||||||
return self.transformer.word_emb
|
return self.transformer.word_emb
|
||||||
|
|
||||||
@unpack_inputs
|
@unpack_inputs
|
||||||
|
|||||||
@@ -869,26 +869,6 @@ class TF{{cookiecutter.camelcase_modelname}}ModelTest(TFModelTesterMixin, unitte
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@unittest.skip(reason="Template classes interact badly with this test.")
|
@unittest.skip(reason="Template classes interact badly with this test.")
|
||||||
def test_keras_fit(self):
|
def test_keras_fit(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -300,27 +300,6 @@ class TFAlbertModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCa
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_albert_for_question_answering(*config_and_inputs)
|
self.model_tester.create_and_check_albert_for_question_answering(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
list_lm_models = [TFAlbertForPreTraining, TFAlbertForMaskedLM]
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in list_lm_models:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@slow
|
@slow
|
||||||
def test_model_from_pretrained(self):
|
def test_model_from_pretrained(self):
|
||||||
for model_name in TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
|
for model_name in TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
|
||||||
|
|||||||
@@ -225,26 +225,6 @@ class TFBartModelTest(TFModelTesterMixin, TFCoreModelTesterMixin, PipelineTester
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -726,27 +726,6 @@ class TFBertModelTest(TFModelTesterMixin, TFCoreModelTesterMixin, PipelineTester
|
|||||||
model = TFBertModel.from_pretrained("jplu/tiny-tf-bert-random")
|
model = TFBertModel.from_pretrained("jplu/tiny-tf-bert-random")
|
||||||
self.assertIsNotNone(model)
|
self.assertIsNotNone(model)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
list_lm_models = [TFBertForMaskedLM, TFBertForPreTraining, TFBertLMHeadModel]
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in list_lm_models:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
def test_custom_load_tf_weights(self):
|
def test_custom_load_tf_weights(self):
|
||||||
model, output_loading_info = TFBertForTokenClassification.from_pretrained(
|
model, output_loading_info = TFBertForTokenClassification.from_pretrained(
|
||||||
"jplu/tiny-tf-bert-random", output_loading_info=True
|
"jplu/tiny-tf-bert-random", output_loading_info=True
|
||||||
|
|||||||
@@ -207,26 +207,6 @@ class TFBlenderbotModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.Te
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -209,26 +209,6 @@ class TFBlenderbotSmallModelTest(TFModelTesterMixin, PipelineTesterMixin, unitte
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -416,24 +416,6 @@ class TFGPT2ModelTest(TFModelTesterMixin, TFCoreModelTesterMixin, PipelineTester
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_gpt2_double_head(*config_and_inputs)
|
self.model_tester.create_and_check_gpt2_double_head(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
def test_gpt2_sequence_classification_model(self):
|
def test_gpt2_sequence_classification_model(self):
|
||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_gpt2_for_sequence_classification(*config_and_inputs)
|
self.model_tester.create_and_check_gpt2_for_sequence_classification(*config_and_inputs)
|
||||||
|
|||||||
@@ -363,24 +363,6 @@ class TFGPTJModelTest(TFModelTesterMixin, TFCoreModelTesterMixin, PipelineTester
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_gptj_lm_head_model(*config_and_inputs)
|
self.model_tester.create_and_check_gptj_lm_head_model(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@slow
|
@slow
|
||||||
@unittest.skipIf(
|
@unittest.skipIf(
|
||||||
not is_tf_available() or len(tf.config.list_physical_devices("GPU")) > 0,
|
not is_tf_available() or len(tf.config.list_physical_devices("GPU")) > 0,
|
||||||
|
|||||||
@@ -222,26 +222,6 @@ class TFLEDModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCase)
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
def test_attention_outputs(self):
|
def test_attention_outputs(self):
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
inputs_dict["global_attention_mask"] = tf.zeros_like(inputs_dict["attention_mask"])
|
inputs_dict["global_attention_mask"] = tf.zeros_like(inputs_dict["attention_mask"])
|
||||||
|
|||||||
@@ -581,27 +581,6 @@ class TFLxmertModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCa
|
|||||||
extended_model = tf.keras.Model(inputs=[input_ids, visual_feats, visual_pos], outputs=[outputs])
|
extended_model = tf.keras.Model(inputs=[input_ids, visual_feats, visual_pos], outputs=[outputs])
|
||||||
extended_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
|
extended_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
list_lm_models = [TFLxmertForPreTraining]
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in list_lm_models:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -240,26 +240,6 @@ class TFMarianModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCa
|
|||||||
extended_model = tf.keras.Model(inputs=[input_ids], outputs=[outputs])
|
extended_model = tf.keras.Model(inputs=[input_ids], outputs=[outputs])
|
||||||
extended_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
|
extended_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -222,26 +222,6 @@ class TFMBartModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCas
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -311,27 +311,6 @@ class TFMobileBertModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.Te
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_mobilebert_for_token_classification(*config_and_inputs)
|
self.model_tester.create_and_check_mobilebert_for_token_classification(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
list_lm_models = [TFMobileBertForMaskedLM, TFMobileBertForPreTraining]
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in list_lm_models:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@slow
|
@slow
|
||||||
def test_keras_fit(self):
|
def test_keras_fit(self):
|
||||||
# Override as it is a slow test on this model
|
# Override as it is a slow test on this model
|
||||||
|
|||||||
@@ -247,24 +247,6 @@ class TFOpenAIGPTModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.Tes
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_openai_gpt_double_head(*config_and_inputs)
|
self.model_tester.create_and_check_openai_gpt_double_head(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
def test_openai_gpt_sequence_classification_model(self):
|
def test_openai_gpt_sequence_classification_model(self):
|
||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs()
|
||||||
self.model_tester.create_and_check_openai_gpt_for_sequence_classification(*config_and_inputs)
|
self.model_tester.create_and_check_openai_gpt_for_sequence_classification(*config_and_inputs)
|
||||||
|
|||||||
@@ -171,20 +171,6 @@ class TFOPTModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCase)
|
|||||||
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
config_and_inputs = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.check_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
|
|
||||||
def test_resize_token_embeddings(self):
|
def test_resize_token_embeddings(self):
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
|
|
||||||
|
|||||||
@@ -238,26 +238,6 @@ class TFPegasusModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestC
|
|||||||
extended_model = tf.keras.Model(inputs=[input_ids], outputs=[outputs])
|
extended_model = tf.keras.Model(inputs=[input_ids], outputs=[outputs])
|
||||||
extended_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
|
extended_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert isinstance(name, dict)
|
|
||||||
for k, v in name.items():
|
|
||||||
assert isinstance(v, tf.Variable)
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -300,24 +300,6 @@ class TFT5ModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCase):
|
|||||||
|
|
||||||
self.model_tester.create_and_check_t5_decoder_model_past_large_inputs(*config_and_inputs)
|
self.model_tester.create_and_check_t5_decoder_model_past_large_inputs(*config_and_inputs)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@tooslow
|
@tooslow
|
||||||
def test_saved_model_creation(self):
|
def test_saved_model_creation(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -160,24 +160,6 @@ class TFXGLMModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCase
|
|||||||
def test_config(self):
|
def test_config(self):
|
||||||
self.config_tester.run_common_tests()
|
self.config_tester.run_common_tests()
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
|
||||||
|
|
||||||
for model_class in self.all_model_classes:
|
|
||||||
model = model_class(config)
|
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
|
||||||
|
|
||||||
if model_class in self.all_generative_model_classes:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
else:
|
|
||||||
x = model.get_output_embeddings()
|
|
||||||
assert x is None
|
|
||||||
name = model.get_bias()
|
|
||||||
assert name is None
|
|
||||||
|
|
||||||
@slow
|
@slow
|
||||||
def test_model_from_pretrained(self):
|
def test_model_from_pretrained(self):
|
||||||
for model_name in TF_XGLM_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
|
for model_name in TF_XGLM_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
|
||||||
|
|||||||
@@ -1013,7 +1013,7 @@ class TFModelTesterMixin:
|
|||||||
check_hidden_states_output(config, inputs_dict, model_class)
|
check_hidden_states_output(config, inputs_dict, model_class)
|
||||||
|
|
||||||
def test_model_common_attributes(self):
|
def test_model_common_attributes(self):
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
config, _ = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
text_in_text_out_models = (
|
text_in_text_out_models = (
|
||||||
get_values(TF_MODEL_FOR_CAUSAL_LM_MAPPING)
|
get_values(TF_MODEL_FOR_CAUSAL_LM_MAPPING)
|
||||||
+ get_values(TF_MODEL_FOR_MASKED_LM_MAPPING)
|
+ get_values(TF_MODEL_FOR_MASKED_LM_MAPPING)
|
||||||
@@ -1023,24 +1023,27 @@ class TFModelTesterMixin:
|
|||||||
|
|
||||||
for model_class in self.all_model_classes:
|
for model_class in self.all_model_classes:
|
||||||
model = model_class(config)
|
model = model_class(config)
|
||||||
assert isinstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
self.assertIsInstance(model.get_input_embeddings(), tf.keras.layers.Layer)
|
||||||
if model_class in text_in_text_out_models:
|
|
||||||
x = model.get_output_embeddings()
|
legacy_text_in_text_out = model.get_lm_head() is not None
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
if model_class in text_in_text_out_models or legacy_text_in_text_out:
|
||||||
name = model.get_bias()
|
out_embeddings = model.get_output_embeddings()
|
||||||
assert isinstance(name, dict)
|
self.assertIsInstance(out_embeddings, tf.keras.layers.Layer)
|
||||||
for k, v in name.items():
|
bias = model.get_bias()
|
||||||
assert isinstance(v, tf.Variable)
|
if bias is not None:
|
||||||
|
self.assertIsInstance(bias, dict)
|
||||||
|
for _, v in bias.items():
|
||||||
|
self.assertIsInstance(v, tf.Variable)
|
||||||
elif model_class in speech_in_text_out_models:
|
elif model_class in speech_in_text_out_models:
|
||||||
x = model.get_output_embeddings()
|
out_embeddings = model.get_output_embeddings()
|
||||||
assert isinstance(x, tf.keras.layers.Layer)
|
self.assertIsInstance(out_embeddings, tf.keras.layers.Layer)
|
||||||
name = model.get_bias()
|
bias = model.get_bias()
|
||||||
assert name is None
|
self.assertIsNone(bias)
|
||||||
else:
|
else:
|
||||||
x = model.get_output_embeddings()
|
out_embeddings = model.get_output_embeddings()
|
||||||
assert x is None
|
assert out_embeddings is None
|
||||||
name = model.get_bias()
|
bias = model.get_bias()
|
||||||
assert name is None
|
self.assertIsNone(bias)
|
||||||
|
|
||||||
def test_determinism(self):
|
def test_determinism(self):
|
||||||
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common()
|
||||||
|
|||||||
Reference in New Issue
Block a user