






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


a_		:    Optional[int]   							=     logging.get_logger(__name__)

a_		:    int   							=     {
    '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 		_snake_case	(	A__       ):
			_lowercase		:     Dict        =				'''cvt'''






			def __init__(							self		,       a=3		,       a=[7, 3, 3]		,       a=[4, 2, 2]		,       a=[2, 1, 1]		,       a=[64, 192, 384]		,       a=[1, 3, 6]		,       a=[1, 2, 10]		,       a=[4.0, 4.0, 4.0]		,       a=[0.0, 0.0, 0.0]		,       a=[0.0, 0.0, 0.0]		,       a=[0.0, 0.0, 0.1]		,       a=[True, True, True]		,       a=[False, False, True]		,       a=["dw_bn", "dw_bn", "dw_bn"]		,       a=[3, 3, 3]		,       a=[1, 1, 1]		,       a=[2, 2, 2]		,       a=[1, 1, 1]		,       a=[1, 1, 1]		,       a=0.02		,       a=1E-12		,       **a		,       )   ->							List[Any]:
						super().__init__(**a)
						SCREAMING_SNAKE_CASE							=			num_channels
						SCREAMING_SNAKE_CASE							=			patch_sizes
						SCREAMING_SNAKE_CASE							=			patch_stride
						SCREAMING_SNAKE_CASE							=			patch_padding
						SCREAMING_SNAKE_CASE							=			embed_dim
						SCREAMING_SNAKE_CASE							=			num_heads
						SCREAMING_SNAKE_CASE							=			depth
						SCREAMING_SNAKE_CASE							=			mlp_ratio
						SCREAMING_SNAKE_CASE							=			attention_drop_rate
						SCREAMING_SNAKE_CASE							=			drop_rate
						SCREAMING_SNAKE_CASE							=			drop_path_rate
						SCREAMING_SNAKE_CASE							=			qkv_bias
						SCREAMING_SNAKE_CASE							=			cls_token
						SCREAMING_SNAKE_CASE							=			qkv_projection_method
						SCREAMING_SNAKE_CASE							=			kernel_qkv
						SCREAMING_SNAKE_CASE							=			padding_kv
						SCREAMING_SNAKE_CASE							=			stride_kv
						SCREAMING_SNAKE_CASE							=			padding_q
						SCREAMING_SNAKE_CASE							=			stride_q
						SCREAMING_SNAKE_CASE							=			initializer_range
						SCREAMING_SNAKE_CASE							=			layer_norm_eps








'''simple docstring'''
from typing import TYPE_CHECKING

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


lowerCAmelCase   : Dict             =				{"""configuration_van""": ["""VAN_PRETRAINED_CONFIG_ARCHIVE_MAP""", """VanConfig"""]}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase   : int             =				[
					    """VAN_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """VanForImageClassification""",
					    """VanModel""",
					    """VanPreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_van import (
										    VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
										    VanForImageClassification,
										    VanModel,
										    VanPreTrainedModel,
										)

else:
					import sys

					lowerCAmelCase   : Tuple             =				_LazyModule(__name__, globals()["""__file__"""], _import_structure)


