



from typing import List

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


SCREAMING_SNAKE_CASE__       =      logging.get_logger(__name__)

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


class      __lowerCAmelCase     (		_SCREAMING_SNAKE_CASE      ):
					"""simple docstring"""






					A__				:		Optional[int]			       =    "efficientformer"



					def __init__(     self					:       List[Any]				,					_snake_case					:       Tuple = [3, 2, 6, 4]				,					_snake_case					:       Optional[int] = [48, 96, 2_24, 4_48]				,					_snake_case					:       Tuple = [True, True, True, True]				,					_snake_case					:       Optional[Any] = 4_48				,					_snake_case					:       Any = 32				,					_snake_case					:       Union[str, Any] = 4				,					_snake_case					:       Optional[Any] = 7				,					_snake_case					:       Union[str, Any] = 5				,					_snake_case					:       Optional[Any] = 8				,					_snake_case					:       str = 4				,					_snake_case					:       Optional[int] = 0.0				,					_snake_case					:       str = 16				,					_snake_case					:       List[str] = 3				,					_snake_case					:       Any = 3				,					_snake_case					:       int = 3				,					_snake_case					:       int = 2				,					_snake_case					:       Optional[int] = 1				,					_snake_case					:       Optional[Any] = 0.0				,					_snake_case					:       Union[str, Any] = 1				,					_snake_case					:       Union[str, Any] = True				,					_snake_case					:       Tuple = True				,					_snake_case					:       Tuple = 1E-5				,					_snake_case					:       Optional[Any] = "gelu"				,					_snake_case					:       Optional[int] = 0.02				,					_snake_case					:       int = 1E-12				,					_snake_case					:       List[Any] = 2_24				,					_snake_case					:       Any = 1E-05				,					**_snake_case					:       Dict				,					):






								"""simple docstring"""


								super().__init__(**A_					)

								A__       =    hidden_act
								A__       =    hidden_dropout_prob
								A__       =    hidden_sizes
								A__       =    num_hidden_layers
								A__       =    num_attention_heads
								A__       =    initializer_range
								A__       =    layer_norm_eps
								A__       =    patch_size
								A__       =    num_channels
								A__       =    depths
								A__       =    mlp_expansion_ratio
								A__       =    downsamples
								A__       =    dim
								A__       =    key_dim
								A__       =    attention_ratio
								A__       =    resolution
								A__       =    pool_size
								A__       =    downsample_patch_size
								A__       =    downsample_stride
								A__       =    downsample_pad
								A__       =    drop_path_rate
								A__       =    num_metaad_blocks
								A__       =    distillation
								A__       =    use_layer_scale
								A__       =    layer_scale_init_value
								A__       =    image_size
								A__       =    batch_norm_eps









# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE__       =      {'''configuration_mra''': ['''MRA_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''MraConfig''']}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__       =      [
							    '''MRA_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''MraForMaskedLM''',
							    '''MraForMultipleChoice''',
							    '''MraForQuestionAnswering''',
							    '''MraForSequenceClassification''',
							    '''MraForTokenClassification''',
							    '''MraLayer''',
							    '''MraModel''',
							    '''MraPreTrainedModel''',
							]


if TYPE_CHECKING:
							from .configuration_mra import MRA_PRETRAINED_CONFIG_ARCHIVE_MAP, MraConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_mra import (
														    MRA_PRETRAINED_MODEL_ARCHIVE_LIST,
														    MraForMaskedLM,
														    MraForMultipleChoice,
														    MraForQuestionAnswering,
														    MraForSequenceClassification,
														    MraForTokenClassification,
														    MraLayer,
														    MraModel,
														    MraPreTrainedModel,
														)
else:
							import sys

							SCREAMING_SNAKE_CASE__       =      _LazyModule(__name__, globals()['''__file__'''], _import_structure)




