



"""simple docstring"""






from collections import OrderedDict
from typing import TYPE_CHECKING, Any, Mapping, Optional, Union

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig, OnnxSeqaSeqConfigWithPast
from ...utils import logging


if TYPE_CHECKING:
		from ...feature_extraction_utils import FeatureExtractionMixin
		from ...tokenization_utils_base import PreTrainedTokenizerBase
		from ...utils import TensorType

_lowercase : Optional[Any]      						=						logging.get_logger(__name__)

_lowercase : str      						=						{
    "openai/whisper-base": "https://huggingface.co/openai/whisper-base/resolve/main/config.json",
}

# fmt: off
_lowercase : Any      						=						[
    1, 2, 7, 8, 9, 1_0, 1_4, 2_5,
    2_6, 2_7, 2_8, 2_9, 3_1, 5_8, 5_9, 6_0, 6_1, 6_2,
    6_3, 9_0, 9_1, 9_2, 9_3, 3_5_7, 3_6_6, 4_3_8, 5_3_2, 6_8_5,
    7_0_5, 7_9_6, 9_3_0, 1_0_5_8, 1_2_2_0, 1_2_6_7, 1_2_7_9, 1_3_0_3, 1_3_4_3, 1_3_7_7,
    1_3_9_1, 1_6_3_5, 1_7_8_2, 1_8_7_5, 2_1_6_2, 2_3_6_1, 2_4_8_8, 3_4_6_7, 4_0_0_8, 4_2_1_1,
    4_6_0_0, 4_8_0_8, 5_2_9_9, 5_8_5_5, 6_3_2_9, 7_2_0_3, 9_6_0_9, 9_9_5_9, 1_0_5_6_3, 1_0_7_8_6,
    1_1_4_2_0, 1_1_7_0_9, 1_1_9_0_7, 1_3_1_6_3, 1_3_6_9_7, 1_3_7_0_0, 1_4_8_0_8, 1_5_3_0_6, 1_6_4_1_0, 1_6_7_9_1,
    1_7_9_9_2, 1_9_2_0_3, 1_9_5_1_0, 2_0_7_2_4, 2_2_3_0_5, 2_2_9_3_5, 2_7_0_0_7, 3_0_1_0_9, 3_0_4_2_0, 3_3_4_0_9,
    3_4_9_4_9, 4_0_2_8_3, 4_0_4_9_3, 4_0_5_4_9, 4_7_2_8_2, 4_9_1_4_6, 5_0_2_5_7, 5_0_3_5_9, 5_0_3_6_0, 5_0_3_6_1
]
_lowercase : Union[str, Any]      						=						[
    1, 2, 7, 8, 9, 1_0, 1_4, 2_5,
    2_6, 2_7, 2_8, 2_9, 3_1, 5_8, 5_9, 6_0, 6_1, 6_2,
    6_3, 9_0, 9_1, 9_2, 9_3, 3_5_9, 5_0_3, 5_2_2, 5_4_2, 8_7_3,
    8_9_3, 9_0_2, 9_1_8, 9_2_2, 9_3_1, 1_3_5_0, 1_8_5_3, 1_9_8_2, 2_4_6_0, 2_6_2_7,
    3_2_4_6, 3_2_5_3, 3_2_6_8, 3_5_3_6, 3_8_4_6, 3_9_6_1, 4_1_8_3, 4_6_6_7, 6_5_8_5, 6_6_4_7,
    7_2_7_3, 9_0_6_1, 9_3_8_3, 1_0_4_2_8, 1_0_9_2_9, 1_1_9_3_8, 1_2_0_3_3, 1_2_3_3_1, 1_2_5_6_2, 1_3_7_9_3,
    1_4_1_5_7, 1_4_6_3_5, 1_5_2_6_5, 1_5_6_1_8, 1_6_5_5_3, 1_6_6_0_4, 1_8_3_6_2, 1_8_9_5_6, 2_0_0_7_5, 2_1_6_7_5,
    2_2_5_2_0, 2_6_1_3_0, 2_6_1_6_1, 2_6_4_3_5, 2_8_2_7_9, 2_9_4_6_4, 3_1_6_5_0, 3_2_3_0_2, 3_2_4_7_0, 3_6_8_6_5,
    4_2_8_6_3, 4_7_4_2_5, 4_9_8_7_0, 5_0_2_5_4, 5_0_2_5_8, 5_0_3_6_0, 5_0_3_6_1, 5_0_3_6_2
]

