




from math import factorial, radians





def __UpperCamelCase			(       _A ,  _A = 18 ,  _A = 10  ):
						lowerCAmelCase_      			=  angle_in_degrees - ((angle_in_degrees // 3_6_0.0) * 3_6_0.0)

						# Converting from degrees to radians
						lowerCAmelCase_      			=  radians(_A  )

						lowerCAmelCase_      			=  angle_in_radians
						lowerCAmelCase_      			=  3
						lowerCAmelCase_      			=  -1

						for _ in range(_A  ):
												result += (b * (angle_in_radians**a)) / factorial(_A  )

												lowerCAmelCase_      			=  -b  # One positive term and the next will be negative and so on...
												a += 2  # Increased by 2 for every term.

						return round(_A ,  _A  )


if __name__ == "__main__":
						__import__('''doctest''').testmod()










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


_A     =			logging.get_logger(__name__)

_A     =			{
    '''google/vit-base-patch16-224''': '''https://huggingface.co/vit-base-patch16-224/resolve/main/config.json''',
    # See all ViT models at https://huggingface.co/models?filter=vit
}


class  A		(  __UpperCAmelCase     ):
		__snake_case									=   'vit'



		def __init__(     self,	UpperCamelCase__=768,	UpperCamelCase__=12,	UpperCamelCase__=12,	UpperCamelCase__=3072,	UpperCamelCase__="gelu",	UpperCamelCase__=0.0,	UpperCamelCase__=0.0,	UpperCamelCase__=0.02,	UpperCamelCase__=1E-12,	UpperCamelCase__=224,	UpperCamelCase__=16,	UpperCamelCase__=3,	UpperCamelCase__=True,	UpperCamelCase__=16,	**UpperCamelCase__,	):







								"""simple docstring"""



								super().__init__(**UpperCamelCase__   )

								lowerCAmelCase_      			=  hidden_size
								lowerCAmelCase_      			=  num_hidden_layers
								lowerCAmelCase_      			=  num_attention_heads
								lowerCAmelCase_      			=  intermediate_size
								lowerCAmelCase_      			=  hidden_act
								lowerCAmelCase_      			=  hidden_dropout_prob
								lowerCAmelCase_      			=  attention_probs_dropout_prob
								lowerCAmelCase_      			=  initializer_range
								lowerCAmelCase_      			=  layer_norm_eps
								lowerCAmelCase_      			=  image_size
								lowerCAmelCase_      			=  patch_size
								lowerCAmelCase_      			=  num_channels
								lowerCAmelCase_      			=  qkv_bias
								lowerCAmelCase_      			=  encoder_stride







class  A		(  __UpperCAmelCase     ):
		__snake_case									=   version.parse('1.11'     )



		@property
		def        SCREAMING_SNAKE_CASE__			(     self   ):







								"""simple docstring"""



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







		@property
		def        SCREAMING_SNAKE_CASE__			(     self   ):







								"""simple docstring"""



								return 1E-4




