






'''simple docstring'''






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


__A    	=   logging.get_logger(__name__)

__A    	=   {
    '''vinvino02/glpn-kitti''': '''https://huggingface.co/vinvino02/glpn-kitti/resolve/main/config.json''',
    # See all GLPN models at https://huggingface.co/models?filter=glpn
}




class a_    (    UpperCamelCase_							):
   _snake_case        =							"""glpn"""







   def __init__(self					,   __a=3					,   __a=4					,   __a=[2, 2, 2, 2]					,   __a=[8, 4, 2, 1]					,   __a=[3_2, 6_4, 1_6_0, 2_5_6]					,   __a=[7, 3, 3, 3]					,   __a=[4, 2, 2, 2]					,   __a=[1, 2, 5, 8]					,   __a=[4, 4, 4, 4]					,   __a="gelu"					,   __a=0.0					,   __a=0.0					,   __a=0.02					,   __a=0.1					,   __a=1E-6					,   __a=6_4					,   __a=1_0					,   __a=-1					,   **__a					,   )			->      List[str]:
      """simple docstring"""






      super().__init__(**__a)

      __snake_case				:      int     							= num_channels
      __snake_case				:      int     							= num_encoder_blocks
      __snake_case				:      Union[str, Any]     							= depths
      __snake_case				:      Optional[Any]     							= sr_ratios
      __snake_case				:      Optional[Any]     							= hidden_sizes
      __snake_case				:      Tuple     							= patch_sizes
      __snake_case				:      str     							= strides
      __snake_case				:      List[str]     							= mlp_ratios
      __snake_case				:      Tuple     							= num_attention_heads
      __snake_case				:      Optional[int]     							= hidden_act
      __snake_case				:      int     							= hidden_dropout_prob
      __snake_case				:      Union[str, Any]     							= attention_probs_dropout_prob
      __snake_case				:      int     							= initializer_range
      __snake_case				:      Optional[Any]     							= drop_path_rate
      __snake_case				:      Optional[int]     							= layer_norm_eps
      __snake_case				:      List[Any]     							= decoder_hidden_size
      __snake_case				:      Tuple     							= max_depth
      __snake_case				:      Optional[int]     							= head_in_index







'''simple docstring'''






from functools import lru_cache




@lru_cache
def        _SCREAMING_SNAKE_CASE  (				A  :       int  )    -> int:







   """simple docstring"""
   if num < 0:
      raise ValueError('Number should not be negative.'  )

   return 1 if num in (0, 1) else num * factorial(num - 1  )


if __name__ == "__main__":
      import doctest

      doctest.testmod()