
"""simple docstring"""

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


SCREAMING_SNAKE_CASE_            =    logging.get_logger(__name__)

SCREAMING_SNAKE_CASE_            =    {
    """microsoft/cvt-13""": """https://huggingface.co/microsoft/cvt-13/resolve/main/config.json""",
    # See all Cvt models at https://huggingface.co/models?filter=cvt
}
class   _UpperCAmelCase				(		UpperCAmelCase__				):
      __SCREAMING_SNAKE_CASE :				int				   =						"cvt"




      def __init__(				self ,							lowercase_=3 ,							lowercase_=[7, 3, 3] ,							lowercase_=[4, 2, 2] ,							lowercase_=[2, 1, 1] ,							lowercase_=[6_4, 1_9_2, 3_8_4] ,							lowercase_=[1, 3, 6] ,							lowercase_=[1, 2, 1_0] ,							lowercase_=[4.0, 4.0, 4.0] ,							lowercase_=[0.0, 0.0, 0.0] ,							lowercase_=[0.0, 0.0, 0.0] ,							lowercase_=[0.0, 0.0, 0.1] ,							lowercase_=[True, True, True] ,							lowercase_=[False, False, True] ,							lowercase_=["dw_bn", "dw_bn", "dw_bn"] ,							lowercase_=[3, 3, 3] ,							lowercase_=[1, 1, 1] ,							lowercase_=[2, 2, 2] ,							lowercase_=[1, 1, 1] ,							lowercase_=[1, 1, 1] ,							lowercase_=0.0_2 ,							lowercase_=1E-12 ,							**lowercase_ ,							)    ->       Optional[Any]:
          super().__init__(**UpperCAmelCase__				)
          UpperCAmelCase          =       num_channels
          UpperCAmelCase          =       patch_sizes
          UpperCAmelCase          =       patch_stride
          UpperCAmelCase          =       patch_padding
          UpperCAmelCase          =       embed_dim
          UpperCAmelCase          =       num_heads
          UpperCAmelCase          =       depth
          UpperCAmelCase          =       mlp_ratio
          UpperCAmelCase          =       attention_drop_rate
          UpperCAmelCase          =       drop_rate
          UpperCAmelCase          =       drop_path_rate
          UpperCAmelCase          =       qkv_bias
          UpperCAmelCase          =       cls_token
          UpperCAmelCase          =       qkv_projection_method
          UpperCAmelCase          =       kernel_qkv
          UpperCAmelCase          =       padding_kv
          UpperCAmelCase          =       stride_kv
          UpperCAmelCase          =       padding_q
          UpperCAmelCase          =       stride_q
          UpperCAmelCase          =       initializer_range
          UpperCAmelCase          =       layer_norm_eps









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


_lowerCamelCase      :						Optional[Any]							=  logging.get_logger(__name__)

_lowerCamelCase      :						Union[str, Any]							=  {
    """google/mobilenet_v1_1.0_224""": """https://huggingface.co/google/mobilenet_v1_1.0_224/resolve/main/config.json""",
    """google/mobilenet_v1_0.75_192""": """https://huggingface.co/google/mobilenet_v1_0.75_192/resolve/main/config.json""",
    # See all MobileNetV1 models at https://huggingface.co/models?filter=mobilenet_v1
}


class 							UpperCamelCase_       (					UpperCAmelCase__	):

    '''simple docstring'''






    UpperCAmelCase__				    = '''mobilenet_v1'''


    def __init__(     self :      Optional[int]   ,					UpperCAmelCase__ :      Optional[int]=3   ,					UpperCAmelCase__ :      Optional[Any]=224   ,					UpperCAmelCase__ :      Optional[int]=1.0   ,					UpperCAmelCase__ :      Optional[int]=8   ,					UpperCAmelCase__ :      Tuple="relu6"   ,					UpperCAmelCase__ :      List[Any]=True   ,					UpperCAmelCase__ :      Dict=0.999   ,					UpperCAmelCase__ :      str=0.02   ,					UpperCAmelCase__ :      Optional[int]=0.001   ,					**UpperCAmelCase__ :      Dict   ,					)		->List[str]:





           '''simple docstring'''

           super().__init__(**UpperCAmelCase__)

           if depth_multiplier <= 0:
                  raise ValueError('''depth_multiplier must be greater than zero.''')

           A__ 					=       num_channels
           A__ 					=       image_size
           A__ 					=       depth_multiplier
           A__ 					=       min_depth
           A__ 					=       hidden_act
           A__ 					=       tf_padding
           A__ 					=       classifier_dropout_prob
           A__ 					=       initializer_range
           A__ 					=       layer_norm_eps


class 							UpperCamelCase_       (					UpperCAmelCase__	):

    '''simple docstring'''






    UpperCAmelCase__				    = version.parse('''1.11'''	)


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





           '''simple docstring'''

           return OrderedDict([('''pixel_values''', {0: '''batch'''})])


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





           '''simple docstring'''

           if self.task == "image-classification":
                  return OrderedDict([('''logits''', {0: '''batch'''})])
           else:
                  return OrderedDict([('''last_hidden_state''', {0: '''batch'''}), ('''pooler_output''', {0: '''batch'''})])





    @property
    def 			SCREAMING_SNAKE_CASE				(     self :      int)		->float:





           '''simple docstring'''

           return 1e-4