class        __SCREAMING_SNAKE_CASE	(      lowerCAmelCase_   ):


					'''simple docstring'''





					_a   			=							'whisper'
					_a   			=							['past_key_values']
					_a   			=							{'num_attention_heads': 'encoder_attention_heads', 'hidden_size': 'd_model'}



					def __init__(       self							:  Optional[int],  lowerCamelCase							:  Any=5_1865,  lowerCamelCase							:  Any=80,  lowerCamelCase							:  Dict=6,  lowerCamelCase							:  str=4,  lowerCamelCase							:  List[Any]=6,  lowerCamelCase							:  int=4,  lowerCamelCase							:  Dict=1536,  lowerCamelCase							:  str=1536,  lowerCamelCase							:  Union[str, Any]=0.0,  lowerCamelCase							:  Any=0.0,  lowerCamelCase							:  Union[str, Any]=5_0257,  lowerCamelCase							:  int=True,  lowerCamelCase							:  List[str]=True,  lowerCamelCase							:  Any="gelu",  lowerCamelCase							:  Optional[Any]=256,  lowerCamelCase							:  Union[str, Any]=0.0,  lowerCamelCase							:  Tuple=0.0,  lowerCamelCase							:  str=0.0,  lowerCamelCase							:  int=0.02,  lowerCamelCase							:  Any=False,  lowerCamelCase							:  Dict=1500,  lowerCamelCase							:  Tuple=448,  lowerCamelCase							:  Optional[Any]=5_0256,  lowerCamelCase							:  str=5_0256,  lowerCamelCase							:  Union[str, Any]=5_0256,  lowerCamelCase							:  List[str]=None,  lowerCamelCase							:  str=[220, 5_0256],  lowerCamelCase							:  Dict=False,  lowerCamelCase							:  Dict=256,  lowerCamelCase							:  Dict=False,  lowerCamelCase							:  int=0.05,  lowerCamelCase							:  int=10,  lowerCamelCase							:  Tuple=2,  lowerCamelCase							:  Optional[int]=0.0,  lowerCamelCase							:  str=10,  lowerCamelCase							:  Optional[Any]=0,  lowerCamelCase							:  int=7,  **lowerCamelCase							:  List[Any],  )->					Optional[Any]:
								lowerCamelCase__		:		str			=vocab_size
								lowerCamelCase__		:		List[str]			=num_mel_bins
								lowerCamelCase__		:		Any			=d_model
								lowerCamelCase__		:		List[str]			=encoder_layers
								lowerCamelCase__		:		Any			=encoder_attention_heads
								lowerCamelCase__		:		Any			=decoder_layers
								lowerCamelCase__		:		Any			=decoder_attention_heads
								lowerCamelCase__		:		List[Any]			=decoder_ffn_dim
								lowerCamelCase__		:		Dict			=encoder_ffn_dim
								lowerCamelCase__		:		Tuple			=dropout
								lowerCamelCase__		:		Dict			=attention_dropout
								lowerCamelCase__		:		Union[str, Any]			=activation_dropout
								lowerCamelCase__		:		Any			=activation_function
								lowerCamelCase__		:		Tuple			=init_std
								lowerCamelCase__		:		Optional[Any]			=encoder_layerdrop
								lowerCamelCase__		:		List[str]			=decoder_layerdrop
								lowerCamelCase__		:		List[Any]			=use_cache
								lowerCamelCase__		:		Optional[int]			=encoder_layers
								lowerCamelCase__		:		Union[str, Any]			=scale_embedding  # scale factor will be sqrt(d_model) if True
								lowerCamelCase__		:		Any			=max_source_positions
								lowerCamelCase__		:		Union[str, Any]			=max_target_positions

								# Audio Classification-specific parameters. Feel free to ignore for other classes.
								lowerCamelCase__		:		Optional[int]			=classifier_proj_size
								lowerCamelCase__		:		List[str]			=use_weighted_layer_sum

								# fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
								lowerCamelCase__		:		str			=apply_spec_augment
								lowerCamelCase__		:		Dict			=mask_time_prob
								lowerCamelCase__		:		Optional[int]			=mask_time_length
								lowerCamelCase__		:		Optional[Any]			=mask_time_min_masks
								lowerCamelCase__		:		Any			=mask_feature_prob
								lowerCamelCase__		:		Dict			=mask_feature_length
								lowerCamelCase__		:		Union[str, Any]			=mask_feature_min_masks

								lowerCamelCase__		:		str			=median_filter_width

								super().__init__(
								    pad_token_id=lowerCamelCase,  bos_token_id=lowerCamelCase,  eos_token_id=lowerCamelCase,  is_encoder_decoder=lowerCamelCase,  decoder_start_token_id=lowerCamelCase,  suppress_tokens=lowerCamelCase,  begin_suppress_tokens=lowerCamelCase,  **lowerCamelCase,  )





