






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


a_		:    Any   							=     logging.get_logger(__name__)

a_		:    List[Any]   							=     {'ctrl': 'https://huggingface.co/ctrl/resolve/main/config.json'}

class 		_snake_case	(	A__       ):
			_lowercase		:     Optional[Any]        =				'''ctrl'''
			_lowercase		:     str        =				['''past_key_values''']
			_lowercase		:     Optional[Any]        =				{
			    '''max_position_embeddings''': '''n_positions''',
			    '''hidden_size''': '''n_embd''',
			    '''num_attention_heads''': '''n_head''',
			    '''num_hidden_layers''': '''n_layer''',
			}






			def __init__(							self		,       a=24_6534		,       a=256		,       a=1280		,       a=8192		,       a=48		,       a=16		,       a=0.1		,       a=0.1		,       a=1E-6		,       a=0.02		,       a=True		,       **a		,       )   ->							List[str]:
						SCREAMING_SNAKE_CASE							=			vocab_size
						SCREAMING_SNAKE_CASE							=			n_positions
						SCREAMING_SNAKE_CASE							=			n_embd
						SCREAMING_SNAKE_CASE							=			n_layer
						SCREAMING_SNAKE_CASE							=			n_head
						SCREAMING_SNAKE_CASE							=			dff
						SCREAMING_SNAKE_CASE							=			resid_pdrop
						SCREAMING_SNAKE_CASE							=			embd_pdrop
						SCREAMING_SNAKE_CASE							=			layer_norm_epsilon
						SCREAMING_SNAKE_CASE							=			initializer_range

						SCREAMING_SNAKE_CASE							=			use_cache

						super().__init__(**a)






from typing import List

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


lowercase    :   Union[str, Any]						=			logging.get_logger(__name__)

lowercase    :   Union[str, Any]						=			{
    'snap-research/efficientformer-l1-300': (
        'https://huggingface.co/snap-research/efficientformer-l1-300/resolve/main/config.json'
    ),
}




class 					lowerCamelCase__				(							__lowercase):




	'''simple docstring'''




	_A								=	'efficientformer'







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

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