



from typing import List

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


_snake_case		=  logging.get_logger(__name__)

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



class   UpperCAmelCase_    (       a):
							lowerCamelCase__   			=		'efficientformer'







							def __init__(   self,			__a = [3, 2, 6, 4],			__a = [48, 96, 224, 448],			__a = [True, True, True, True],			__a = 448,			__a = 32,			__a = 4,			__a = 7,			__a = 5,			__a = 8,			__a = 4,			__a = 0.0,			__a = 16,			__a = 3,			__a = 3,			__a = 3,			__a = 2,			__a = 1,			__a = 0.0,			__a = 1,			__a = True,			__a = True,			__a = 1E-5,			__a = "gelu",			__a = 0.02,			__a = 1E-12,			__a = 224,			__a = 1E-05,			**__a,			):

														'''simple docstring'''

														super().__init__(**__a)

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





def 				A				(					_lowerCamelCase				, _lowerCamelCase  ):





							'''simple docstring'''




							if density <= 0:
														raise ValueError("Impossible fluid density"  )
							if bulk_modulus <= 0:
														raise ValueError("Impossible bulk modulus"  )

							return (bulk_modulus / density) ** 0.5


if __name__ == "__main__":
						import doctest

						doctest.testmod()
