mirror of
https://github.com/huggingface/transformers.git
synced 2025-07-31 02:02:21 +06:00
Check auto mappings could be imported via from transformers
(#24400)
* fix * fix * fix * fix * fix * fix --------- Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>
This commit is contained in:
parent
1a6fb930fb
commit
0f968ddaa3
@ -1028,6 +1028,7 @@ else:
|
||||
_import_structure["models.auto"].extend(
|
||||
[
|
||||
"MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
|
||||
"MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING",
|
||||
"MODEL_FOR_AUDIO_XVECTOR_MAPPING",
|
||||
"MODEL_FOR_BACKBONE_MAPPING",
|
||||
"MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING",
|
||||
@ -3646,6 +3647,7 @@ else:
|
||||
)
|
||||
_import_structure["models.auto"].extend(
|
||||
[
|
||||
"FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
|
||||
"FLAX_MODEL_FOR_CAUSAL_LM_MAPPING",
|
||||
"FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING",
|
||||
"FLAX_MODEL_FOR_MASKED_LM_MAPPING",
|
||||
@ -4780,6 +4782,7 @@ if TYPE_CHECKING:
|
||||
)
|
||||
from .models.auto import (
|
||||
MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
|
||||
MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING,
|
||||
MODEL_FOR_AUDIO_XVECTOR_MAPPING,
|
||||
MODEL_FOR_BACKBONE_MAPPING,
|
||||
MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING,
|
||||
@ -6901,6 +6904,7 @@ if TYPE_CHECKING:
|
||||
FlaxAlbertPreTrainedModel,
|
||||
)
|
||||
from .models.auto import (
|
||||
FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
|
||||
FLAX_MODEL_FOR_CAUSAL_LM_MAPPING,
|
||||
FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
|
||||
FLAX_MODEL_FOR_MASKED_LM_MAPPING,
|
||||
|
@ -40,6 +40,7 @@ except OptionalDependencyNotAvailable:
|
||||
else:
|
||||
_import_structure["modeling_auto"] = [
|
||||
"MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
|
||||
"MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING",
|
||||
"MODEL_FOR_AUDIO_XVECTOR_MAPPING",
|
||||
"MODEL_FOR_BACKBONE_MAPPING",
|
||||
"MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING",
|
||||
@ -162,6 +163,7 @@ except OptionalDependencyNotAvailable:
|
||||
pass
|
||||
else:
|
||||
_import_structure["modeling_flax_auto"] = [
|
||||
"FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING",
|
||||
"FLAX_MODEL_FOR_CAUSAL_LM_MAPPING",
|
||||
"FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING",
|
||||
"FLAX_MODEL_FOR_MASKED_LM_MAPPING",
|
||||
@ -207,6 +209,7 @@ if TYPE_CHECKING:
|
||||
else:
|
||||
from .modeling_auto import (
|
||||
MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
|
||||
MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING,
|
||||
MODEL_FOR_AUDIO_XVECTOR_MAPPING,
|
||||
MODEL_FOR_BACKBONE_MAPPING,
|
||||
MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING,
|
||||
@ -329,6 +332,7 @@ if TYPE_CHECKING:
|
||||
pass
|
||||
else:
|
||||
from .modeling_flax_auto import (
|
||||
FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
|
||||
FLAX_MODEL_FOR_CAUSAL_LM_MAPPING,
|
||||
FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
|
||||
FLAX_MODEL_FOR_MASKED_LM_MAPPING,
|
||||
|
@ -264,6 +264,9 @@ FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING = _LazyAutoMapping(
|
||||
FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING = _LazyAutoMapping(
|
||||
CONFIG_MAPPING_NAMES, FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES
|
||||
)
|
||||
FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING = _LazyAutoMapping(
|
||||
CONFIG_MAPPING_NAMES, FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES
|
||||
)
|
||||
|
||||
|
||||
class FlaxAutoModel(_BaseAutoModelClass):
|
||||
|
@ -135,6 +135,9 @@ class FlaxAlbertPreTrainedModel(metaclass=DummyObject):
|
||||
requires_backends(self, ["flax"])
|
||||
|
||||
|
||||
FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING = None
|
||||
|
||||
|
||||
FLAX_MODEL_FOR_CAUSAL_LM_MAPPING = None
|
||||
|
||||
|
||||
|
@ -452,6 +452,9 @@ class ASTPreTrainedModel(metaclass=DummyObject):
|
||||
MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING = None
|
||||
|
||||
|
||||
MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING = None
|
||||
|
||||
|
||||
MODEL_FOR_AUDIO_XVECTOR_MAPPING = None
|
||||
|
||||
|
||||
|
@ -711,6 +711,29 @@ def check_all_auto_mapping_names_in_config_mapping_names():
|
||||
raise Exception(f"There were {len(failures)} failures:\n" + "\n".join(failures))
|
||||
|
||||
|
||||
def check_all_auto_mappings_importable():
|
||||
"""Check all auto mappings could be imported."""
|
||||
check_missing_backends()
|
||||
|
||||
failures = []
|
||||
mappings_to_check = {}
|
||||
# Each auto modeling files contains multiple mappings. Let's get them in a dynamic way.
|
||||
for module_name in ["modeling_auto", "modeling_tf_auto", "modeling_flax_auto"]:
|
||||
module = getattr(transformers.models.auto, module_name, None)
|
||||
if module is None:
|
||||
continue
|
||||
# all mappings in a single auto modeling file
|
||||
mapping_names = [x for x in dir(module) if x.endswith("_MAPPING_NAMES")]
|
||||
mappings_to_check.update({name: getattr(module, name) for name in mapping_names})
|
||||
|
||||
for name, _ in mappings_to_check.items():
|
||||
name = name.replace("_MAPPING_NAMES", "_MAPPING")
|
||||
if not hasattr(transformers, name):
|
||||
failures.append(f"`{name}` should be defined in the main `__init__` file.")
|
||||
if len(failures) > 0:
|
||||
raise Exception(f"There were {len(failures)} failures:\n" + "\n".join(failures))
|
||||
|
||||
|
||||
_re_decorator = re.compile(r"^\s*@(\S+)\s+$")
|
||||
|
||||
|
||||
@ -993,6 +1016,8 @@ def check_repo_quality():
|
||||
check_all_auto_object_names_being_defined()
|
||||
print("Checking all keys in auto name mappings are defined in `CONFIG_MAPPING_NAMES`.")
|
||||
check_all_auto_mapping_names_in_config_mapping_names()
|
||||
print("Checking all auto mappings could be imported.")
|
||||
check_all_auto_mappings_importable()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Loading…
Reference in New Issue
Block a user