





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_speech_available, is_torch_available


lowercase_					     =	{
    """configuration_audio_spectrogram_transformer""": [
        """AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """ASTConfig""",
    ]
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase_					     =	[
          """AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """ASTForAudioClassification""",
          """ASTModel""",
          """ASTPreTrainedModel""",
      ]

try:
      if not is_speech_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase_					     =	["""ASTFeatureExtractor"""]

if TYPE_CHECKING:
      from .configuration_audio_spectrogram_transformer import (
          AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
          ASTConfig,
      )

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_audio_spectrogram_transformer import (
                AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                ASTForAudioClassification,
                ASTModel,
                ASTPreTrainedModel,
            )

      try:
            if not is_speech_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .feature_extraction_audio_spectrogram_transformer import ASTFeatureExtractor


else:
      import sys

      lowercase_					     =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









from collections import OrderedDict
from typing import Mapping

from packaging import version

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


lowercase_					     =	logging.get_logger(__name__)

lowercase_					     =	{
    """facebook/deit-base-distilled-patch16-224""": (
        """https://huggingface.co/facebook/deit-base-patch16-224/resolve/main/config.json"""
    ),
    # See all DeiT models at https://huggingface.co/models?filter=deit
}
class        SCREAMING_SNAKE_CASE     (UpperCAmelCase   ):
   _UpperCamelCase					:	Any				      = 'deit'


   def __init__(					self    :       Any    ,  a    :       Union[str, Any]=768    ,  a    :       Optional[Any]=12    ,  a    :       Union[str, Any]=12    ,  a    :       Optional[int]=3_072    ,  a    :       Optional[int]="gelu"    ,  a    :       Optional[Any]=0.0    ,  a    :       List[Any]=0.0    ,  a    :       int=0.02    ,  a    :       List[str]=1E-1_2    ,  a    :       Optional[int]=224    ,  a    :       Tuple=16    ,  a    :       List[Any]=3    ,  a    :       List[str]=True    ,  a    :       Any=16    ,  **a    :       Union[str, Any]    ,  )->     int:





     """simple docstring"""







     super().__init__(**a )

     lowercase__			    =						hidden_size
     lowercase__			    =						num_hidden_layers
     lowercase__			    =						num_attention_heads
     lowercase__			    =						intermediate_size
     lowercase__			    =						hidden_act
     lowercase__			    =						hidden_dropout_prob
     lowercase__			    =						attention_probs_dropout_prob
     lowercase__			    =						initializer_range
     lowercase__			    =						layer_norm_eps
     lowercase__			    =						image_size
     lowercase__			    =						patch_size
     lowercase__			    =						num_channels
     lowercase__			    =						qkv_bias
     lowercase__			    =						encoder_stride






class        SCREAMING_SNAKE_CASE     (UpperCAmelCase   ):
   _UpperCamelCase					:	List[Any]				      = version.parse('1.11'   )


   @property
   def  SCREAMING_SNAKE_CASE_							(					self    :       int )->     Mapping[str, Mapping[int, str]]:





     """simple docstring"""







     return OrderedDict(
         [
             ('pixel_values', {0: 'batch', 1: 'num_channels', 2: 'height', 3: 'width'}),
         ] )


   @property
   def  SCREAMING_SNAKE_CASE_							(					self    :       Any )->     float:





     """simple docstring"""







     return 1E-4


