



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


A    =	logging.get_logger(__name__)

A    =	{
    "MBZUAI/swiftformer-xs": "https://huggingface.co/MBZUAI/swiftformer-xs/resolve/main/config.json",
}

class 			_a     (   SCREAMING_SNAKE_CASE__):
			__magic_name__    				=    """swiftformer"""



			def __init__( self       :							str      ,  _lowercase       :							int=3      ,  _lowercase       :							List[str]=[3, 3, 6, 4]      ,  _lowercase       :							int=[48, 56, 112, 220]      ,  _lowercase       :							Dict=4      ,  _lowercase       :							Optional[int]=[True, True, True, True]      ,  _lowercase       :							Optional[int]="gelu"      ,  _lowercase       :							List[str]=3      ,  _lowercase       :							List[Any]=2      ,  _lowercase       :							Any=1      ,  _lowercase       :							List[str]=0.0      ,  _lowercase       :							Optional[Any]=True      ,  _lowercase       :							Optional[int]=1E-5      ,  _lowercase       :							Union[str, Any]=1E-5      ,  **_lowercase       :							List[str]      ,  )       ->				str:
									super().__init__(**_lowercase		)
									snake_case      : Optional[Any]							=   num_channels
									snake_case      : Dict							=   depths
									snake_case      : Tuple							=   embed_dims
									snake_case      : int							=   mlp_ratio
									snake_case      : Union[str, Any]							=   downsamples
									snake_case      : List[str]							=   hidden_act
									snake_case      : List[str]							=   down_patch_size
									snake_case      : Optional[int]							=   down_stride
									snake_case      : List[str]							=   down_pad
									snake_case      : Tuple							=   drop_path_rate
									snake_case      : Optional[Any]							=   use_layer_scale
									snake_case      : Dict							=   layer_scale_init_value
									snake_case      : str							=   batch_norm_eps



class 			_a     (   SCREAMING_SNAKE_CASE__):
			__magic_name__    				=    version.parse("""1.11""")



			@property
			def 							__lowercase				( self       :							Optional[Any]		)       ->				Mapping[str, Mapping[int, str]]:
									return OrderedDict(
									    [
									        ("pixel_values", {0: "batch", 1: "num_channels", 2: "height", 3: "width"}),
									    ]		)



			@property
			def 							__lowercase				( self       :							Optional[int]		)       ->				float:
									return 1E-4








"""simple docstring"""







from typing import TYPE_CHECKING

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


A    =	{
    'configuration_mobilevitv2': [
        'MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'MobileViTV2Config',
        'MobileViTV2OnnxConfig',
    ],
}


try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			A    =	[
			    'MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST',
			    'MobileViTV2ForImageClassification',
			    'MobileViTV2ForSemanticSegmentation',
			    'MobileViTV2Model',
			    'MobileViTV2PreTrainedModel',
			]

if TYPE_CHECKING:
			from .configuration_mobilevitva import (
			    MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
			    MobileViTVaConfig,
			    MobileViTVaOnnxConfig,
			)

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_mobilevitva import (
						    MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST,
						    MobileViTVaForImageClassification,
						    MobileViTVaForSemanticSegmentation,
						    MobileViTVaModel,
						    MobileViTVaPreTrainedModel,
						)

else:
			import sys

			A    =	_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)



