


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


snake_case    :   str	    =					logging.get_logger(__name__)

snake_case    :   List[str]	    =					{
    '''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 						_snake_case  (				_snake_case							):
 SCREAMING_SNAKE_CASE__				=	'segformer'




 def __init__(		self ,  _lowerCamelCase=3 ,  _lowerCamelCase=4 ,  _lowerCamelCase=[2, 2, 2, 2] ,  _lowerCamelCase=[8, 4, 2, 1] ,  _lowerCamelCase=[32, 64, 160, 256] ,  _lowerCamelCase=[7, 3, 3, 3] ,  _lowerCamelCase=[4, 2, 2, 2] ,  _lowerCamelCase=[1, 2, 5, 8] ,  _lowerCamelCase=[4, 4, 4, 4] ,  _lowerCamelCase="gelu" ,  _lowerCamelCase=0.0 ,  _lowerCamelCase=0.0 ,  _lowerCamelCase=0.1 ,  _lowerCamelCase=0.02 ,  _lowerCamelCase=0.1 ,  _lowerCamelCase=1e-6 ,  _lowerCamelCase=256 ,  _lowerCamelCase=255 ,  **_lowerCamelCase ,  ):
       super().__init__(**_SCREAMING_SNAKE_CASE   )

       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.''' ,  _SCREAMING_SNAKE_CASE ,  )

       a						:Optional[Any]										=	num_channels
       a						:List[str]										=	num_encoder_blocks
       a						:Union[str, Any]										=	depths
       a						:Optional[Any]										=	sr_ratios
       a						:Optional[int]										=	hidden_sizes
       a						:Dict										=	patch_sizes
       a						:int										=	strides
       a						:Optional[Any]										=	mlp_ratios
       a						:List[Any]										=	num_attention_heads
       a						:str										=	hidden_act
       a						:Any										=	hidden_dropout_prob
       a						:Union[str, Any]										=	attention_probs_dropout_prob
       a						:Optional[Any]										=	classifier_dropout_prob
       a						:List[str]										=	initializer_range
       a						:Any										=	drop_path_rate
       a						:Optional[Any]										=	layer_norm_eps
       a						:Optional[int]										=	decoder_hidden_size
       a						:Any										=	kwargs.get('''reshape_last_stage''' ,  _SCREAMING_SNAKE_CASE   )
       a						:List[Any]										=	semantic_loss_ignore_index







class 						_snake_case  (				_snake_case							):
 SCREAMING_SNAKE_CASE__				=	version.parse('1.11'							)




 @property
 def 	SCREAMING_SNAKE_CASE__    (		self   ):
       return OrderedDict(
           [
               ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
           ]   )




 @property
 def 	SCREAMING_SNAKE_CASE__    (		self   ):
       return 1e-4




 @property
 def 	SCREAMING_SNAKE_CASE__    (		self   ):
       return 12









from collections import OrderedDict
from typing import List, Mapping

from packaging import version

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


snake_case    :   Union[str, Any]	    =					logging.get_logger(__name__)

snake_case    :   List[str]	    =					{
    '''google/efficientnet-b7''': '''https://huggingface.co/google/efficientnet-b7/resolve/main/config.json''',
}







class 		_snake_case  (				_snake_case							):
 SCREAMING_SNAKE_CASE__				=	'efficientnet'




 def __init__(		self ,  _lowerCamelCase = 3 ,  _lowerCamelCase = 600 ,  _lowerCamelCase = 2.0 ,  _lowerCamelCase = 3.1 ,  _lowerCamelCase = 8 ,  _lowerCamelCase = [3, 3, 5, 3, 5, 5, 3] ,  _lowerCamelCase = [32, 16, 24, 40, 80, 112, 192] ,  _lowerCamelCase = [16, 24, 40, 80, 112, 192, 320] ,  _lowerCamelCase = [] ,  _lowerCamelCase = [1, 2, 2, 2, 1, 2, 1] ,  _lowerCamelCase = [1, 2, 2, 3, 3, 4, 1] ,  _lowerCamelCase = [1, 6, 6, 6, 6, 6, 6] ,  _lowerCamelCase = 0.25 ,  _lowerCamelCase = "swish" ,  _lowerCamelCase = 2560 ,  _lowerCamelCase = "mean" ,  _lowerCamelCase = 0.02 ,  _lowerCamelCase = 0.001 ,  _lowerCamelCase = 0.99 ,  _lowerCamelCase = 0.5 ,  _lowerCamelCase = 0.2 ,  **_lowerCamelCase ,  ):
       super().__init__(**_lowerCamelCase   )

       a						:Optional[int]										=	num_channels
       a						:List[str]										=	image_size
       a						:int										=	width_coefficient
       a						:Optional[Any]										=	depth_coefficient
       a						:Any										=	depth_divisor
       a						:Any										=	kernel_sizes
       a						:Tuple										=	in_channels
       a						:Union[str, Any]										=	out_channels
       a						:Any										=	depthwise_padding
       a						:Any										=	strides
       a						:Optional[Any]										=	num_block_repeats
       a						:Tuple										=	expand_ratios
       a						:Dict										=	squeeze_expansion_ratio
       a						:int										=	hidden_act
       a						:Dict										=	hidden_dim
       a						:Tuple										=	pooling_type
       a						:Any										=	initializer_range
       a						:Tuple										=	batch_norm_eps
       a						:Optional[int]										=	batch_norm_momentum
       a						:List[Any]										=	dropout_rate
       a						:Optional[int]										=	drop_connect_rate
       a						:Tuple										=	sum(_lowerCamelCase   ) * 4







class 		_snake_case  (				_snake_case							):
 SCREAMING_SNAKE_CASE__				=	version.parse('1.11'							)




 @property
 def 	SCREAMING_SNAKE_CASE__    (		self   ):
       return OrderedDict(
           [
               ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
           ]   )




 @property
 def 	SCREAMING_SNAKE_CASE__    (		self   ):
       return 1e-5





