




import glob
import os

from get_test_info import get_tester_classes


if __name__ == "__main__":
   UpperCamelCase__				       =			[]

   UpperCamelCase__				       =			os.path.join('tests', 'models', '**', 'test_modeling_*.py')
   UpperCamelCase__				       =			glob.glob(pattern)
   # TODO: deal with TF/Flax too
   UpperCamelCase__				       =			[
       x for x in test_files if not (x.startswith('test_modeling_tf_') or x.startswith('test_modeling_flax_'))
   ]

   for test_file in test_files:
      UpperCamelCase__				       =			get_tester_classes(test_file)
      for tester_class in tester_classes:
         # A few tester classes don't have `parent` parameter in `__init__`.
         # TODO: deal this better
         try:
            UpperCamelCase__				       =			tester_class(parent=None)
         except Exception:
            continue
         if hasattr(tester, 'get_config'):
            UpperCamelCase__				       =			tester.get_config()
            for k, v in config.to_dict().items():
               if isinstance(v, int):
                  UpperCamelCase__				       =			None
                  if k in ["vocab_size"]:
                     UpperCamelCase__				       =			100
                  elif k in ["max_position_embeddings"]:
                     UpperCamelCase__				       =			128
                  elif k in ["hidden_size", "d_model"]:
                     UpperCamelCase__				       =			40
                  elif k == ["num_layers", "num_hidden_layers", "num_encoder_layers", "num_decoder_layers"]:
                     UpperCamelCase__				       =			5
                  if target is not None and v > target:
                     failures.append(
                         F"""{tester_class.__name__} will produce a `config` of type `{config.__class__.__name__}`"""
                         F""" with config[\"{k}\"] = {v} which is too large for testing! Set its value to be smaller"""
                         F""" than {target}."""
                     )

   if len(failures) > 0:
      raise Exception(F"""There were {len(failures)} failures:\n""" + '\n'.join(failures))



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCamelCase__				       =			{
    'configuration_wav2vec2_conformer': [
        'WAV2VEC2_CONFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'Wav2Vec2ConformerConfig',
    ],
}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCamelCase__				       =			[
       'WAV2VEC2_CONFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
       'Wav2Vec2ConformerForAudioFrameClassification',
       'Wav2Vec2ConformerForCTC',
       'Wav2Vec2ConformerForPreTraining',
       'Wav2Vec2ConformerForSequenceClassification',
       'Wav2Vec2ConformerForXVector',
       'Wav2Vec2ConformerModel',
       'Wav2Vec2ConformerPreTrainedModel',
   ]

if TYPE_CHECKING:
   from .configuration_wavaveca_conformer import (
       WAV2VEC2_CONFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
       WavaVecaConformerConfig,
   )

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_wavaveca_conformer import (
          WAV2VEC2_CONFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
          WavaVecaConformerForAudioFrameClassification,
          WavaVecaConformerForCTC,
          WavaVecaConformerForPreTraining,
          WavaVecaConformerForSequenceClassification,
          WavaVecaConformerForXVector,
          WavaVecaConformerModel,
          WavaVecaConformerPreTrainedModel,
      )

else:
   import sys

   UpperCamelCase__				       =			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)