



"""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

__snake_case				:  str =       logging.get_logger(__name__)

__snake_case				:  List[str] =       {
    'openai/whisper-base': 'https://huggingface.co/openai/whisper-base/resolve/main/config.json',
}

# fmt: off
__snake_case				:  Union[str, Any] =       [
    1, 2, 7, 8, 9, 10, 14, 25,
    26, 27, 28, 29, 31, 58, 59, 60, 61, 62,
    63, 90, 91, 92, 93, 357, 366, 438, 532, 685,
    705, 796, 930, 1_058, 1_220, 1_267, 1_279, 1_303, 1_343, 1_377,
    1_391, 1_635, 1_782, 1_875, 2_162, 2_361, 2_488, 3_467, 4_008, 4_211,
    4_600, 4_808, 5_299, 5_855, 6_329, 7_203, 9_609, 9_959, 10_563, 10_786,
    11_420, 11_709, 11_907, 13_163, 13_697, 13_700, 14_808, 15_306, 16_410, 16_791,
    17_992, 19_203, 19_510, 20_724, 22_305, 22_935, 27_007, 30_109, 30_420, 33_409,
    34_949, 40_283, 40_493, 40_549, 47_282, 49_146, 50_257, 50_359, 50_360, 50_361
]
__snake_case				:  Optional[int] =       [
    1, 2, 7, 8, 9, 10, 14, 25,
    26, 27, 28, 29, 31, 58, 59, 60, 61, 62,
    63, 90, 91, 92, 93, 359, 503, 522, 542, 873,
    893, 902, 918, 922, 931, 1_350, 1_853, 1_982, 2_460, 2_627,
    3_246, 3_253, 3_268, 3_536, 3_846, 3_961, 4_183, 4_667, 6_585, 6_647,
    7_273, 9_061, 9_383, 10_428, 10_929, 11_938, 12_033, 12_331, 12_562, 13_793,
    14_157, 14_635, 15_265, 15_618, 16_553, 16_604, 18_362, 18_956, 20_075, 21_675,
    22_520, 26_130, 26_161, 26_435, 28_279, 29_464, 31_650, 32_302, 32_470, 36_865,
    42_863, 47_425, 49_870, 50_254, 50_258, 50_360, 50_361, 50_362
]



class      A__  (    _a				):




	'''simple docstring'''





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

	def __init__(	self:						Union[str, Any]			,     _SCREAMING_SNAKE_CASE:						List[str]=5_1865			,     _SCREAMING_SNAKE_CASE:						Tuple=80			,     _SCREAMING_SNAKE_CASE:						List[Any]=6			,     _SCREAMING_SNAKE_CASE:						Dict=4			,     _SCREAMING_SNAKE_CASE:						Dict=6			,     _SCREAMING_SNAKE_CASE:						List[str]=4			,     _SCREAMING_SNAKE_CASE:						List[str]=1536			,     _SCREAMING_SNAKE_CASE:						int=1536			,     _SCREAMING_SNAKE_CASE:						List[str]=0.0			,     _SCREAMING_SNAKE_CASE:						Any=0.0			,     _SCREAMING_SNAKE_CASE:						List[str]=5_0257			,     _SCREAMING_SNAKE_CASE:						Tuple=True			,     _SCREAMING_SNAKE_CASE:						Dict=True			,     _SCREAMING_SNAKE_CASE:						Optional[Any]="gelu"			,     _SCREAMING_SNAKE_CASE:						Tuple=256			,     _SCREAMING_SNAKE_CASE:						Dict=0.0			,     _SCREAMING_SNAKE_CASE:						List[Any]=0.0			,     _SCREAMING_SNAKE_CASE:						Dict=0.0			,     _SCREAMING_SNAKE_CASE:						int=0.02			,     _SCREAMING_SNAKE_CASE:						List[Any]=False			,     _SCREAMING_SNAKE_CASE:						List[str]=1500			,     _SCREAMING_SNAKE_CASE:						int=448			,     _SCREAMING_SNAKE_CASE:						Dict=5_0256			,     _SCREAMING_SNAKE_CASE:						Dict=5_0256			,     _SCREAMING_SNAKE_CASE:						List[str]=5_0256			,     _SCREAMING_SNAKE_CASE:						Dict=None			,     _SCREAMING_SNAKE_CASE:						List[Any]=[220, 5_0256]			,     _SCREAMING_SNAKE_CASE:						Dict=False			,     _SCREAMING_SNAKE_CASE:						str=256			,     _SCREAMING_SNAKE_CASE:						Tuple=False			,     _SCREAMING_SNAKE_CASE:						List[Any]=0.05			,     _SCREAMING_SNAKE_CASE:						Dict=10			,     _SCREAMING_SNAKE_CASE:						Optional[int]=2			,     _SCREAMING_SNAKE_CASE:						List[str]=0.0			,     _SCREAMING_SNAKE_CASE:						Optional[Any]=10			,     _SCREAMING_SNAKE_CASE:						Union[str, Any]=0			,     _SCREAMING_SNAKE_CASE:						Dict=7			,     **_SCREAMING_SNAKE_CASE:						List[Any]			,     )							->			List[str]:

				"""simple docstring"""

				__lowerCAmelCase :    Optional[Any]				=			vocab_size
				__lowerCAmelCase :    List[str]				=			num_mel_bins
				__lowerCAmelCase :    List[str]				=			d_model
				__lowerCAmelCase :    Union[str, Any]				=			encoder_layers
				__lowerCAmelCase :    Union[str, Any]				=			encoder_attention_heads
				__lowerCAmelCase :    Dict				=			decoder_layers
				__lowerCAmelCase :    str				=			decoder_attention_heads
				__lowerCAmelCase :    List[Any]				=			decoder_ffn_dim
				__lowerCAmelCase :    List[str]				=			encoder_ffn_dim
				__lowerCAmelCase :    Optional[int]				=			dropout
				__lowerCAmelCase :    Optional[int]				=			attention_dropout
				__lowerCAmelCase :    str				=			activation_dropout
				__lowerCAmelCase :    Union[str, Any]				=			activation_function
				__lowerCAmelCase :    Tuple				=			init_std
				__lowerCAmelCase :    Dict				=			encoder_layerdrop
				__lowerCAmelCase :    Optional[Any]				=			decoder_layerdrop
				__lowerCAmelCase :    Union[str, Any]				=			use_cache
				__lowerCAmelCase :    int				=			encoder_layers
				__lowerCAmelCase :    Union[str, Any]				=			scale_embedding  # scale factor will be sqrt(d_model) if True
				__lowerCAmelCase :    List[str]				=			max_source_positions
				__lowerCAmelCase :    str				=			max_target_positions

				# Audio Classification-specific parameters. Feel free to ignore for other classes.
				__lowerCAmelCase :    Optional[Any]				=			classifier_proj_size
				__lowerCAmelCase :    Tuple				=			use_weighted_layer_sum

				# fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
				__lowerCAmelCase :    List[Any]				=			apply_spec_augment
				__lowerCAmelCase :    Optional[int]				=			mask_time_prob
				__lowerCAmelCase :    Any				=			mask_time_length
				__lowerCAmelCase :    Tuple				=			mask_time_min_masks
				__lowerCAmelCase :    Optional[int]				=			mask_feature_prob
				__lowerCAmelCase :    Any				=			mask_feature_length
				__lowerCAmelCase :    Any				=			mask_feature_min_masks

				__lowerCAmelCase :    Union[str, Any]				=			median_filter_width

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






class      A__  (    _a				):




	'''simple docstring'''





	@property
	def 				_SCREAMING_SNAKE_CASE  (	self:						Optional[int])							->			str:

				"""simple docstring"""

				__lowerCAmelCase :    Union[str, Any]				=			OrderedDict(
				    [
				        ("input_features", {0: "batch", 1: "feature_size", 2: "encoder_sequence"}),
				    ])
				if self.use_past:
							__lowerCAmelCase :    List[Any]				=			{0: "batch"}
				else:
							__lowerCAmelCase :    List[str]				=			{0: "batch", 1: "decoder_sequence"}

				if self.use_past:
							self.fill_with_past_key_values_(A_			,     direction="inputs")

				return common_inputs

	def 				_SCREAMING_SNAKE_CASE  (	self:						Tuple			,     _SCREAMING_SNAKE_CASE:						Union["PreTrainedTokenizerBase", "FeatureExtractionMixin"]			,     _SCREAMING_SNAKE_CASE:						int = -1			,     _SCREAMING_SNAKE_CASE:						int = -1			,     _SCREAMING_SNAKE_CASE:						bool = False			,     _SCREAMING_SNAKE_CASE:						Optional["TensorType"] = None			,     _SCREAMING_SNAKE_CASE:						int = 2_2050			,     _SCREAMING_SNAKE_CASE:						float = 5.0			,     _SCREAMING_SNAKE_CASE:						int = 220			,     )							->			str:

				"""simple docstring"""

				__lowerCAmelCase :    int				=			OrderedDict()
				__lowerCAmelCase :    Any				=			OnnxConfig.generate_dummy_inputs(
				    self			,     preprocessor=preprocessor.feature_extractor			,     batch_size=A_			,     framework=A_			,     sampling_rate=A_			,     time_duration=A_			,     frequency=A_			,     )
				__lowerCAmelCase :    Tuple				=			encoder_inputs["input_features"].shape[2]
				__lowerCAmelCase :    List[str]				=			encoder_sequence_length // 2 if self.use_past else seq_length

				__lowerCAmelCase :    Any				=			super().generate_dummy_inputs(
				    preprocessor.tokenizer			,     A_			,     A_			,     A_			,     A_)

				__lowerCAmelCase :    Any				=			encoder_inputs.pop("input_features")
				__lowerCAmelCase :    str				=			decoder_inputs.pop("decoder_input_ids")

				if "past_key_values" in decoder_inputs:
							__lowerCAmelCase :    Union[str, Any]				=			decoder_inputs.pop("past_key_values")

				return dummy_inputs







	@property
	def 				_SCREAMING_SNAKE_CASE  (	self:						Optional[Any])							->			Any:

				"""simple docstring"""

				return 1e-3



import pytest

import datasets


# Import fixture modules as plugins
__snake_case   							=						['''tests.fixtures.files''', '''tests.fixtures.hub''', '''tests.fixtures.fsspec''']






def 		_A		(		_lowercase					,  _lowercase )					-> Tuple:


     """simple docstring"""


     for item in items:
          if any(marker in item.keywords for marker in ['integration', 'unit'] ):
               continue
          item.add_marker(pytest.mark.unit )






def 		_A		(		_lowercase )					-> str:


     """simple docstring"""


     config.addinivalue_line('markers'					,  'torchaudio_latest: mark test to run with torchaudio>=0.12' )






@pytest.fixture(autouse=_lowercase )
def 		_A		(		_lowercase					,  _lowercase )					-> Any:


     """simple docstring"""


     __UpperCamelCase =			tmp_path_factory.getbasetemp() / 'cache'
     __UpperCamelCase =			test_hf_cache_home / 'datasets'
     __UpperCamelCase =			test_hf_cache_home / 'metrics'
     __UpperCamelCase =			test_hf_cache_home / 'modules'
     monkeypatch.setattr('datasets.config.HF_DATASETS_CACHE'					,  str(_lowercase ) )
     monkeypatch.setattr('datasets.config.HF_METRICS_CACHE'					,  str(_lowercase ) )
     monkeypatch.setattr('datasets.config.HF_MODULES_CACHE'					,  str(_lowercase ) )
     __UpperCamelCase =			test_hf_datasets_cache / 'downloads'
     monkeypatch.setattr('datasets.config.DOWNLOADED_DATASETS_PATH'					,  str(_lowercase ) )
     __UpperCamelCase =			test_hf_datasets_cache / 'downloads' / 'extracted'
     monkeypatch.setattr('datasets.config.EXTRACTED_DATASETS_PATH'					,  str(_lowercase ) )






@pytest.fixture(autouse=_lowercase					,  scope='session' )
def 		_A		(		)					-> Dict:


     """simple docstring"""


     datasets.disable_progress_bar()






@pytest.fixture(autouse=_lowercase )
def 		_A		(		_lowercase )					-> Tuple:


     """simple docstring"""


     monkeypatch.setattr('datasets.config.HF_UPDATE_DOWNLOAD_COUNTS'					,  _lowercase )






@pytest.fixture
def 		_A		(		_lowercase )					-> Any:


     """simple docstring"""


     monkeypatch.setattr('sqlalchemy.util.deprecations.SILENCE_UBER_WARNING'					,  _lowercase )


