


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							:       int										=	logging.get_logger(__name__)

snake_case							:       List[Any]										=	{
    '''facebook/deit-base-distilled-patch16-224''': (
        '''https://huggingface.co/facebook/deit-base-patch16-224/resolve/main/config.json'''
    ),
    # See all DeiT models at https://huggingface.co/models?filter=deit
}







class 						_snake_case    ( _snake_case				):
 SCREAMING_SNAKE_CASE__ =			'deit'




 def __init__(						self   ,    _lowerCamelCase=768   ,    _lowerCamelCase=12   ,    _lowerCamelCase=12   ,    _lowerCamelCase=3072   ,    _lowerCamelCase="gelu"   ,    _lowerCamelCase=0.0   ,    _lowerCamelCase=0.0   ,    _lowerCamelCase=0.02   ,    _lowerCamelCase=1e-12   ,    _lowerCamelCase=224   ,    _lowerCamelCase=16   ,    _lowerCamelCase=3   ,    _lowerCamelCase=True   ,    _lowerCamelCase=16   ,    **_lowerCamelCase   ,    ):
       super().__init__(**_lowerCamelCase       )

       a		:Optional[Any]									=			hidden_size
       a		:List[str]									=			num_hidden_layers
       a		:Union[str, Any]									=			num_attention_heads
       a		:Tuple									=			intermediate_size
       a		:Union[str, Any]									=			hidden_act
       a		:Dict									=			hidden_dropout_prob
       a		:Any									=			attention_probs_dropout_prob
       a		:str									=			initializer_range
       a		:List[str]									=			layer_norm_eps
       a		:Dict									=			image_size
       a		:List[str]									=			patch_size
       a		:Any									=			num_channels
       a		:List[Any]									=			qkv_bias
       a		:Tuple									=			encoder_stride







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









def 							__lowerCamelCase		(					UpperCAmelCase_		:						int					,    UpperCAmelCase_		:						int		):




      """simple docstring"""





      if b == 0:
            return 1
      if (b % 2) == 0:
            return actual_power(UpperCAmelCase_					,    int(b / 2		)		) * actual_power(UpperCAmelCase_					,    int(b / 2		)		)
      else:
            return a * actual_power(UpperCAmelCase_					,    int(b / 2		)		) * actual_power(UpperCAmelCase_					,    int(b / 2		)		)
def 							__lowerCamelCase		(					UpperCAmelCase_		:						int					,    UpperCAmelCase_		:						int		):




      """simple docstring"""





      if b < 0:
            return 1 / actual_power(UpperCAmelCase_					,    UpperCAmelCase_		)
      return actual_power(UpperCAmelCase_					,    UpperCAmelCase_		)


if __name__ == "__main__":
     print(power(-2, -3))