class        __SCREAMING_SNAKE_CASE	(      lowerCAmelCase_   ):


					'''simple docstring'''





					@property
					def 		snake_case       (       self							:  str     )->					Mapping[str, Mapping[int, str]]:
								lowerCamelCase__		:		Tuple			=OrderedDict(
								    [
								        ('''input_features''', {0: '''batch''', 1: '''feature_size''', 2: '''encoder_sequence'''}),
								    ]     )
								if self.use_past:
											lowerCamelCase__		:		List[Any]			={0: '''batch'''}
								else:
											lowerCamelCase__		:		List[Any]			={0: '''batch''', 1: '''decoder_sequence'''}

								if self.use_past:
											self.fill_with_past_key_values_(lowerCamelCase,  direction='''inputs'''     )

								return common_inputs



					def 		snake_case       (       self							:  str,  lowerCamelCase							:  Union["PreTrainedTokenizerBase", "FeatureExtractionMixin"],  lowerCamelCase							:  int = -1,  lowerCamelCase							:  int = -1,  lowerCamelCase							:  bool = False,  lowerCamelCase							:  Optional["TensorType"] = None,  lowerCamelCase							:  int = 2_2050,  lowerCamelCase							:  float = 5.0,  lowerCamelCase							:  int = 220,  )->					Mapping[str, Any]:
								lowerCamelCase__		:		Any			=OrderedDict()
								lowerCamelCase__		:		Optional[Any]			=OnnxConfig.generate_dummy_inputs(
								    self,  preprocessor=preprocessor.feature_extractor,  batch_size=lowerCamelCase,  framework=lowerCamelCase,  sampling_rate=lowerCamelCase,  time_duration=lowerCamelCase,  frequency=lowerCamelCase,  )
								lowerCamelCase__		:		int			=encoder_inputs['''input_features'''].shape[2]
								lowerCamelCase__		:		Union[str, Any]			=encoder_sequence_length // 2 if self.use_past else seq_length

								lowerCamelCase__		:		List[str]			=super().generate_dummy_inputs(
								    preprocessor.tokenizer,  lowerCamelCase,  lowerCamelCase,  lowerCamelCase,  lowerCamelCase     )

								lowerCamelCase__		:		List[Any]			=encoder_inputs.pop('''input_features'''     )
								lowerCamelCase__		:		Tuple			=decoder_inputs.pop('''decoder_input_ids'''     )

								if "past_key_values" in decoder_inputs:
											lowerCamelCase__		:		Tuple			=decoder_inputs.pop('''past_key_values'''     )

								return dummy_inputs




					@property
					def 		snake_case       (       self							:  Optional[Any]     )->					float:
								return 1E-3









"""simple docstring"""






import warnings

from ...utils import logging
from .image_processing_owlvit import OwlViTImageProcessor


_lowercase : Any      						=						logging.get_logger(__name__)

class        __SCREAMING_SNAKE_CASE	(      lowerCAmelCase_   ):


					'''simple docstring'''





					def __init__(       self							:  Any,  *lowerCamelCase							:  str,  **lowerCamelCase							:  Optional[Any]     )->					None:
								warnings.warn(
								    '''The class OwlViTFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please'''
								    ''' use OwlViTImageProcessor instead.''',  lowerCamelCase,  )
								super().__init__(*lowerCamelCase,  **lowerCamelCase     )




