






"""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		(   lowerCAmelCase__			):
					UpperCAmelCase__								=				"efficientformer"

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

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








def 		a__      (		_UpperCamelCase      :			int				):
   __lowerCamelCase    				=     int(_UpperCamelCase				)
   if decimal in (0, 1):  # Exit cases for the recursion
      return str(_UpperCamelCase				)
   __lowerCamelCase				,__lowerCamelCase    				=     divmod(_UpperCamelCase			,2				)
   return binary_recursive(_UpperCamelCase				) + str(_UpperCamelCase				)





def 		a__      (		_UpperCamelCase      :			str				):
   __lowerCamelCase    				=     str(_UpperCamelCase				).strip()
   if not number:
      raise ValueError('''No input value was provided'''				)
   __lowerCamelCase    				=     '''-''' if number.startswith('''-'''				) else ''''''
   __lowerCamelCase    				=     number.lstrip('''-'''				)
   if not number.isnumeric():
      raise ValueError('''Input value is not an integer'''				)
   return F"""{negative}0b{binary_recursive(int(_UpperCamelCase				)				)}"""


if __name__ == "__main__":
  from doctest import testmod

  testmod()






