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


__lowercase										= logging.get_logger(__name__)

__lowercase										= {
    '''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_					(       lowerCamelCase_			):






    '''simple docstring'''






    a__     :						List[str]      =				"""cvt"""







    def __init__(     self			,			__lowercase=3			,			__lowercase=[7, 3, 3]			,			__lowercase=[4, 2, 2]			,			__lowercase=[2, 1, 1]			,			__lowercase=[64, 192, 384]			,			__lowercase=[1, 3, 6]			,			__lowercase=[1, 2, 10]			,			__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.02			,			__lowercase=1E-1_2			,			**__lowercase			,			)	->     Dict:
        super().__init__(**_UpperCAmelCase)
        __UpperCamelCase					:int        =		num_channels
        __UpperCamelCase					:Optional[Any]        =		patch_sizes
        __UpperCamelCase					:Optional[int]        =		patch_stride
        __UpperCamelCase					:Optional[Any]        =		patch_padding
        __UpperCamelCase					:Any        =		embed_dim
        __UpperCamelCase					:Optional[Any]        =		num_heads
        __UpperCamelCase					:Optional[int]        =		depth
        __UpperCamelCase					:Optional[int]        =		mlp_ratio
        __UpperCamelCase					:Dict        =		attention_drop_rate
        __UpperCamelCase					:List[Any]        =		drop_rate
        __UpperCamelCase					:Any        =		drop_path_rate
        __UpperCamelCase					:Dict        =		qkv_bias
        __UpperCamelCase					:Tuple        =		cls_token
        __UpperCamelCase					:Optional[int]        =		qkv_projection_method
        __UpperCamelCase					:Tuple        =		kernel_qkv
        __UpperCamelCase					:Dict        =		padding_kv
        __UpperCamelCase					:Union[str, Any]        =		stride_kv
        __UpperCamelCase					:List[str]        =		padding_q
        __UpperCamelCase					:List[str]        =		stride_q
        __UpperCamelCase					:Dict        =		initializer_range
        __UpperCamelCase					:Any        =		layer_norm_eps






from __future__ import annotations

from math import pi



def lowerCamelCase  (       SCREAMING_SNAKE_CASE  ,      SCREAMING_SNAKE_CASE  ,      SCREAMING_SNAKE_CASE     ):
    '''simple docstring'''







    if (inductance, frequency, reactance).count(0     ) != 1:
        raise ValueError('''One and only one argument must be 0'''     )
    if inductance < 0:
        raise ValueError('''Inductance cannot be negative'''     )
    if frequency < 0:
        raise ValueError('''Frequency cannot be negative'''     )
    if reactance < 0:
        raise ValueError('''Inductive reactance cannot be negative'''     )
    if inductance == 0:
        return {"inductance": reactance / (2 * pi * frequency)}
    elif frequency == 0:
        return {"frequency": reactance / (2 * pi * inductance)}
    elif reactance == 0:
        return {"reactance": 2 * pi * frequency * inductance}
    else:
        raise ValueError('''Exactly one argument must be 0'''     )


if __name__ == "__main__":
    import doctest

    doctest.testmod()





