






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


SCREAMING_SNAKE_CASE__   :      Union[str, Any]				=		logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__   :      Optional[Any]				=		{
    """google/vivit-b-16x2-kinetics400""": (
        """https://huggingface.co/google/vivit-b-16x2-kinetics400/resolve/main/config.json"""
    ),
    # See all Vivit models at https://huggingface.co/models?filter=vivit
}
class     lowerCamelCase_					(   lowerCamelCase			):
				a__       							=	'''vivit'''







				def __init__(    self							,       __lowerCAmelCase=2_2_4							,       __lowerCAmelCase=3_2							,       __lowerCAmelCase=[2, 1_6, 1_6]							,       __lowerCAmelCase=3							,       __lowerCAmelCase=7_6_8							,       __lowerCAmelCase=1_2							,       __lowerCAmelCase=1_2							,       __lowerCAmelCase=3_0_7_2							,       __lowerCAmelCase="gelu_fast"							,       __lowerCAmelCase=0.0							,       __lowerCAmelCase=0.0							,       __lowerCAmelCase=0.02							,       __lowerCAmelCase=1E-06							,       __lowerCAmelCase=True							,       **__lowerCAmelCase							,       ):
								"""simple docstring"""
								__magic_name__		:Dict   =   hidden_size
								__magic_name__		:Tuple   =   num_hidden_layers
								__magic_name__		:Dict   =   num_attention_heads
								__magic_name__		:int   =   intermediate_size
								__magic_name__		:Optional[int]   =   hidden_act
								__magic_name__		:str   =   hidden_dropout_prob
								__magic_name__		:int   =   attention_probs_dropout_prob
								__magic_name__		:Dict   =   initializer_range
								__magic_name__		:Optional[int]   =   layer_norm_eps

								__magic_name__		:Optional[int]   =   image_size
								__magic_name__		:Optional[int]   =   num_frames
								__magic_name__		:List[Any]   =   tubelet_size
								__magic_name__		:List[str]   =   num_channels
								__magic_name__		:Optional[int]   =   qkv_bias

								super().__init__(**__lowerCAmelCase  )














def   __lowercase       (			snake_case			):







				"""simple docstring"""






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

				__magic_name__		:str   =   0
				__magic_name__		:Dict   =   str(snake_case			)

				while len(snake_case			) != 1:
								__magic_name__		:Optional[Any]   =   [int(snake_case			) for i in num_string]

								__magic_name__		:Dict   =   1
								for i in range(0,	len(snake_case			)			):
												total *= numbers[i]

								__magic_name__		:int   =   str(snake_case			)

								steps += 1
				return steps

def   __lowercase       (			snake_case			):







				"""simple docstring"""






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

				__magic_name__		:str   =   0
				__magic_name__		:Union[str, Any]   =   str(snake_case			)

				while len(snake_case			) != 1:
								__magic_name__		:str   =   [int(snake_case			) for i in num_string]

								__magic_name__		:Optional[int]   =   0
								for i in range(0,	len(snake_case			)			):
												total += numbers[i]

								__magic_name__		:int   =   str(snake_case			)

								steps += 1
				return steps


if __name__ == "__main__":
					import doctest

					doctest.testmod()






