




"""simple docstring"""







def 				lowercase       (snake_case__ :			int			)  ->	int:


				'''simple docstring'''






				if not isinstance(UpperCamelCase__   ,							UpperCamelCase__			):
								raise ValueError("""multiplicative_persistence() only accepts integral values"""			)
				if num < 0:
								raise ValueError("""multiplicative_persistence() does not accept negative values"""			)

				lowerCAmelCase						=					0
				lowerCAmelCase						=					str(UpperCamelCase__			)

				while len(UpperCamelCase__			) != 1:
								lowerCAmelCase						=					[int(UpperCamelCase__			) for i in num_string]

								lowerCAmelCase						=					1
								for i in range(0   ,							len(UpperCamelCase__			)			):
												total *= numbers[i]

								lowerCAmelCase						=					str(UpperCamelCase__			)

								steps += 1
				return steps





def 				lowercase       (snake_case__ :			int			)  ->	Optional[Any]:


				'''simple docstring'''






				if not isinstance(UpperCamelCase__   ,							UpperCamelCase__			):
								raise ValueError("""additive_persistence() only accepts integral values"""			)
				if num < 0:
								raise ValueError("""additive_persistence() does not accept negative values"""			)

				lowerCAmelCase						=					0
				lowerCAmelCase						=					str(UpperCamelCase__			)

				while len(UpperCamelCase__			) != 1:
								lowerCAmelCase						=					[int(UpperCamelCase__			) for i in num_string]

								lowerCAmelCase						=					0
								for i in range(0   ,							len(UpperCamelCase__			)			):
												total += numbers[i]

								lowerCAmelCase						=					str(UpperCamelCase__			)

								steps += 1
				return steps


if __name__ == "__main__":
		import doctest

		doctest.testmod()









'''simple docstring'''
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


UpperCAmelCase_			:  int										=   logging.get_logger(__name__)

UpperCAmelCase_			:  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     _lowerCamelCase       (     snake_case_					):




 '''simple docstring'''
 __lowercase					:		Union[str, Any]     				=    '''deit'''


 def __init__(   self   ,   __lowercase=768   ,   __lowercase=12   ,   __lowercase=12   ,   __lowercase=3_072   ,   __lowercase="gelu"   ,   __lowercase=0.0   ,   __lowercase=0.0   ,   __lowercase=0.0_2   ,   __lowercase=1E-12   ,   __lowercase=224   ,   __lowercase=16   ,   __lowercase=3   ,   __lowercase=True   ,   __lowercase=16   ,   **__lowercase   ,   ):

  """simple docstring"""







  super().__init__(**__lowercase    )

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


class     _lowerCamelCase       (     snake_case_					):




 '''simple docstring'''
 __lowercase					:		Optional[int]     				=    version.parse('''1.11'''					)


 @property
 def 			snake_case__ (   self    ):

  """simple docstring"""







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







 @property
 def 			snake_case__ (   self    ):

  """simple docstring"""







  return 1E-4






