






"""simple docstring"""





from typing import List

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


__lowerCamelCase							=  logging.get_logger(__name__)

__lowerCamelCase							=  {
    'snap-research/efficientformer-l1-300': (
        'https://huggingface.co/snap-research/efficientformer-l1-300/resolve/main/config.json'
    ),
}



class       __A		(   __SCREAMING_SNAKE_CASE			):
					UpperCAmelCase__								=				"efficientformer"

					def __init__(			self  :      str     ,		__snake_case  :      List[int] = [3, 2, 6, 4]     ,		__snake_case  :      List[int] = [4_8, 9_6, 2_2_4, 4_4_8]     ,		__snake_case  :      List[bool] = [True, True, True, True]     ,		__snake_case  :      int = 4_4_8     ,		__snake_case  :      int = 3_2     ,		__snake_case  :      int = 4     ,		__snake_case  :      int = 7     ,		__snake_case  :      int = 5     ,		__snake_case  :      int = 8     ,		__snake_case  :      int = 4     ,		__snake_case  :      float = 0.0     ,		__snake_case  :      int = 1_6     ,		__snake_case  :      int = 3     ,		__snake_case  :      int = 3     ,		__snake_case  :      int = 3     ,		__snake_case  :      int = 2     ,		__snake_case  :      int = 1     ,		__snake_case  :      float = 0.0     ,		__snake_case  :      int = 1     ,		__snake_case  :      bool = True     ,		__snake_case  :      bool = True     ,		__snake_case  :      float = 1E-5     ,		__snake_case  :      str = "gelu"     ,		__snake_case  :      float = 0.02     ,		__snake_case  :      float = 1E-12     ,		__snake_case  :      int = 2_2_4     ,		__snake_case  :      float = 1E-05     ,		**__snake_case  :      Tuple     ,		)			->							None:
											super().__init__(**_SCREAMING_SNAKE_CASE					)

											__magic_name__:	List[Any]							=       hidden_act
											__magic_name__:	Tuple							=       hidden_dropout_prob
											__magic_name__:	int							=       hidden_sizes
											__magic_name__:	Optional[Any]							=       num_hidden_layers
											__magic_name__:	Tuple							=       num_attention_heads
											__magic_name__:	List[Any]							=       initializer_range
											__magic_name__:	Tuple							=       layer_norm_eps
											__magic_name__:	Tuple							=       patch_size
											__magic_name__:	int							=       num_channels
											__magic_name__:	Any							=       depths
											__magic_name__:	List[str]							=       mlp_expansion_ratio
											__magic_name__:	List[Any]							=       downsamples
											__magic_name__:	Any							=       dim
											__magic_name__:	Dict							=       key_dim
											__magic_name__:	Optional[Any]							=       attention_ratio
											__magic_name__:	List[str]							=       resolution
											__magic_name__:	List[Any]							=       pool_size
											__magic_name__:	int							=       downsample_patch_size
											__magic_name__:	Tuple							=       downsample_stride
											__magic_name__:	List[str]							=       downsample_pad
											__magic_name__:	int							=       drop_path_rate
											__magic_name__:	Union[str, Any]							=       num_metaad_blocks
											__magic_name__:	Optional[Any]							=       distillation
											__magic_name__:	Tuple							=       use_layer_scale
											__magic_name__:	Any							=       layer_scale_init_value
											__magic_name__:	Any							=       image_size
											__magic_name__:	Optional[Any]							=       batch_norm_eps








"""simple docstring"""






from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__snake_case				:  Tuple =       {
    'configuration_autoformer': [
        'AUTOFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'AutoformerConfig',
    ],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__snake_case				:  Optional[Any] =       [
	    'AUTOFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'AutoformerForPrediction',
	    'AutoformerModel',
	    'AutoformerPreTrainedModel',
	]


if TYPE_CHECKING:
	from .configuration_autoformer import (
	    AUTOFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    AutoformerConfig,
	)

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_autoformer import (
		    AUTOFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
		    AutoformerForPrediction,
		    AutoformerModel,
		    AutoformerPreTrainedModel,
		)

else:
	import sys

	__snake_case				:  Optional[int] =       _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)