


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


SCREAMING_SNAKE_CASE__					:     Union[str, Any]       =     {
    'configuration_wav2vec2': ['WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP', 'Wav2Vec2Config'],
    'feature_extraction_wav2vec2': ['Wav2Vec2FeatureExtractor'],
    'processing_wav2vec2': ['Wav2Vec2Processor'],
    'tokenization_wav2vec2': ['Wav2Vec2CTCTokenizer', 'Wav2Vec2Tokenizer'],
}


try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE__					:     Any       =     [
     'WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST',
     'Wav2Vec2ForAudioFrameClassification',
     'Wav2Vec2ForCTC',
     'Wav2Vec2ForMaskedLM',
     'Wav2Vec2ForPreTraining',
     'Wav2Vec2ForSequenceClassification',
     'Wav2Vec2ForXVector',
     'Wav2Vec2Model',
     'Wav2Vec2PreTrainedModel',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE__					:     Union[str, Any]       =     [
     'TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST',
     'TFWav2Vec2ForCTC',
     'TFWav2Vec2Model',
     'TFWav2Vec2PreTrainedModel',
     'TFWav2Vec2ForSequenceClassification',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE__					:     Tuple       =     [
     'FlaxWav2Vec2ForCTC',
     'FlaxWav2Vec2ForPreTraining',
     'FlaxWav2Vec2Model',
     'FlaxWav2Vec2PreTrainedModel',
 ]


if TYPE_CHECKING:
 from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
 from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
 from .processing_wavaveca import WavaVecaProcessor
 from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_wavaveca import (
      WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
      WavaVecaForAudioFrameClassification,
      WavaVecaForCTC,
      WavaVecaForMaskedLM,
      WavaVecaForPreTraining,
      WavaVecaForSequenceClassification,
      WavaVecaForXVector,
      WavaVecaModel,
      WavaVecaPreTrainedModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_wavaveca import (
      TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFWavaVecaForCTC,
      TFWavaVecaForSequenceClassification,
      TFWavaVecaModel,
      TFWavaVecaPreTrainedModel,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_wavaveca import (
      FlaxWavaVecaForCTC,
      FlaxWavaVecaForPreTraining,
      FlaxWavaVecaModel,
      FlaxWavaVecaPreTrainedModel,
  )


else:
 import sys

 SCREAMING_SNAKE_CASE__					:     int       =     _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)









from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


SCREAMING_SNAKE_CASE__					:     Optional[int]       =     logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__					:     List[str]       =     {
    'camembert-base': 'https://huggingface.co/camembert-base/resolve/main/config.json',
    'umberto-commoncrawl-cased-v1': (
        'https://huggingface.co/Musixmatch/umberto-commoncrawl-cased-v1/resolve/main/config.json'
    ),
    'umberto-wikipedia-uncased-v1': (
        'https://huggingface.co/Musixmatch/umberto-wikipedia-uncased-v1/resolve/main/config.json'
    ),
}


class 		_SCREAMING_SNAKE_CASE     (						A     ):
     __SCREAMING_SNAKE_CASE     					=    '''camembert'''


     def __init__(  self							,					A_=3_05_22							,					A_=7_68							,					A_=12							,					A_=12							,					A_=30_72							,					A_="gelu"							,					A_=0.1							,					A_=0.1							,					A_=5_12							,					A_=2							,					A_=0.0_2							,					A_=1e-12							,					A_=1							,					A_=0							,					A_=2							,					A_="absolute"							,					A_=True							,					A_=None							,					**A_							,					):
       super().__init__(pad_token_id=A_							,					bos_token_id=A_							,					eos_token_id=A_							,					**A_    )

       _UpperCAmelCase		:							Optional[Any]							=     vocab_size
       _UpperCAmelCase		:							int							=     hidden_size
       _UpperCAmelCase		:							Any							=     num_hidden_layers
       _UpperCAmelCase		:							Optional[Any]							=     num_attention_heads
       _UpperCAmelCase		:							Dict							=     hidden_act
       _UpperCAmelCase		:							str							=     intermediate_size
       _UpperCAmelCase		:							str							=     hidden_dropout_prob
       _UpperCAmelCase		:							List[Any]							=     attention_probs_dropout_prob
       _UpperCAmelCase		:							List[Any]							=     max_position_embeddings
       _UpperCAmelCase		:							Union[str, Any]							=     type_vocab_size
       _UpperCAmelCase		:							List[Any]							=     initializer_range
       _UpperCAmelCase		:							Optional[Any]							=     layer_norm_eps
       _UpperCAmelCase		:							int							=     position_embedding_type
       _UpperCAmelCase		:							Tuple							=     use_cache
       _UpperCAmelCase		:							Any							=     classifier_dropout


class 		_SCREAMING_SNAKE_CASE     (						A     ):


     @property
     def        __snake_case(  self    ):
       if self.task == "multiple-choice":
         _UpperCAmelCase		:							Any							=     {0: """batch""", 1: """choice""", 2: """sequence"""}
       else:
         _UpperCAmelCase		:							List[Any]							=     {0: """batch""", 1: """sequence"""}
       return OrderedDict(
           [
               ("""input_ids""", dynamic_axis),
               ("""attention_mask""", dynamic_axis),
           ]    )





