
'''simple docstring'''
from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


_UpperCamelCase											=			logging.get_logger(__name__)

_UpperCamelCase											=			{
    'facebook/convnext-tiny-224': 'https://huggingface.co/facebook/convnext-tiny-224/resolve/main/config.json',
    # See all ConvNeXT models at https://huggingface.co/models?filter=convnext
}



class _A  (    UpperCAmelCase_	,				UpperCAmelCase_    ):
		_SCREAMING_SNAKE_CASE					:    Dict						      =			"convnext"





		def __init__(     self ,       __UpperCAmelCase=3 ,       __UpperCAmelCase=4 ,       __UpperCAmelCase=4 ,       __UpperCAmelCase=None ,       __UpperCAmelCase=None ,       __UpperCAmelCase="gelu" ,       __UpperCAmelCase=0.02 ,       __UpperCAmelCase=1E-12 ,       __UpperCAmelCase=1E-6 ,       __UpperCAmelCase=0.0 ,       __UpperCAmelCase=224 ,       __UpperCAmelCase=None ,       __UpperCAmelCase=None ,       **__UpperCAmelCase ,       )       ->     Tuple:

					'''simple docstring'''
					super().__init__(**__UpperCamelCase				)

					__UpperCAmelCase   :      List[Any]										=     num_channels
					__UpperCAmelCase   :      List[str]										=     patch_size
					__UpperCAmelCase   :      List[Any]										=     num_stages
					__UpperCAmelCase   :      Union[str, Any]										=     [96, 192, 384, 768] if hidden_sizes is None else hidden_sizes
					__UpperCAmelCase   :      Union[str, Any]										=     [3, 3, 9, 3] if depths is None else depths
					__UpperCAmelCase   :      Any										=     hidden_act
					__UpperCAmelCase   :      Dict										=     initializer_range
					__UpperCAmelCase   :      Union[str, Any]										=     layer_norm_eps
					__UpperCAmelCase   :      Union[str, Any]										=     layer_scale_init_value
					__UpperCAmelCase   :      Optional[Any]										=     drop_path_rate
					__UpperCAmelCase   :      Any										=     image_size
					__UpperCAmelCase   :      Dict										=     ["""stem"""] + [f'stage{idx}' for idx in range(1 ,       len(self.depths				) + 1				)]
					__UpperCAmelCase				,  __UpperCAmelCase   :      Optional[Any]										=     get_aligned_output_features_output_indices(
					    out_features=__UpperCamelCase ,       out_indices=__UpperCamelCase ,       stage_names=self.stage_names				)



class _A  (    UpperCAmelCase_    ):
		_SCREAMING_SNAKE_CASE					:    List[str]						      =			version.parse("1.11"    )





		@property
		def 							__A       (     self				)       ->     List[str]:

					'''simple docstring'''
					return OrderedDict(
					    [
					        ("""pixel_values""", {0: """batch""", 1: """num_channels""", 2: """height""", 3: """width"""}),
					    ]				)





		@property
		def 							__A       (     self				)       ->     Optional[int]:

					'''simple docstring'''
					return 1E-5









'''simple docstring'''
from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


_UpperCamelCase											=			logging.get_logger(__name__)

