

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


lowerCAmelCase							:  Any   	=						logging.get_logger(__name__)

lowerCAmelCase							:  List[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   __lowercase				( UpperCAmelCase_	):




			"""simple docstring"""







			_UpperCAmelCase   :							List[str]										=     '''vivit'''



			def __init__( self  :     Optional[Any]   ,						lowerCAmelCase__  :     Dict=224   ,						lowerCAmelCase__  :     str=32   ,						lowerCAmelCase__  :     int=[2, 16, 16]   ,						lowerCAmelCase__  :     int=3   ,						lowerCAmelCase__  :     Any=768   ,						lowerCAmelCase__  :     Union[str, Any]=12   ,						lowerCAmelCase__  :     str=12   ,						lowerCAmelCase__  :     Tuple=3072   ,						lowerCAmelCase__  :     Optional[int]="gelu_fast"   ,						lowerCAmelCase__  :     Tuple=0.0   ,						lowerCAmelCase__  :     Union[str, Any]=0.0   ,						lowerCAmelCase__  :     Dict=0.02   ,						lowerCAmelCase__  :     List[str]=1E-06   ,						lowerCAmelCase__  :     Dict=True   ,						**lowerCAmelCase__  :     str   ,						):
									SCREAMING_SNAKE_CASE_: Any  		=       hidden_size
									SCREAMING_SNAKE_CASE_: str  		=       num_hidden_layers
									SCREAMING_SNAKE_CASE_: Optional[Any]  		=       num_attention_heads
									SCREAMING_SNAKE_CASE_: Union[str, Any]  		=       intermediate_size
									SCREAMING_SNAKE_CASE_: Any  		=       hidden_act
									SCREAMING_SNAKE_CASE_: str  		=       hidden_dropout_prob
									SCREAMING_SNAKE_CASE_: int  		=       attention_probs_dropout_prob
									SCREAMING_SNAKE_CASE_: Dict  		=       initializer_range
									SCREAMING_SNAKE_CASE_: int  		=       layer_norm_eps

									SCREAMING_SNAKE_CASE_: Union[str, Any]  		=       image_size
									SCREAMING_SNAKE_CASE_: Any  		=       num_frames
									SCREAMING_SNAKE_CASE_: Optional[Any]  		=       tubelet_size
									SCREAMING_SNAKE_CASE_: int  		=       num_channels
									SCREAMING_SNAKE_CASE_: Optional[Any]  		=       qkv_bias

									super().__init__(**lowerCAmelCase__)









import copy
from dataclasses import dataclass, field
from typing import ClassVar, Dict

from ..features import Audio, Features, Value
from .base import TaskTemplate



@dataclass(frozen=UpperCAmelCase_	)
class   __lowercase				( UpperCAmelCase_	):




			"""simple docstring"""







			_UpperCAmelCase   :							str										=     field(default='''automatic-speech-recognition'''		,       metadata={'''include_in_asdict_even_if_is_default''': True}	)
			_UpperCAmelCase   :							ClassVar[Features]										=     Features({'''audio''': Audio()}	)
			_UpperCAmelCase   :							ClassVar[Features]										=     Features({'''transcription''': Value('''string'''	)}	)
			_UpperCAmelCase   :							str										=     "audio"
			_UpperCAmelCase   :							str										=     "transcription"



			def        _SCREAMING_SNAKE_CASE			( self  :     Optional[Any]   ,						lowerCAmelCase__  :     int):
									if self.audio_column not in features:
															raise ValueError(F"Column {self.audio_column} is not present in features.")
									if not isinstance(features[self.audio_column]   ,						lowerCAmelCase__):
															raise ValueError(F"Column {self.audio_column} is not an Audio type.")
									SCREAMING_SNAKE_CASE_: Tuple  		=       copy.deepcopy(self)
									SCREAMING_SNAKE_CASE_: Optional[int]  		=       self.input_schema.copy()
									SCREAMING_SNAKE_CASE_: Dict  		=       features[self.audio_column]
									SCREAMING_SNAKE_CASE_: int  		=       input_schema
									return task_template




			@property
			def        _SCREAMING_SNAKE_CASE			( self  :     int):
									return {self.audio_column: "audio", self.transcription_column: "transcription"}






