





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

UpperCAmelCase	:	Any		     =       logging.get_logger(__name__)

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

# fmt: off
UpperCAmelCase	:	Optional[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, 1058, 1220, 1267, 1279, 1303, 1343, 1377,
    1391, 1635, 1782, 1875, 2162, 2361, 2488, 3467, 4008, 4211,
    4600, 4808, 5299, 5855, 6329, 7203, 9609, 9959, 10563, 10786,
    11420, 11709, 11907, 13163, 13697, 13700, 14808, 15306, 16410, 16791,
    17992, 19203, 19510, 20724, 22305, 22935, 27007, 30109, 30420, 33409,
    34949, 40283, 40493, 40549, 47282, 49146, 50257, 50359, 50360, 50361
]
UpperCAmelCase	:	Tuple		     =       [
    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, 1350, 1853, 1982, 2460, 2627,
    3246, 3253, 3268, 3536, 3846, 3961, 4183, 4667, 6585, 6647,
    7273, 9061, 9383, 10428, 10929, 11938, 12033, 12331, 12562, 13793,
    14157, 14635, 15265, 15618, 16553, 16604, 18362, 18956, 20075, 21675,
    22520, 26130, 26161, 26435, 28279, 29464, 31650, 32302, 32470, 36865,
    42863, 47425, 49870, 50254, 50258, 50360, 50361, 50362
]







class 				__lowerCAmelCase       (    UpperCamelCase__):
      _lowercase				:					List[str]						=			"""whisper"""
      _lowercase				:					List[Any]						=			["""past_key_values"""]
      _lowercase				:					str						=			{"""num_attention_heads""": """encoder_attention_heads""", """hidden_size""": """d_model"""}







      def __init__(    self		,      lowerCAmelCase__=5_1_8_6_5		,      lowerCAmelCase__=8_0		,      lowerCAmelCase__=6		,      lowerCAmelCase__=4		,      lowerCAmelCase__=6		,      lowerCAmelCase__=4		,      lowerCAmelCase__=1_5_3_6		,      lowerCAmelCase__=1_5_3_6		,      lowerCAmelCase__=0.0		,      lowerCAmelCase__=0.0		,      lowerCAmelCase__=5_0_2_5_7		,      lowerCAmelCase__=True		,      lowerCAmelCase__=True		,      lowerCAmelCase__="gelu"		,      lowerCAmelCase__=2_5_6		,      lowerCAmelCase__=0.0		,      lowerCAmelCase__=0.0		,      lowerCAmelCase__=0.0		,      lowerCAmelCase__=0.02		,      lowerCAmelCase__=False		,      lowerCAmelCase__=1_5_0_0		,      lowerCAmelCase__=4_4_8		,      lowerCAmelCase__=5_0_2_5_6		,      lowerCAmelCase__=5_0_2_5_6		,      lowerCAmelCase__=5_0_2_5_6		,      lowerCAmelCase__=None		,      lowerCAmelCase__=[2_2_0, 5_0_2_5_6]		,      lowerCAmelCase__=False		,      lowerCAmelCase__=2_5_6		,      lowerCAmelCase__=False		,      lowerCAmelCase__=0.05		,      lowerCAmelCase__=1_0		,      lowerCAmelCase__=2		,      lowerCAmelCase__=0.0		,      lowerCAmelCase__=1_0		,      lowerCAmelCase__=0		,      lowerCAmelCase__=7		,      **lowerCAmelCase__		,      )   ->						Any:



        '''simple docstring'''




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

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

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

        a__	:					List[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 				__lowerCAmelCase       (    UpperCamelCase__):







      @property
      def    _lowercase  (    self							)   ->						Mapping[str, Mapping[int, str]]:



        '''simple docstring'''




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

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

        return common_inputs







      def    _lowercase  (    self		,      lowerCAmelCase__		,      lowerCAmelCase__ = -1		,      lowerCAmelCase__ = -1		,      lowerCAmelCase__ = False		,      lowerCAmelCase__ = None		,      lowerCAmelCase__ = 2_2_0_5_0		,      lowerCAmelCase__ = 5.0		,      lowerCAmelCase__ = 2_2_0		,      )   ->						Mapping[str, Any]:



        '''simple docstring'''




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

        a__	:					List[str]										=super().generate_dummy_inputs(
            preprocessor.tokenizer		,      lowerCAmelCase__		,      lowerCAmelCase__		,      lowerCAmelCase__		,      lowerCAmelCase__							)

        a__	:					Optional[Any]										=encoder_inputs.pop("input_features"							)
        a__	:					Optional[Any]										=decoder_inputs.pop("decoder_input_ids"							)

        if "past_key_values" in decoder_inputs:
          a__	:					List[Any]										=decoder_inputs.pop("past_key_values"							)

        return dummy_inputs







      @property
      def    _lowercase  (    self							)   ->						float:



        '''simple docstring'''




        return 1E-3








'''simple docstring'''




from dataclasses import dataclass
from typing import List, Optional, Union

import numpy as np
import PIL

from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
from .timesteps import (
    fastaa_timesteps,
    smartaa_timesteps,
    smartaa_timesteps,
    smartaaa_timesteps,
    smartaaa_timesteps,
    superaa_timesteps,
    superaa_timesteps,
    superaaa_timesteps,
)





@dataclass
class  A				(							__snake_case						):
     __magic_name__						=		42
     __magic_name__						=		42
     __magic_name__						=		42


try:
      if not (is_transformers_available() and is_torch_available()):
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
      from .pipeline_if import IFPipeline
      from .pipeline_if_imgaimg import IFImgaImgPipeline
      from .pipeline_if_imgaimg_superresolution import IFImgaImgSuperResolutionPipeline
      from .pipeline_if_inpainting import IFInpaintingPipeline
      from .pipeline_if_inpainting_superresolution import IFInpaintingSuperResolutionPipeline
      from .pipeline_if_superresolution import IFSuperResolutionPipeline
      from .safety_checker import IFSafetyChecker
      from .watermark import IFWatermarker




