From 44fe1a1cc41620e807813168ce66b5ced1c3ad9f Mon Sep 17 00:00:00 2001 From: Yih-Dar <2521628+ydshieh@users.noreply.github.com> Date: Thu, 29 Feb 2024 17:19:17 +0800 Subject: [PATCH] Avoid using uncessary `get_values(MODEL_MAPPING)` (#29362) * more fixes * more fixes --------- Co-authored-by: ydshieh --- tests/models/beit/test_modeling_beit.py | 20 ++++---- tests/models/clipseg/test_modeling_clipseg.py | 6 +-- .../data2vec/test_modeling_data2vec_vision.py | 7 ++- tests/models/deit/test_modeling_deit.py | 19 +++---- tests/models/dpt/test_modeling_dpt.py | 8 +-- .../dpt/test_modeling_dpt_auto_backbone.py | 8 +-- tests/models/dpt/test_modeling_dpt_hybrid.py | 8 +-- .../test_modeling_efficientformer.py | 13 ++--- tests/models/glpn/test_modeling_glpn.py | 6 +-- tests/models/levit/test_modeling_levit.py | 15 +++--- .../perceiver/test_modeling_perceiver.py | 51 +++++++++++-------- tests/models/pvt/test_modeling_pvt.py | 6 +-- .../segformer/test_modeling_segformer.py | 5 +- tests/models/vilt/test_modeling_vilt.py | 7 ++- 14 files changed, 94 insertions(+), 85 deletions(-) diff --git a/tests/models/beit/test_modeling_beit.py b/tests/models/beit/test_modeling_beit.py index 40b0d6aa0b..f82cf40cda 100644 --- a/tests/models/beit/test_modeling_beit.py +++ b/tests/models/beit/test_modeling_beit.py @@ -21,7 +21,6 @@ from datasets import load_dataset from packaging import version from transformers import BeitConfig -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_torch_multi_gpu, require_vision, slow, torch_device from transformers.utils import cached_property, is_torch_available, is_vision_available @@ -36,14 +35,13 @@ if is_torch_available(): from torch import nn from transformers import ( - MODEL_FOR_BACKBONE_MAPPING, - MODEL_MAPPING, BeitBackbone, BeitForImageClassification, BeitForMaskedImageModeling, BeitForSemanticSegmentation, BeitModel, ) + from transformers.models.auto.modeling_auto import MODEL_FOR_BACKBONE_MAPPING_NAMES, MODEL_MAPPING_NAMES from transformers.models.beit.modeling_beit import BEIT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -312,10 +310,10 @@ class BeitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): for model_class in self.all_model_classes: # we don't test BeitForMaskedImageModeling - if model_class in [ - *get_values(MODEL_MAPPING), - *get_values(MODEL_FOR_BACKBONE_MAPPING), - BeitForMaskedImageModeling, + if model_class.__name__ in [ + *MODEL_MAPPING_NAMES.values(), + *MODEL_FOR_BACKBONE_MAPPING_NAMES.values(), + "BeitForMaskedImageModeling", ]: continue @@ -337,8 +335,12 @@ class BeitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): for model_class in self.all_model_classes: # we don't test BeitForMaskedImageModeling if ( - model_class - in [*get_values(MODEL_MAPPING), *get_values(MODEL_FOR_BACKBONE_MAPPING), BeitForMaskedImageModeling] + model_class.__name__ + in [ + *MODEL_MAPPING_NAMES.values(), + *MODEL_FOR_BACKBONE_MAPPING_NAMES.values(), + "BeitForMaskedImageModeling", + ] or not model_class.supports_gradient_checkpointing ): continue diff --git a/tests/models/clipseg/test_modeling_clipseg.py b/tests/models/clipseg/test_modeling_clipseg.py index 0ebf08da89..f8e05caa1e 100644 --- a/tests/models/clipseg/test_modeling_clipseg.py +++ b/tests/models/clipseg/test_modeling_clipseg.py @@ -24,8 +24,7 @@ import numpy as np import requests import transformers -from transformers import MODEL_MAPPING, CLIPSegConfig, CLIPSegProcessor, CLIPSegTextConfig, CLIPSegVisionConfig -from transformers.models.auto import get_values +from transformers import CLIPSegConfig, CLIPSegProcessor, CLIPSegTextConfig, CLIPSegVisionConfig from transformers.testing_utils import ( is_flax_available, is_pt_flax_cross_test, @@ -52,6 +51,7 @@ if is_torch_available(): from torch import nn from transformers import CLIPSegForImageSegmentation, CLIPSegModel, CLIPSegTextModel, CLIPSegVisionModel + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.clipseg.modeling_clipseg import CLIPSEG_PRETRAINED_MODEL_ARCHIVE_LIST @@ -751,7 +751,7 @@ class CLIPSegModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase) config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common() config.return_dict = True - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue print("Model class:", model_class) diff --git a/tests/models/data2vec/test_modeling_data2vec_vision.py b/tests/models/data2vec/test_modeling_data2vec_vision.py index 20733cb2e4..3e00dd0bf3 100644 --- a/tests/models/data2vec/test_modeling_data2vec_vision.py +++ b/tests/models/data2vec/test_modeling_data2vec_vision.py @@ -18,7 +18,6 @@ import unittest from transformers import Data2VecVisionConfig -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_torch_multi_gpu, require_vision, slow, torch_device from transformers.utils import cached_property, is_torch_available, is_vision_available @@ -32,11 +31,11 @@ if is_torch_available(): from torch import nn from transformers import ( - MODEL_MAPPING, Data2VecVisionForImageClassification, Data2VecVisionForSemanticSegmentation, Data2VecVisionModel, ) + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.data2vec.modeling_data2vec_vision import DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST @@ -235,7 +234,7 @@ class Data2VecVisionModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Te config.return_dict = True for model_class in self.all_model_classes: - if model_class in [*get_values(MODEL_MAPPING)]: + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue model = model_class(config) @@ -254,7 +253,7 @@ class Data2VecVisionModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.Te config.return_dict = True for model_class in self.all_model_classes: - if model_class in [*get_values(MODEL_MAPPING)] or not model_class.supports_gradient_checkpointing: + if model_class.__name__ in MODEL_MAPPING_NAMES.values() or not model_class.supports_gradient_checkpointing: continue # TODO: remove the following 3 lines once we have a MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING # this can then be incorporated into _prepare_for_class in test_modeling_common.py diff --git a/tests/models/deit/test_modeling_deit.py b/tests/models/deit/test_modeling_deit.py index 87ac169096..07f581bfeb 100644 --- a/tests/models/deit/test_modeling_deit.py +++ b/tests/models/deit/test_modeling_deit.py @@ -19,7 +19,6 @@ import unittest import warnings from transformers import DeiTConfig -from transformers.models.auto import get_values from transformers.testing_utils import ( require_accelerate, require_torch, @@ -41,14 +40,16 @@ if is_torch_available(): from torch import nn from transformers import ( - MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING, - MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING, - MODEL_MAPPING, DeiTForImageClassification, DeiTForImageClassificationWithTeacher, DeiTForMaskedImageModeling, DeiTModel, ) + from transformers.models.auto.modeling_auto import ( + MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES, + MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES, + MODEL_MAPPING_NAMES, + ) from transformers.models.deit.modeling_deit import DEIT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -269,7 +270,7 @@ class DeiTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): for model_class in self.all_model_classes: # DeiTForImageClassificationWithTeacher supports inference-only if ( - model_class in get_values(MODEL_MAPPING) + model_class.__name__ in MODEL_MAPPING_NAMES.values() or model_class.__name__ == "DeiTForImageClassificationWithTeacher" ): continue @@ -289,7 +290,7 @@ class DeiTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.return_dict = True for model_class in self.all_model_classes: - if model_class in get_values(MODEL_MAPPING) or not model_class.supports_gradient_checkpointing: + if model_class.__name__ in MODEL_MAPPING_NAMES.values() or not model_class.supports_gradient_checkpointing: continue # DeiTForImageClassificationWithTeacher supports inference-only if model_class.__name__ == "DeiTForImageClassificationWithTeacher": @@ -325,10 +326,10 @@ class DeiTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): for model_class in self.all_model_classes: if ( - model_class + model_class.__name__ not in [ - *get_values(MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING), - *get_values(MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING), + *MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES.values(), + *MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES.values(), ] or model_class.__name__ == "DeiTForImageClassificationWithTeacher" ): diff --git a/tests/models/dpt/test_modeling_dpt.py b/tests/models/dpt/test_modeling_dpt.py index 2c09206279..ffd6edbad4 100644 --- a/tests/models/dpt/test_modeling_dpt.py +++ b/tests/models/dpt/test_modeling_dpt.py @@ -19,7 +19,6 @@ import unittest from transformers import DPTConfig from transformers.file_utils import is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from ...test_configuration_common import ConfigTester @@ -31,7 +30,8 @@ if is_torch_available(): import torch from torch import nn - from transformers import MODEL_MAPPING, DPTForDepthEstimation, DPTForSemanticSegmentation, DPTModel + from transformers import DPTForDepthEstimation, DPTForSemanticSegmentation, DPTModel + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.dpt.modeling_dpt import DPT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -214,7 +214,7 @@ class DPTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common() config.return_dict = True - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue model = model_class(config) @@ -233,7 +233,7 @@ class DPTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.use_cache = False config.return_dict = True - if model_class in get_values(MODEL_MAPPING) or not model_class.supports_gradient_checkpointing: + if model_class.__name__ in MODEL_MAPPING_NAMES.values() or not model_class.supports_gradient_checkpointing: continue model = model_class(config) model.to(torch_device) diff --git a/tests/models/dpt/test_modeling_dpt_auto_backbone.py b/tests/models/dpt/test_modeling_dpt_auto_backbone.py index b2408465e4..ea500b47a3 100644 --- a/tests/models/dpt/test_modeling_dpt_auto_backbone.py +++ b/tests/models/dpt/test_modeling_dpt_auto_backbone.py @@ -19,7 +19,6 @@ import unittest from transformers import Dinov2Config, DPTConfig from transformers.file_utils import is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from ...test_configuration_common import ConfigTester @@ -30,7 +29,8 @@ from ...test_pipeline_mixin import PipelineTesterMixin if is_torch_available(): import torch - from transformers import MODEL_MAPPING, DPTForDepthEstimation + from transformers import DPTForDepthEstimation + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.dpt.modeling_dpt import DPT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -166,7 +166,7 @@ class DPTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common() config.return_dict = True - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue model = model_class(config) @@ -185,7 +185,7 @@ class DPTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.use_cache = False config.return_dict = True - if model_class in get_values(MODEL_MAPPING) or not model_class.supports_gradient_checkpointing: + if model_class.__name__ in MODEL_MAPPING_NAMES.values() or not model_class.supports_gradient_checkpointing: continue model = model_class(config) model.to(torch_device) diff --git a/tests/models/dpt/test_modeling_dpt_hybrid.py b/tests/models/dpt/test_modeling_dpt_hybrid.py index 2621c7438b..13a0cf4db8 100644 --- a/tests/models/dpt/test_modeling_dpt_hybrid.py +++ b/tests/models/dpt/test_modeling_dpt_hybrid.py @@ -19,7 +19,6 @@ import unittest from transformers import DPTConfig from transformers.file_utils import is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from ...test_configuration_common import ConfigTester @@ -31,7 +30,8 @@ if is_torch_available(): import torch from torch import nn - from transformers import MODEL_MAPPING, DPTForDepthEstimation, DPTForSemanticSegmentation, DPTModel + from transformers import DPTForDepthEstimation, DPTForSemanticSegmentation, DPTModel + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.dpt.modeling_dpt import DPT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -229,7 +229,7 @@ class DPTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common() config.return_dict = True - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue model = model_class(config) @@ -248,7 +248,7 @@ class DPTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.use_cache = False config.return_dict = True - if model_class in get_values(MODEL_MAPPING) or not model_class.supports_gradient_checkpointing: + if model_class.__name__ in MODEL_MAPPING_NAMES.values() or not model_class.supports_gradient_checkpointing: continue model = model_class(config) model.to(torch_device) diff --git a/tests/models/efficientformer/test_modeling_efficientformer.py b/tests/models/efficientformer/test_modeling_efficientformer.py index 2d6176960a..070c7fccae 100644 --- a/tests/models/efficientformer/test_modeling_efficientformer.py +++ b/tests/models/efficientformer/test_modeling_efficientformer.py @@ -20,7 +20,6 @@ import warnings from typing import List from transformers import EfficientFormerConfig -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from transformers.utils import cached_property, is_torch_available, is_vision_available @@ -33,12 +32,14 @@ if is_torch_available(): import torch from transformers import ( - MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING, - MODEL_MAPPING, EfficientFormerForImageClassification, EfficientFormerForImageClassificationWithTeacher, EfficientFormerModel, ) + from transformers.models.auto.modeling_auto import ( + MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES, + MODEL_MAPPING_NAMES, + ) from transformers.models.efficientformer.modeling_efficientformer import ( EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST, ) @@ -308,7 +309,7 @@ class EfficientFormerModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.T for model_class in self.all_model_classes: # EfficientFormerForImageClassificationWithTeacher supports inference-only if ( - model_class in get_values(MODEL_MAPPING) + model_class.__name__ in MODEL_MAPPING_NAMES.values() or model_class.__name__ == "EfficientFormerForImageClassificationWithTeacher" ): continue @@ -330,9 +331,9 @@ class EfficientFormerModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.T for model_class in self.all_model_classes: if ( - model_class + model_class.__name__ not in [ - *get_values(MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING), + *MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES.values(), ] or model_class.__name__ == "EfficientFormerForImageClassificationWithTeacher" ): diff --git a/tests/models/glpn/test_modeling_glpn.py b/tests/models/glpn/test_modeling_glpn.py index 90f8996984..aab49c8491 100644 --- a/tests/models/glpn/test_modeling_glpn.py +++ b/tests/models/glpn/test_modeling_glpn.py @@ -18,7 +18,6 @@ import unittest from transformers import is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from ...test_configuration_common import ConfigTester @@ -29,7 +28,8 @@ from ...test_pipeline_mixin import PipelineTesterMixin if is_torch_available(): import torch - from transformers import MODEL_MAPPING, GLPNConfig, GLPNForDepthEstimation, GLPNModel + from transformers import GLPNConfig, GLPNForDepthEstimation, GLPNModel + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.glpn.modeling_glpn import GLPN_PRETRAINED_MODEL_ARCHIVE_LIST @@ -291,7 +291,7 @@ class GLPNModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.return_dict = True for model_class in self.all_model_classes: - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue # TODO: remove the following 3 lines once we have a MODEL_FOR_DEPTH_ESTIMATION_MAPPING # this can then be incorporated into _prepare_for_class in test_modeling_common.py diff --git a/tests/models/levit/test_modeling_levit.py b/tests/models/levit/test_modeling_levit.py index b6d9832704..fee3eaa086 100644 --- a/tests/models/levit/test_modeling_levit.py +++ b/tests/models/levit/test_modeling_levit.py @@ -21,7 +21,6 @@ from math import ceil, floor from transformers import LevitConfig from transformers.file_utils import cached_property, is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from ...test_configuration_common import ConfigTester @@ -33,12 +32,14 @@ if is_torch_available(): import torch from transformers import ( - MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING, - MODEL_MAPPING, LevitForImageClassification, LevitForImageClassificationWithTeacher, LevitModel, ) + from transformers.models.auto.modeling_auto import ( + MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES, + MODEL_MAPPING_NAMES, + ) from transformers.models.levit.modeling_levit import LEVIT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -297,7 +298,7 @@ class LevitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): for model_class in self.all_model_classes: # LevitForImageClassificationWithTeacher supports inference-only if ( - model_class in get_values(MODEL_MAPPING) + model_class.__name__ in MODEL_MAPPING_NAMES.values() or model_class.__name__ == "LevitForImageClassificationWithTeacher" ): continue @@ -317,7 +318,7 @@ class LevitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.return_dict = True for model_class in self.all_model_classes: - if model_class in get_values(MODEL_MAPPING) or not model_class.supports_gradient_checkpointing: + if model_class.__name__ in MODEL_MAPPING_NAMES.values() or not model_class.supports_gradient_checkpointing: continue # LevitForImageClassificationWithTeacher supports inference-only if model_class.__name__ == "LevitForImageClassificationWithTeacher": @@ -341,9 +342,9 @@ class LevitModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): for model_class in self.all_model_classes: if ( - model_class + model_class.__name__ not in [ - *get_values(MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING), + *MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES.values(), ] or model_class.__name__ == "LevitForImageClassificationWithTeacher" ): diff --git a/tests/models/perceiver/test_modeling_perceiver.py b/tests/models/perceiver/test_modeling_perceiver.py index aeb9b80deb..a529c4430f 100644 --- a/tests/models/perceiver/test_modeling_perceiver.py +++ b/tests/models/perceiver/test_modeling_perceiver.py @@ -26,7 +26,6 @@ import numpy as np from datasets import load_dataset from transformers import PerceiverConfig -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_torch_multi_gpu, require_vision, slow, torch_device from transformers.utils import is_torch_available, is_vision_available @@ -40,11 +39,6 @@ if is_torch_available(): from torch import nn from transformers import ( - MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING, - MODEL_FOR_MASKED_LM_MAPPING, - MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING, - MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING, - MODEL_MAPPING, PerceiverForImageClassificationConvProcessing, PerceiverForImageClassificationFourier, PerceiverForImageClassificationLearned, @@ -55,6 +49,13 @@ if is_torch_available(): PerceiverModel, PerceiverTokenizer, ) + from transformers.models.auto.modeling_auto import ( + MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES, + MODEL_FOR_MASKED_LM_MAPPING_NAMES, + MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES, + MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES, + MODEL_MAPPING_NAMES, + ) from transformers.models.perceiver.modeling_perceiver import PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST @@ -317,16 +318,19 @@ class PerceiverModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas inputs_dict["subsampled_output_points"] = self.model_tester.subsampling if return_labels: - if model_class in [ - *get_values(MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING), - *get_values(MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING), + if model_class.__name__ in [ + *MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES.values(), + "PerceiverForImageClassificationLearned", + "PerceiverForImageClassificationFourier", + "PerceiverForImageClassificationConvProcessing", + *MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES.values(), ]: inputs_dict["labels"] = torch.zeros( self.model_tester.batch_size, dtype=torch.long, device=torch_device ) - elif model_class in [ - *get_values(MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING), - *get_values(MODEL_FOR_MASKED_LM_MAPPING), + elif model_class.__name__ in [ + *MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES.values(), + *MODEL_FOR_MASKED_LM_MAPPING_NAMES.values(), ]: inputs_dict["labels"] = torch.zeros( (self.model_tester.batch_size, self.model_tester.seq_length), dtype=torch.long, device=torch_device @@ -380,10 +384,10 @@ class PerceiverModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas return for model_class in self.all_model_classes: - if model_class in [ - *get_values(MODEL_MAPPING), - PerceiverForOpticalFlow, - PerceiverForMultimodalAutoencoding, + if model_class.__name__ in [ + *MODEL_MAPPING_NAMES.values(), + "PerceiverForOpticalFlow", + "PerceiverForMultimodalAutoencoding", ]: continue @@ -727,11 +731,14 @@ class PerceiverModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas for model_class in self.all_model_classes: # most Perceiver models don't have a typical head like is the case with BERT - if model_class in [ - PerceiverForOpticalFlow, - PerceiverForMultimodalAutoencoding, - *get_values(MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING), - *get_values(MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING), + if model_class.__name__ in [ + "PerceiverForOpticalFlow", + "PerceiverForMultimodalAutoencoding", + *MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES.values(), + "PerceiverForImageClassificationLearned", + "PerceiverForImageClassificationFourier", + "PerceiverForImageClassificationConvProcessing", + *MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES.values(), ]: continue @@ -753,7 +760,7 @@ class PerceiverModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas ] for model_class in self.all_model_classes: - if model_class not in get_values(MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING): + if model_class.__name__ not in MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES.values(): continue config, inputs, input_mask, _, _ = self.model_tester.prepare_config_and_inputs(model_class=model_class) diff --git a/tests/models/pvt/test_modeling_pvt.py b/tests/models/pvt/test_modeling_pvt.py index d17041ecfa..3b8c917f1d 100644 --- a/tests/models/pvt/test_modeling_pvt.py +++ b/tests/models/pvt/test_modeling_pvt.py @@ -18,7 +18,6 @@ import unittest from transformers import is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import ( require_accelerate, require_torch, @@ -36,7 +35,8 @@ from ...test_pipeline_mixin import PipelineTesterMixin if is_torch_available(): import torch - from transformers import MODEL_MAPPING, PvtConfig, PvtForImageClassification, PvtImageProcessor, PvtModel + from transformers import PvtConfig, PvtForImageClassification, PvtImageProcessor, PvtModel + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.pvt.modeling_pvt import PVT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -243,7 +243,7 @@ class PvtModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.return_dict = True for model_class in self.all_model_classes: - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue model = model_class(config) model.to(torch_device) diff --git a/tests/models/segformer/test_modeling_segformer.py b/tests/models/segformer/test_modeling_segformer.py index 8cb7cbad42..de64de5ad1 100644 --- a/tests/models/segformer/test_modeling_segformer.py +++ b/tests/models/segformer/test_modeling_segformer.py @@ -18,7 +18,6 @@ import unittest from transformers import SegformerConfig, is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, slow, torch_device from ...test_configuration_common import ConfigTester @@ -30,11 +29,11 @@ if is_torch_available(): import torch from transformers import ( - MODEL_MAPPING, SegformerForImageClassification, SegformerForSemanticSegmentation, SegformerModel, ) + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.segformer.modeling_segformer import SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST @@ -324,7 +323,7 @@ class SegformerModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCas config.return_dict = True for model_class in self.all_model_classes: - if model_class in get_values(MODEL_MAPPING): + if model_class.__name__ in MODEL_MAPPING_NAMES.values(): continue model = model_class(config) diff --git a/tests/models/vilt/test_modeling_vilt.py b/tests/models/vilt/test_modeling_vilt.py index e17d6ce61b..f885afab08 100644 --- a/tests/models/vilt/test_modeling_vilt.py +++ b/tests/models/vilt/test_modeling_vilt.py @@ -20,7 +20,6 @@ from datasets import load_dataset from packaging import version from transformers import ViltConfig, is_torch_available, is_vision_available -from transformers.models.auto import get_values from transformers.testing_utils import require_torch, require_vision, slow, torch_device from transformers.utils import cached_property @@ -33,7 +32,6 @@ if is_torch_available(): import torch from transformers import ( - MODEL_MAPPING, ViltForImageAndTextRetrieval, ViltForImagesAndTextClassification, ViltForMaskedLM, @@ -41,6 +39,7 @@ if is_torch_available(): ViltForTokenClassification, ViltModel, ) + from transformers.models.auto.modeling_auto import MODEL_MAPPING_NAMES from transformers.models.vilt.modeling_vilt import VILT_PRETRAINED_MODEL_ARCHIVE_LIST if is_vision_available(): @@ -284,7 +283,7 @@ class ViltModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): config.modality_type_vocab_size = 3 # ViltForImageAndTextRetrieval doesn't support training for now - if model_class in [*get_values(MODEL_MAPPING), ViltForImageAndTextRetrieval]: + if model_class.__name__ in [*MODEL_MAPPING_NAMES.values(), "ViltForImageAndTextRetrieval"]: continue model = model_class(config) @@ -307,7 +306,7 @@ class ViltModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): # ViltForImageAndTextRetrieval doesn't support training for now if ( - model_class in [*get_values(MODEL_MAPPING), ViltForImageAndTextRetrieval] + model_class.__name__ in [*MODEL_MAPPING_NAMES.values(), "ViltForImageAndTextRetrieval"] or not model_class.supports_gradient_checkpointing ): continue