





"""simple docstring"""





from typing import List

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


__A											=						logging.get_logger(__name__)

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






class    _lowerCAmelCase  (	a			):
       """simple docstring"""




       __magic_name__	:Union[str, Any]						    =   """efficientformer"""






       def __init__(       self       ,					__UpperCAmelCase = [3, 2, 6, 4]       ,					__UpperCAmelCase = [4_8, 9_6, 2_2_4, 4_4_8]       ,					__UpperCAmelCase = [True, True, True, True]       ,					__UpperCAmelCase = 4_4_8       ,					__UpperCAmelCase = 3_2       ,					__UpperCAmelCase = 4       ,					__UpperCAmelCase = 7       ,					__UpperCAmelCase = 5       ,					__UpperCAmelCase = 8       ,					__UpperCAmelCase = 4       ,					__UpperCAmelCase = 0.0       ,					__UpperCAmelCase = 1_6       ,					__UpperCAmelCase = 3       ,					__UpperCAmelCase = 3       ,					__UpperCAmelCase = 3       ,					__UpperCAmelCase = 2       ,					__UpperCAmelCase = 1       ,					__UpperCAmelCase = 0.0       ,					__UpperCAmelCase = 1       ,					__UpperCAmelCase = True       ,					__UpperCAmelCase = True       ,					__UpperCAmelCase = 1E-5       ,					__UpperCAmelCase = "gelu"       ,					__UpperCAmelCase = 0.02       ,					__UpperCAmelCase = 1E-12       ,					__UpperCAmelCase = 2_2_4       ,					__UpperCAmelCase = 1E-05       ,					**__UpperCAmelCase       ,					):



         '''simple docstring'''

         super().__init__(**__UpperCAmelCase )

         lowerCAmelCase__     :Any											=				hidden_act
         lowerCAmelCase__     :List[Any]											=				hidden_dropout_prob
         lowerCAmelCase__     :Any											=				hidden_sizes
         lowerCAmelCase__     :str											=				num_hidden_layers
         lowerCAmelCase__     :Tuple											=				num_attention_heads
         lowerCAmelCase__     :List[str]											=				initializer_range
         lowerCAmelCase__     :Optional[Any]											=				layer_norm_eps
         lowerCAmelCase__     :Optional[int]											=				patch_size
         lowerCAmelCase__     :int											=				num_channels
         lowerCAmelCase__     :Optional[int]											=				depths
         lowerCAmelCase__     :Dict											=				mlp_expansion_ratio
         lowerCAmelCase__     :Any											=				downsamples
         lowerCAmelCase__     :Dict											=				dim
         lowerCAmelCase__     :Optional[Any]											=				key_dim
         lowerCAmelCase__     :int											=				attention_ratio
         lowerCAmelCase__     :int											=				resolution
         lowerCAmelCase__     :List[str]											=				pool_size
         lowerCAmelCase__     :Union[str, Any]											=				downsample_patch_size
         lowerCAmelCase__     :Optional[Any]											=				downsample_stride
         lowerCAmelCase__     :int											=				downsample_pad
         lowerCAmelCase__     :int											=				drop_path_rate
         lowerCAmelCase__     :List[str]											=				num_metaad_blocks
         lowerCAmelCase__     :Any											=				distillation
         lowerCAmelCase__     :Union[str, Any]											=				use_layer_scale
         lowerCAmelCase__     :Optional[int]											=				layer_scale_init_value
         lowerCAmelCase__     :Any											=				image_size
         lowerCAmelCase__     :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


A__    :   List[str]           =					{
    '''configuration_autoformer''': [
        '''AUTOFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''AutoformerConfig''',
    ],
}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    A__    :   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

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



