

"""simple docstring"""



import warnings
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


SCREAMING_SNAKE_CASE_					:	Any							  =						logging.get_logger(__name__)

SCREAMING_SNAKE_CASE_					:	Optional[Any]							  =						{
    'nvidia/segformer-b0-finetuned-ade-512-512': (
        'https://huggingface.co/nvidia/segformer-b0-finetuned-ade-512-512/resolve/main/config.json'
    ),
    # See all SegFormer models at https://huggingface.co/models?filter=segformer
}



class 					a						(       _lowerCamelCase				):



				"""simple docstring"""



				UpperCAmelCase						 =					"segformer"

				def __init__(     self: Optional[Any]    ,						UpperCamelCase: Union[str, Any]=3    ,						UpperCamelCase: int=4    ,						UpperCamelCase: int=[2, 2, 2, 2]    ,						UpperCamelCase: List[str]=[8, 4, 2, 1]    ,						UpperCamelCase: List[Any]=[32, 64, 1_60, 2_56]    ,						UpperCamelCase: Any=[7, 3, 3, 3]    ,						UpperCamelCase: Union[str, Any]=[4, 2, 2, 2]    ,						UpperCamelCase: Tuple=[1, 2, 5, 8]    ,						UpperCamelCase: Optional[int]=[4, 4, 4, 4]    ,						UpperCamelCase: Dict="gelu"    ,						UpperCamelCase: Optional[Any]=0.0    ,						UpperCamelCase: List[str]=0.0    ,						UpperCamelCase: Union[str, Any]=0.1    ,						UpperCamelCase: List[Any]=0.02    ,						UpperCamelCase: int=0.1    ,						UpperCamelCase: Optional[int]=1e-6    ,						UpperCamelCase: int=2_56    ,						UpperCamelCase: Union[str, Any]=2_55    ,						**UpperCamelCase: Optional[Any]    ,						):






									"""simple docstring"""


									super().__init__(**UpperCamelCase       )

									if "reshape_last_stage" in kwargs and kwargs["reshape_last_stage"] is False:
														warnings.warn(
														    """Reshape_last_stage is set to False in this config. This argument is deprecated and will soon be"""
														    """ removed, as the behaviour will default to that of reshape_last_stage = True."""    ,						UpperCamelCase    ,						)

									A__										=  num_channels
									A__										=  num_encoder_blocks
									A__										=  depths
									A__										=  sr_ratios
									A__										=  hidden_sizes
									A__										=  patch_sizes
									A__										=  strides
									A__										=  mlp_ratios
									A__										=  num_attention_heads
									A__										=  hidden_act
									A__										=  hidden_dropout_prob
									A__										=  attention_probs_dropout_prob
									A__										=  classifier_dropout_prob
									A__										=  initializer_range
									A__										=  drop_path_rate
									A__										=  layer_norm_eps
									A__										=  decoder_hidden_size
									A__										=  kwargs.get("""reshape_last_stage"""    ,						UpperCamelCase       )
									A__										=  semantic_loss_ignore_index



class 					a						(       _lowerCamelCase				):



				"""simple docstring"""



				UpperCAmelCase						 =					version.parse("1.11"				)

				@property
				def 				UpperCamelCase	(     self: List[str]       ):






									"""simple docstring"""


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

				@property
				def 				UpperCamelCase	(     self: int       ):






									"""simple docstring"""


									return 1e-4





				@property
				def 				UpperCamelCase	(     self: Optional[int]       ):






									"""simple docstring"""


									return 12









"""simple docstring"""



import baseaa





def  _snake_case     (    UpperCAmelCase_  :					str			):
     return baseaa.aaaencode(string.encode("""utf-8"""			)			)





def  _snake_case     (    UpperCAmelCase_  :					bytes			):
     return baseaa.aaadecode(UpperCAmelCase_			).decode("""utf-8"""			)


if __name__ == "__main__":
 import doctest

 doctest.testmod()






