From 609e662243d42769f8ef62f2ccb177c5257ae26f Mon Sep 17 00:00:00 2001 From: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:18:08 +0100 Subject: [PATCH] Use self.config_tester.run_common_tests() (#31431) * First testing updating config tests * Use run_common_tests --- .../models/align/configuration_align.py | 2 +- .../timm_backbone/configuration_timm_backbone.py | 2 +- tests/models/align/test_modeling_align.py | 13 ++++++------- tests/models/bit/test_modeling_bit.py | 11 ++++------- tests/models/convnext/test_modeling_convnext.py | 15 ++++++++------- .../models/convnextv2/test_modeling_convnextv2.py | 15 ++++++++------- tests/models/cpmant/test_modeling_cpmant.py | 7 +------ tests/models/cvt/test_modeling_cvt.py | 15 ++++++++------- .../test_modeling_deformable_detr.py | 14 +++++++------- .../test_modeling_depth_anything.py | 14 ++++++-------- tests/models/dinat/test_modeling_dinat.py | 11 ++++------- tests/models/donut/test_modeling_donut_swin.py | 15 ++++++++------- .../efficientnet/test_modeling_efficientnet.py | 13 ++++++------- tests/models/focalnet/test_modeling_focalnet.py | 15 ++++++++------- .../test_modeling_grounding_dino.py | 14 +++++++------- tests/models/levit/test_modeling_levit.py | 11 ++++------- .../maskformer/test_modeling_maskformer_swin.py | 15 ++++++++------- tests/models/perceiver/test_modeling_perceiver.py | 14 +++++++------- tests/models/regnet/test_modeling_regnet.py | 14 +++++++------- tests/models/resnet/test_modeling_resnet.py | 14 +++++++------- .../models/superpoint/test_modeling_superpoint.py | 15 ++++++++------- tests/models/swin/test_modeling_swin.py | 15 ++++++++------- tests/models/swin2sr/test_modeling_swin2sr.py | 15 ++++++++------- tests/models/swinv2/test_modeling_swinv2.py | 15 ++++++++------- .../timm_backbone/test_modeling_timm_backbone.py | 15 ++++++--------- tests/models/univnet/test_modeling_univnet.py | 12 ++++-------- tests/models/upernet/test_modeling_upernet.py | 15 ++++++++------- tests/models/vitmatte/test_modeling_vitmatte.py | 15 ++++++++------- 28 files changed, 174 insertions(+), 187 deletions(-) diff --git a/src/transformers/models/align/configuration_align.py b/src/transformers/models/align/configuration_align.py index 199b51153a..10745543c6 100644 --- a/src/transformers/models/align/configuration_align.py +++ b/src/transformers/models/align/configuration_align.py @@ -193,7 +193,7 @@ class AlignVisionConfig(PretrainedConfig): hidden_act (`str` or `function`, *optional*, defaults to `"silu"`): The non-linear activation function (function or string) in each block. If string, `"gelu"`, `"relu"`, `"selu", `"gelu_new"`, `"silu"` and `"mish"` are supported. - hiddem_dim (`int`, *optional*, defaults to 1280): + hidden_dim (`int`, *optional*, defaults to 1280): The hidden dimension of the layer before the classification head. pooling_type (`str` or `function`, *optional*, defaults to `"mean"`): Type of final pooling to be applied before the dense classification head. Available options are [`"mean"`, diff --git a/src/transformers/models/timm_backbone/configuration_timm_backbone.py b/src/transformers/models/timm_backbone/configuration_timm_backbone.py index 6171bcce1e..dd8893820c 100644 --- a/src/transformers/models/timm_backbone/configuration_timm_backbone.py +++ b/src/transformers/models/timm_backbone/configuration_timm_backbone.py @@ -79,5 +79,5 @@ class TimmBackboneConfig(PretrainedConfig): self.features_only = features_only self.use_pretrained_backbone = use_pretrained_backbone self.use_timm_backbone = True - self.out_indices = out_indices if out_indices is not None else (-1,) + self.out_indices = out_indices if out_indices is not None else [-1] self.freeze_batch_norm_2d = freeze_batch_norm_2d diff --git a/tests/models/align/test_modeling_align.py b/tests/models/align/test_modeling_align.py index fc4a723101..50a29eb550 100644 --- a/tests/models/align/test_modeling_align.py +++ b/tests/models/align/test_modeling_align.py @@ -147,16 +147,15 @@ class AlignVisionModelTest(ModelTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = AlignVisionModelTester(self) self.config_tester = ConfigTester( - self, config_class=AlignVisionConfig, has_text_modality=False, hidden_size=37 + self, + config_class=AlignVisionConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["num_channels", "image_size"], ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="AlignVisionModel does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/bit/test_modeling_bit.py b/tests/models/bit/test_modeling_bit.py index cb313ec27b..504e410bb4 100644 --- a/tests/models/bit/test_modeling_bit.py +++ b/tests/models/bit/test_modeling_bit.py @@ -173,15 +173,12 @@ class BitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = BitModelTester(self) - self.config_tester = ConfigTester(self, config_class=BitConfig, has_text_modality=False) + self.config_tester = ConfigTester( + self, config_class=BitConfig, has_text_modality=False, common_properties=["num_channels"] + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="Bit does not output attentions") def test_attention_outputs(self): diff --git a/tests/models/convnext/test_modeling_convnext.py b/tests/models/convnext/test_modeling_convnext.py index 6bd1adf862..7d7ba5c9b8 100644 --- a/tests/models/convnext/test_modeling_convnext.py +++ b/tests/models/convnext/test_modeling_convnext.py @@ -183,15 +183,16 @@ class ConvNextModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase def setUp(self): self.model_tester = ConvNextModelTester(self) - self.config_tester = ConfigTester(self, config_class=ConvNextConfig, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=ConvNextConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["num_channels", "hidden_sizes"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="ConvNext does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/convnextv2/test_modeling_convnextv2.py b/tests/models/convnextv2/test_modeling_convnextv2.py index 95b054bf19..ba3878ba51 100644 --- a/tests/models/convnextv2/test_modeling_convnextv2.py +++ b/tests/models/convnextv2/test_modeling_convnextv2.py @@ -191,15 +191,16 @@ class ConvNextV2ModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCa def setUp(self): self.model_tester = ConvNextV2ModelTester(self) - self.config_tester = ConfigTester(self, config_class=ConvNextV2Config, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=ConvNextV2Config, + has_text_modality=False, + hidden_size=37, + common_properties=["hidden_sizes", "num_channels"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="ConvNextV2 does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/cpmant/test_modeling_cpmant.py b/tests/models/cpmant/test_modeling_cpmant.py index 5473791b85..64ee96b1e8 100644 --- a/tests/models/cpmant/test_modeling_cpmant.py +++ b/tests/models/cpmant/test_modeling_cpmant.py @@ -151,12 +151,7 @@ class CpmAntModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): self.config_tester = ConfigTester(self, config_class=CpmAntConfig) def test_config(self): - self.config_tester.create_and_test_config_common_properties() - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_inputs_embeds(self): unittest.skip("CPMAnt doesn't support input_embeds.")(self.test_inputs_embeds) diff --git a/tests/models/cvt/test_modeling_cvt.py b/tests/models/cvt/test_modeling_cvt.py index 99afbb001d..b07b889295 100644 --- a/tests/models/cvt/test_modeling_cvt.py +++ b/tests/models/cvt/test_modeling_cvt.py @@ -162,15 +162,16 @@ class CvtModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = CvtModelTester(self) - self.config_tester = ConfigTester(self, config_class=CvtConfig, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=CvtConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["hidden_size", "num_channels"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="Cvt does not output attentions") def test_attention_outputs(self): diff --git a/tests/models/deformable_detr/test_modeling_deformable_detr.py b/tests/models/deformable_detr/test_modeling_deformable_detr.py index 5d7b027394..f648e28f1d 100644 --- a/tests/models/deformable_detr/test_modeling_deformable_detr.py +++ b/tests/models/deformable_detr/test_modeling_deformable_detr.py @@ -230,15 +230,15 @@ class DeformableDetrModelTest(ModelTesterMixin, GenerationTesterMixin, PipelineT def setUp(self): self.model_tester = DeformableDetrModelTester(self) - self.config_tester = ConfigTester(self, config_class=DeformableDetrConfig, has_text_modality=False) + self.config_tester = ConfigTester( + self, + config_class=DeformableDetrConfig, + has_text_modality=False, + common_properties=["num_channels", "d_model", "encoder_attention_heads", "decoder_attention_heads"], + ) def test_config(self): - # we don't test common_properties and arguments_init as these don't apply for Deformable DETR - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() + self.config_tester.run_common_tests() def test_deformable_detr_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/depth_anything/test_modeling_depth_anything.py b/tests/models/depth_anything/test_modeling_depth_anything.py index eb51f1ef34..d78671d559 100644 --- a/tests/models/depth_anything/test_modeling_depth_anything.py +++ b/tests/models/depth_anything/test_modeling_depth_anything.py @@ -149,17 +149,15 @@ class DepthAnythingModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Tes def setUp(self): self.model_tester = DepthAnythingModelTester(self) self.config_tester = ConfigTester( - self, config_class=DepthAnythingConfig, has_text_modality=False, hidden_size=37 + self, + config_class=DepthAnythingConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["patch_size"], ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_from_and_save_pretrained_subfolder() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="Depth Anything with AutoBackbone does not have a base model and hence no input_embeddings") def test_inputs_embeds(self): diff --git a/tests/models/dinat/test_modeling_dinat.py b/tests/models/dinat/test_modeling_dinat.py index 8f82378ded..dcebd82aa9 100644 --- a/tests/models/dinat/test_modeling_dinat.py +++ b/tests/models/dinat/test_modeling_dinat.py @@ -219,15 +219,12 @@ class DinatModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = DinatModelTester(self) - self.config_tester = ConfigTester(self, config_class=DinatConfig, embed_dim=37) + self.config_tester = ConfigTester( + self, config_class=DinatConfig, embed_dim=37, common_properties=["patch_size", "num_channels"] + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/donut/test_modeling_donut_swin.py b/tests/models/donut/test_modeling_donut_swin.py index 2531e11e2f..5a47856afe 100644 --- a/tests/models/donut/test_modeling_donut_swin.py +++ b/tests/models/donut/test_modeling_donut_swin.py @@ -153,15 +153,16 @@ class DonutSwinModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas def setUp(self): self.model_tester = DonutSwinModelTester(self) - self.config_tester = ConfigTester(self, config_class=DonutSwinConfig, embed_dim=37) + self.config_tester = ConfigTester( + self, + config_class=DonutSwinConfig, + has_text_modality=False, + embed_dim=37, + common_properties=["image_size", "patch_size", "num_channels"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/efficientnet/test_modeling_efficientnet.py b/tests/models/efficientnet/test_modeling_efficientnet.py index ba69dd56f2..0c699f3fa6 100644 --- a/tests/models/efficientnet/test_modeling_efficientnet.py +++ b/tests/models/efficientnet/test_modeling_efficientnet.py @@ -142,16 +142,15 @@ class EfficientNetModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Test def setUp(self): self.model_tester = EfficientNetModelTester(self) self.config_tester = ConfigTester( - self, config_class=EfficientNetConfig, has_text_modality=False, hidden_size=37 + self, + config_class=EfficientNetConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["num_channels", "image_size", "hidden_dim"], ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="EfficientNet does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/focalnet/test_modeling_focalnet.py b/tests/models/focalnet/test_modeling_focalnet.py index 2320465db1..48a33fd96e 100644 --- a/tests/models/focalnet/test_modeling_focalnet.py +++ b/tests/models/focalnet/test_modeling_focalnet.py @@ -250,15 +250,16 @@ class FocalNetModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase def setUp(self): self.model_tester = FocalNetModelTester(self) - self.config_tester = ConfigTester(self, config_class=FocalNetConfig, embed_dim=37, has_text_modality=False) + self.config_tester = ConfigTester( + self, + config_class=FocalNetConfig, + embed_dim=37, + has_text_modality=False, + common_properties=["image_size", "patch_size", "num_channels", "hidden_sizes"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/grounding_dino/test_modeling_grounding_dino.py b/tests/models/grounding_dino/test_modeling_grounding_dino.py index 4ced752c0e..1b4970785a 100644 --- a/tests/models/grounding_dino/test_modeling_grounding_dino.py +++ b/tests/models/grounding_dino/test_modeling_grounding_dino.py @@ -246,15 +246,15 @@ class GroundingDinoModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Tes def setUp(self): self.model_tester = GroundingDinoModelTester(self) - self.config_tester = ConfigTester(self, config_class=GroundingDinoConfig, has_text_modality=False) + self.config_tester = ConfigTester( + self, + config_class=GroundingDinoConfig, + has_text_modality=False, + common_properties=["d_model", "encoder_attention_heads", "decoder_attention_heads"], + ) def test_config(self): - # we don't test common_properties and arguments_init as these don't apply for Grounding DINO - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/levit/test_modeling_levit.py b/tests/models/levit/test_modeling_levit.py index 656e022fce..833e949d6e 100644 --- a/tests/models/levit/test_modeling_levit.py +++ b/tests/models/levit/test_modeling_levit.py @@ -190,15 +190,12 @@ class LevitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = LevitModelTester(self) - self.config_tester = ConfigTester(self, config_class=LevitConfig, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, config_class=LevitConfig, has_text_modality=False, common_properties=["image_size", "num_channels"] + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="Levit does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/maskformer/test_modeling_maskformer_swin.py b/tests/models/maskformer/test_modeling_maskformer_swin.py index 0f14064642..5f419b5155 100644 --- a/tests/models/maskformer/test_modeling_maskformer_swin.py +++ b/tests/models/maskformer/test_modeling_maskformer_swin.py @@ -184,7 +184,13 @@ class MaskFormerSwinModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Te def setUp(self): self.model_tester = MaskFormerSwinModelTester(self) - self.config_tester = ConfigTester(self, config_class=MaskFormerSwinConfig, embed_dim=37) + self.config_tester = ConfigTester( + self, + config_class=MaskFormerSwinConfig, + has_text_modality=False, + embed_dim=37, + common_properties=["image_size", "patch_size", "num_channels"], + ) @require_torch_multi_gpu @unittest.skip( @@ -197,12 +203,7 @@ class MaskFormerSwinModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Te pass def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/perceiver/test_modeling_perceiver.py b/tests/models/perceiver/test_modeling_perceiver.py index a6a9ccdc4c..bbe9d0a43c 100644 --- a/tests/models/perceiver/test_modeling_perceiver.py +++ b/tests/models/perceiver/test_modeling_perceiver.py @@ -315,7 +315,12 @@ class PerceiverModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas def setUp(self): self.model_tester = PerceiverModelTester(self) - self.config_tester = ConfigTester(self, config_class=PerceiverConfig, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=PerceiverConfig, + hidden_size=37, + common_properties=["d_model", "num_self_attention_heads", "num_cross_attention_heads"], + ) def _prepare_for_class(self, inputs_dict, model_class, return_labels=False): inputs_dict = copy.deepcopy(inputs_dict) @@ -344,12 +349,7 @@ class PerceiverModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas return inputs_dict def test_config(self): - # we don't test common_properties and arguments_init as these don't apply for Perceiver - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() + self.config_tester.run_common_tests() def test_for_masked_lm(self): config_and_inputs = self.model_tester.prepare_config_and_inputs(model_class=PerceiverForMaskedLM) diff --git a/tests/models/regnet/test_modeling_regnet.py b/tests/models/regnet/test_modeling_regnet.py index 71ecc04323..8613eb7f3d 100644 --- a/tests/models/regnet/test_modeling_regnet.py +++ b/tests/models/regnet/test_modeling_regnet.py @@ -136,15 +136,15 @@ class RegNetModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = RegNetModelTester(self) - self.config_tester = ConfigTester(self, config_class=RegNetConfig, has_text_modality=False) + self.config_tester = ConfigTester( + self, + config_class=RegNetConfig, + has_text_modality=False, + common_properties=["num_channels", "hidden_sizes"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="RegNet does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/resnet/test_modeling_resnet.py b/tests/models/resnet/test_modeling_resnet.py index 01b1e54182..a89e85bf32 100644 --- a/tests/models/resnet/test_modeling_resnet.py +++ b/tests/models/resnet/test_modeling_resnet.py @@ -181,15 +181,15 @@ class ResNetModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = ResNetModelTester(self) - self.config_tester = ConfigTester(self, config_class=ResNetConfig, has_text_modality=False) + self.config_tester = ConfigTester( + self, + config_class=ResNetConfig, + has_text_modality=False, + common_properties=["num_channels", "hidden_sizes"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="ResNet does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/superpoint/test_modeling_superpoint.py b/tests/models/superpoint/test_modeling_superpoint.py index 7a90527b24..25c384a795 100644 --- a/tests/models/superpoint/test_modeling_superpoint.py +++ b/tests/models/superpoint/test_modeling_superpoint.py @@ -124,15 +124,16 @@ class SuperPointModelTest(ModelTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = SuperPointModelTester(self) - self.config_tester = ConfigTester(self, config_class=SuperPointConfig, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=SuperPointConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["encoder_hidden_sizes", "decoder_hidden_size"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="SuperPointForKeypointDetection does not use inputs_embeds") def test_inputs_embeds(self): diff --git a/tests/models/swin/test_modeling_swin.py b/tests/models/swin/test_modeling_swin.py index 2785428d9e..963de232d6 100644 --- a/tests/models/swin/test_modeling_swin.py +++ b/tests/models/swin/test_modeling_swin.py @@ -243,15 +243,16 @@ class SwinModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = SwinModelTester(self) - self.config_tester = ConfigTester(self, config_class=SwinConfig, embed_dim=37) + self.config_tester = ConfigTester( + self, + config_class=SwinConfig, + embed_dim=37, + has_text_modality=False, + common_properties=["image_size", "patch_size", "num_channels"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/swin2sr/test_modeling_swin2sr.py b/tests/models/swin2sr/test_modeling_swin2sr.py index 08c5849468..ffcbca4c88 100644 --- a/tests/models/swin2sr/test_modeling_swin2sr.py +++ b/tests/models/swin2sr/test_modeling_swin2sr.py @@ -175,15 +175,16 @@ class Swin2SRModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase) def setUp(self): self.model_tester = Swin2SRModelTester(self) - self.config_tester = ConfigTester(self, config_class=Swin2SRConfig, embed_dim=37) + self.config_tester = ConfigTester( + self, + config_class=Swin2SRConfig, + embed_dim=37, + has_text_modality=False, + common_properties=["image_size", "patch_size", "num_channels"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/swinv2/test_modeling_swinv2.py b/tests/models/swinv2/test_modeling_swinv2.py index 74586fb4a1..cef6c34deb 100644 --- a/tests/models/swinv2/test_modeling_swinv2.py +++ b/tests/models/swinv2/test_modeling_swinv2.py @@ -229,15 +229,16 @@ class Swinv2ModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = Swinv2ModelTester(self) - self.config_tester = ConfigTester(self, config_class=Swinv2Config, embed_dim=37) + self.config_tester = ConfigTester( + self, + config_class=Swinv2Config, + embed_dim=37, + has_text_modality=False, + common_properties=["image_size", "patch_size", "num_channels"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/timm_backbone/test_modeling_timm_backbone.py b/tests/models/timm_backbone/test_modeling_timm_backbone.py index 56ce94f7f6..d5312747a2 100644 --- a/tests/models/timm_backbone/test_modeling_timm_backbone.py +++ b/tests/models/timm_backbone/test_modeling_timm_backbone.py @@ -18,7 +18,6 @@ import inspect import unittest from transformers import AutoBackbone -from transformers.configuration_utils import PretrainedConfig from transformers.testing_utils import require_timm, require_torch, torch_device from transformers.utils.import_utils import is_torch_available @@ -106,17 +105,15 @@ class TimmBackboneModelTest(ModelTesterMixin, BackboneTesterMixin, PipelineTeste has_attentions = False def setUp(self): - self.config_class = PretrainedConfig + # self.config_class = PretrainedConfig + self.config_class = TimmBackboneConfig self.model_tester = TimmBackboneModelTester(self) - self.config_tester = ConfigTester(self, config_class=self.config_class, has_text_modality=False) + self.config_tester = ConfigTester( + self, config_class=self.config_class, has_text_modality=False, common_properties=["num_channels"] + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_timm_transformer_backbone_equivalence(self): timm_checkpoint = "resnet18" diff --git a/tests/models/univnet/test_modeling_univnet.py b/tests/models/univnet/test_modeling_univnet.py index 45a4caf6ae..4dc28b3c16 100644 --- a/tests/models/univnet/test_modeling_univnet.py +++ b/tests/models/univnet/test_modeling_univnet.py @@ -121,20 +121,16 @@ class UnivNetModelTest(ModelTesterMixin, unittest.TestCase): def setUp(self): self.model_tester = UnivNetModelTester(self) - self.config_tester = ConfigTester(self, config_class=UnivNetConfig) + self.config_tester = ConfigTester( + self, config_class=UnivNetConfig, has_text_modality=False, common_properties=["num_mel_bins"] + ) @unittest.skip(reason="fix this once it gets more usage") def test_multi_gpu_data_parallel_forward(self): super().test_multi_gpu_data_parallel_forward() def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_from_and_save_pretrained_subfolder() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/upernet/test_modeling_upernet.py b/tests/models/upernet/test_modeling_upernet.py index ce90a365a5..464061915e 100644 --- a/tests/models/upernet/test_modeling_upernet.py +++ b/tests/models/upernet/test_modeling_upernet.py @@ -161,15 +161,16 @@ class UperNetModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase) def setUp(self): self.model_tester = UperNetModelTester(self) - self.config_tester = ConfigTester(self, config_class=UperNetConfig, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=UperNetConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["hidden_size"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() def test_for_semantic_segmentation(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() diff --git a/tests/models/vitmatte/test_modeling_vitmatte.py b/tests/models/vitmatte/test_modeling_vitmatte.py index 4ba76ba5d3..4f96eb8b11 100644 --- a/tests/models/vitmatte/test_modeling_vitmatte.py +++ b/tests/models/vitmatte/test_modeling_vitmatte.py @@ -146,15 +146,16 @@ class VitMatteModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase def setUp(self): self.model_tester = VitMatteModelTester(self) - self.config_tester = ConfigTester(self, config_class=VitMatteConfig, has_text_modality=False, hidden_size=37) + self.config_tester = ConfigTester( + self, + config_class=VitMatteConfig, + has_text_modality=False, + hidden_size=37, + common_properties=["hidden_size"], + ) def test_config(self): - self.config_tester.create_and_test_config_to_json_string() - self.config_tester.create_and_test_config_to_json_file() - self.config_tester.create_and_test_config_from_and_save_pretrained() - self.config_tester.create_and_test_config_with_num_labels() - self.config_tester.check_config_can_be_init_without_params() - self.config_tester.check_config_arguments_init() + self.config_tester.run_common_tests() @unittest.skip(reason="VitMatte does not use inputs_embeds") def test_inputs_embeds(self):