_UpperCamelCase											=			{
    '''nghuyong/ernie-1.0-base-zh''': '''https://huggingface.co/nghuyong/ernie-1.0-base-zh/resolve/main/config.json''',
    '''nghuyong/ernie-2.0-base-en''': '''https://huggingface.co/nghuyong/ernie-2.0-base-en/resolve/main/config.json''',
    '''nghuyong/ernie-2.0-large-en''': '''https://huggingface.co/nghuyong/ernie-2.0-large-en/resolve/main/config.json''',
    '''nghuyong/ernie-3.0-base-zh''': '''https://huggingface.co/nghuyong/ernie-3.0-base-zh/resolve/main/config.json''',
    '''nghuyong/ernie-3.0-medium-zh''': '''https://huggingface.co/nghuyong/ernie-3.0-medium-zh/resolve/main/config.json''',
    '''nghuyong/ernie-3.0-mini-zh''': '''https://huggingface.co/nghuyong/ernie-3.0-mini-zh/resolve/main/config.json''',
    '''nghuyong/ernie-3.0-micro-zh''': '''https://huggingface.co/nghuyong/ernie-3.0-micro-zh/resolve/main/config.json''',
    '''nghuyong/ernie-3.0-nano-zh''': '''https://huggingface.co/nghuyong/ernie-3.0-nano-zh/resolve/main/config.json''',
    '''nghuyong/ernie-gram-zh''': '''https://huggingface.co/nghuyong/ernie-gram-zh/resolve/main/config.json''',
    '''nghuyong/ernie-health-zh''': '''https://huggingface.co/nghuyong/ernie-health-zh/resolve/main/config.json''',
}



class _A  (    __SCREAMING_SNAKE_CASE    ):
		_SCREAMING_SNAKE_CASE					:    Optional[int]						      =			"ernie"





		def __init__(     self ,       __UpperCAmelCase=30_522 ,       __UpperCAmelCase=768 ,       __UpperCAmelCase=12 ,       __UpperCAmelCase=12 ,       __UpperCAmelCase=3_072 ,       __UpperCAmelCase="gelu" ,       __UpperCAmelCase=0.1 ,       __UpperCAmelCase=0.1 ,       __UpperCAmelCase=512 ,       __UpperCAmelCase=2 ,       __UpperCAmelCase=3 ,       __UpperCAmelCase=False ,       __UpperCAmelCase=0.02 ,       __UpperCAmelCase=1E-12 ,       __UpperCAmelCase=0 ,       __UpperCAmelCase="absolute" ,       __UpperCAmelCase=True ,       __UpperCAmelCase=None ,       **__UpperCAmelCase ,       )       ->     List[Any]:

					'''simple docstring'''
					super().__init__(pad_token_id=__UpperCAmelCase ,       **__UpperCAmelCase				)

					__UpperCAmelCase   :      List[str]										=     vocab_size
					__UpperCAmelCase   :      Optional[int]										=     hidden_size
					__UpperCAmelCase   :      Optional[Any]										=     num_hidden_layers
					__UpperCAmelCase   :      int										=     num_attention_heads
					__UpperCAmelCase   :      int										=     hidden_act
					__UpperCAmelCase   :      List[Any]										=     intermediate_size
					__UpperCAmelCase   :      Optional[Any]										=     hidden_dropout_prob
					__UpperCAmelCase   :      Dict										=     attention_probs_dropout_prob
					__UpperCAmelCase   :      int										=     max_position_embeddings
					__UpperCAmelCase   :      str										=     type_vocab_size
					__UpperCAmelCase   :      int										=     task_type_vocab_size
					__UpperCAmelCase   :      List[str]										=     use_task_id
					__UpperCAmelCase   :      Union[str, Any]										=     initializer_range
					__UpperCAmelCase   :      Tuple										=     layer_norm_eps
					__UpperCAmelCase   :      List[str]										=     position_embedding_type
					__UpperCAmelCase   :      Union[str, Any]										=     use_cache
					__UpperCAmelCase   :      Optional[int]										=     classifier_dropout



class _A  (    __SCREAMING_SNAKE_CASE    ):





		@property
		def 							__A       (     self				)       ->     Mapping[str, Mapping[int, str]]:

					'''simple docstring'''
					if self.task == "multiple-choice":
								__UpperCAmelCase   :      Union[str, Any]										=     {0: """batch""", 1: """choice""", 2: """sequence"""}
					else:
								__UpperCAmelCase   :      Tuple										=     {0: """batch""", 1: """sequence"""}
					return OrderedDict(
					    [
					        ("""input_ids""", dynamic_axis),
					        ("""attention_mask""", dynamic_axis),
					        ("""token_type_ids""", dynamic_axis),
					        ("""task_type_ids""", dynamic_axis),
					    ]				)




