

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


lowerCAmelCase__		      =       logging.get_logger(__name__)

lowerCAmelCase__		      =       {
    """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__  (    snake_case	):
			"""simple docstring"""







			__lowerCamelCase       				=				'glpn'


			def __init__(			self					,					lowercase=3					,					lowercase=4					,					lowercase=[2, 2, 2, 2]					,					lowercase=[8, 4, 2, 1]					,					lowercase=[32, 64, 160, 256]					,					lowercase=[7, 3, 3, 3]					,					lowercase=[4, 2, 2, 2]					,					lowercase=[1, 2, 5, 8]					,					lowercase=[4, 4, 4, 4]					,					lowercase="gelu"					,					lowercase=0.0					,					lowercase=0.0					,					lowercase=0.02					,					lowercase=0.1					,					lowercase=1e-6					,					lowercase=64					,					lowercase=10					,					lowercase=-1					,					**lowercase					,					)     ->  Dict:
							'''simple docstring'''






							super().__init__(**lowercase				)

							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__						=	initializer_range
							A__						=	drop_path_rate
							A__						=	layer_norm_eps
							A__						=	decoder_hidden_size
							A__						=	max_depth
							A__						=	head_in_index







from math import asin, atan, cos, radians, sin, sqrt, tan

_snake_case										=       6_3_7_8_1_3_7.0
_snake_case										=       6_3_5_6_7_5_2.3_1_4_2_4_5
_snake_case										=       6378137







def 				lowerCAmelCase_	(     snake_case_,snake_case_,snake_case_,snake_case_     ):
      _A							:     Any			=						(AXIS_A - AXIS_B) / AXIS_A
      _A							:     Optional[int]			=						atan((1 - flattening) * tan(radians(snake_case_     )     )     )
      _A							:     List[str]			=						atan((1 - flattening) * tan(radians(snake_case_     )     )     )
      _A							:     Optional[Any]			=						radians(snake_case_     )
      _A							:     str			=						radians(snake_case_     )
      # Equation
      _A							:     Dict			=						sin((phi_a - phi_a) / 2     )
      _A							:     List[str]			=						sin((lambda_a - lambda_a) / 2     )
      # Square both values
      sin_sq_phi *= sin_sq_phi
      sin_sq_lambda *= sin_sq_lambda
      _A							:     Optional[int]			=						sqrt(sin_sq_phi + (cos(snake_case_     ) * cos(snake_case_     ) * sin_sq_lambda)     )
      return 2 * RADIUS * asin(snake_case_     )


if __name__ == "__main__":
  import doctest

  doctest.testmod()

