





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


lowerCAmelCase_        =							logging.get_logger(__name__)

lowerCAmelCase_        =							{
    '''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    __lowerCAmelCase			(     _a	):
			lowerCamelCase_	:	Dict			     = '''cvt'''






			def __init__(self   ,				__magic_name__=3   ,				__magic_name__=[7, 3, 3]   ,				__magic_name__=[4, 2, 2]   ,				__magic_name__=[2, 1, 1]   ,				__magic_name__=[64, 192, 384]   ,				__magic_name__=[1, 3, 6]   ,				__magic_name__=[1, 2, 10]   ,				__magic_name__=[4.0, 4.0, 4.0]   ,				__magic_name__=[0.0, 0.0, 0.0]   ,				__magic_name__=[0.0, 0.0, 0.0]   ,				__magic_name__=[0.0, 0.0, 0.1]   ,				__magic_name__=[True, True, True]   ,				__magic_name__=[False, False, True]   ,				__magic_name__=["dw_bn", "dw_bn", "dw_bn"]   ,				__magic_name__=[3, 3, 3]   ,				__magic_name__=[1, 1, 1]   ,				__magic_name__=[2, 2, 2]   ,				__magic_name__=[1, 1, 1]   ,				__magic_name__=[1, 1, 1]   ,				__magic_name__=0.02   ,				__magic_name__=1e-12   ,				**__magic_name__   ,				)	->  List[str]:


							'''simple docstring'''



							super().__init__(**__magic_name__       )
							snake_case_		:       int           =    num_channels
							snake_case_		:       str           =    patch_sizes
							snake_case_		:       Dict           =    patch_stride
							snake_case_		:       str           =    patch_padding
							snake_case_		:       List[str]           =    embed_dim
							snake_case_		:       int           =    num_heads
							snake_case_		:       Union[str, Any]           =    depth
							snake_case_		:       Union[str, Any]           =    mlp_ratio
							snake_case_		:       List[str]           =    attention_drop_rate
							snake_case_		:       Tuple           =    drop_rate
							snake_case_		:       Any           =    drop_path_rate
							snake_case_		:       Optional[int]           =    qkv_bias
							snake_case_		:       Tuple           =    cls_token
							snake_case_		:       Dict           =    qkv_projection_method
							snake_case_		:       Dict           =    kernel_qkv
							snake_case_		:       List[Any]           =    padding_kv
							snake_case_		:       Dict           =    stride_kv
							snake_case_		:       List[str]           =    padding_q
							snake_case_		:       List[Any]           =    stride_q
							snake_case_		:       Dict           =    initializer_range
							snake_case_		:       Dict           =    layer_norm_eps



"""simple docstring"""


from math import pow, sqrt



def   _A					(	*_a	:						float				):



      """simple docstring"""






      A				  =		len(_a				) > 0 and all(value > 0.0 for value in values				)
      return result



def   _A					(	_a	:						float     ,   _a	:						float				):



      """simple docstring"""






      return (
          round(sqrt(molar_mass_a / molar_mass_a				)     ,   6				)
          if validate(_a     ,   _a				)
          else ValueError("""Input Error: Molar mass values must greater than 0."""				)
      )



def   _A					(	_a	:						float     ,   _a	:						float     ,   _a	:						float				):



      """simple docstring"""






      return (
          round(effusion_rate * sqrt(molar_mass_a / molar_mass_a				)     ,   6				)
          if validate(_a     ,   _a     ,   _a				)
          else ValueError(
              """Input Error: Molar mass and effusion rate values must greater than 0."""				)
      )



def   _A					(	_a	:						float     ,   _a	:						float     ,   _a	:						float				):



      """simple docstring"""






      return (
          round(effusion_rate / sqrt(molar_mass_a / molar_mass_a				)     ,   6				)
          if validate(_a     ,   _a     ,   _a				)
          else ValueError(
              """Input Error: Molar mass and effusion rate values must greater than 0."""				)
      )



def   _A					(	_a	:						float     ,   _a	:						float     ,   _a	:						float				):



      """simple docstring"""






      return (
          round(molar_mass / pow(effusion_rate_a / effusion_rate_a     ,   2				)     ,   6				)
          if validate(_a     ,   _a     ,   _a				)
          else ValueError(
              """Input Error: Molar mass and effusion rate values must greater than 0."""				)
      )





def   _A					(	_a	:						float     ,   _a	:						float     ,   _a	:						float				):



      """simple docstring"""






      return (
          round(pow(effusion_rate_a / effusion_rate_a     ,   2				) / molar_mass     ,   6				)
          if validate(_a     ,   _a     ,   _a				)
          else ValueError(
              """Input Error: Molar mass and effusion rate values must greater than 0."""				)
      )




