



"""simple docstring"""






from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCAmelCase__              =							logging.get_logger(__name__)






class 			__snake_case			(      _lowercase):
  snake_case__							:  Tuple         =		"timm_backbone"




  def __init__(					self	:		Union[str, Any]		,   __lowerCAmelCase	:		Any=None		,   __lowerCAmelCase	:		Optional[Any]=3		,   __lowerCAmelCase	:		Dict=True		,   __lowerCAmelCase	:		Optional[Any]=True		,   __lowerCAmelCase	:		List[str]=None		,   **__lowerCAmelCase	:		str		,   ):






         """simple docstring"""






         super().__init__(**__lowerCAmelCase						)
         _lowerCamelCase		:							Optional[Any]            =					backbone
         _lowerCamelCase		:							Dict            =					num_channels
         _lowerCamelCase		:							Optional[int]            =					features_only
         _lowerCamelCase		:							List[Any]            =					use_pretrained_backbone
         _lowerCamelCase		:							int            =					True
         _lowerCamelCase		:							List[str]            =					out_indices if out_indices is not None else (-1,)



from typing import TYPE_CHECKING

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


lowerCamelCase__  =					{
    '''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:
   lowerCamelCase__  =					[
       '''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:
   lowerCamelCase__  =					[
       '''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:
   lowerCamelCase__  =					[
       '''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

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




