
    i<                      z    d Z ddlmZ ddlmZ ddlmZ g dZg dZ ed	      e G d
 de                    Z	dgZ
y)zWhisper model configuration    )strict   )PreTrainedConfig)auto_docstring)X            	   
                        :   ;   <   =   >   ?   Z   [   \   ]   ie  in  i  i  i  i  i  i  i"  i  i  i  i  i?  ia  io  ic  i  iS  ir  i9	  i	  i  i  is  i  i  i  i  i  i#  i%  i&  iC)  i"*  i,  i-  i.  ik3  i5  i5  i9  i;  i@  iA  iHF  iK  i6L  iP  i!W  iY  ii  iu  iv  i  i  i[  i-  ie  i  i  Q  i      )Vr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ig  i  i
  i  ii  i}  i  i  i  i  iF  i=  i  i	  iC
  i  i  i  i  i  iy  iW  i;  i  i  ii  ie#  i$  i(  i*  i.  i/  i+0  i1  i5  iM7  i+9  i;  i=  i@  i@  iG  iJ  ikN  iT  iW  if  i1f  iCg  iwn  is  i{  i.~  i~  i  io  iA  i  iN  iR  r   r    i  zopenai/whisper-tiny)
checkpointc                      e Zd ZU dZdZdgZdddddZdZee	d	<   d
Z
ee	d<   dZee	d<   dZee	d<   dZee	d<   dZee	d<   dZee	d<   dZee	d<   dZeez  e	d<   dZeez  e	d<   dZee	d<   dZee	d<   dZee	d<   dZee	d<   dZee	d<   dZeez  e	d<   dZeez  e	d<   dZeez  e	d <   d!Zee	d"<   d#Zee	d$<   d%Z ee	d&<   d'Z!ee	d(<   d)Z"ed*z  e	d+<   d)Z#ed*z  e	d,<   d)Z$ee%e   z  d*z  e	d-<   d*Z&e%d*z  e	d.<   d/Z'e%e   e(ed0f   z  d*z  e	d1<   d#Z)ee	d2<   d3Z*ee	d4<   d#Z+ee	d5<   d6Z,eez  e	d7<   d8Z-ee	d9<   d:Z.ee	d;<   dZ/eez  e	d<<   d8Z0ee	d=<   d>Z1ee	d?<   d@Z2ee	dA<   dZ3ee	dB<   y*)CWhisperConfiga  
    max_source_positions (`int`, *optional*, defaults to 1500):
        The maximum sequence length of log-mel filter-bank features that this model might ever be used with.
    max_target_positions (`int`, *optional*, defaults to 448):
        The maximum sequence length that this model might ever be used with. Typically set this to something large
        just in case (e.g., 512 or 1024 or 2048).
    suppress_tokens (`list[int]`, *optional*):
        A list containing the non-speech tokens that will be used by the logit processor in the `generate`
        function. NON_SPEECH_TOKENS and NON_SPEECH_TOKENS_MULTI each correspond to the `english-only` and the
        `multilingual` model.
    begin_suppress_tokens (`list[int]`, *optional*, defaults to `[220,50256]`):
        A list containing tokens that will be suppressed at the beginning of the sampling process. Initialized as
        the token for `" "` (`blank_token_id`) and the `eos_token_id`
    use_weighted_layer_sum (`bool`, *optional*, defaults to `False`):
        Whether to use a weighted average of layer outputs with learned weights. Only relevant when using an
        instance of [`WhisperForAudioClassification`].
    classifier_proj_size (`int`, *optional*, defaults to 256):
        Dimensionality of the projection before token mean-pooling for classification. Only relevant when using an
        instance of [`WhisperForAudioClassification`].
    apply_spec_augment (`bool`, *optional*, defaults to `False`):
        Whether to apply *SpecAugment* data augmentation to the outputs of the feature encoder. For reference see
        [SpecAugment: A Simple Data Augmentation Method for Automatic Speech
        Recognition](https://huggingface.co/papers/1904.08779).
    mask_time_prob (`float`, *optional*, defaults to 0.05):
        Percentage (between 0 and 1) of all feature vectors along the time axis which will be masked. The masking
        procedure generates `mask_time_prob*len(time_axis)/mask_time_length` independent masks over the axis. If
        reasoning from the probability of each feature vector to be chosen as the start of the vector span to be
        masked, *mask_time_prob* should be `prob_vector_start*mask_time_length`. Note that overlap may decrease the
        actual percentage of masked vectors. This is only relevant if `apply_spec_augment == True`.
    mask_time_length (`int`, *optional*, defaults to 10):
        Length of vector span along the time axis.
    mask_time_min_masks (`int`, *optional*, defaults to 2),:
        The minimum number of masks of length `mask_feature_length` generated along the time axis, each time step,
        irrespectively of `mask_feature_prob`. Only relevant if ''mask_time_prob*len(time_axis)/mask_time_length <
        mask_time_min_masks''
    mask_feature_prob (`float`, *optional*, defaults to 0.0):
        Percentage (between 0 and 1) of all feature vectors along the feature axis which will be masked. The
        masking procedure generates `mask_feature_prob*len(feature_axis)/mask_time_length` independent masks over
        the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector
        span to be masked, *mask_feature_prob* should be `prob_vector_start*mask_feature_length`. Note that overlap
        may decrease the actual percentage of masked vectors. This is only relevant if `apply_spec_augment is
        True`.
    mask_feature_length (`int`, *optional*, defaults to 10):
        Length of vector span along the feature axis.
    mask_feature_min_masks (`int`, *optional*, defaults to 0):
        The minimum number of masks of length `mask_feature_length` generated along the feature axis, each time
        step, irrespectively of `mask_feature_prob`. Only relevant if
        `mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks`.
    median_filter_width (`int`, *optional*, defaults to 7):
        Width of the median filter used to smoothen to cross-attention outputs when computing token timestamps.
        Should be an odd number.

    Example:

    ```python
    >>> from transformers import WhisperConfig, WhisperModel

    >>> # Initializing a Whisper tiny style configuration
    >>> configuration = WhisperConfig()

    >>> # Initializing a model (with random weights) from the tiny style configuration
    >>> model = WhisperModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```whisperpast_key_valuesencoder_attention_headsd_modelencoder_layers)num_key_value_headsnum_attention_headshidden_sizenum_hidden_layersi  
vocab_sizeP   num_mel_bins      decoder_layersdecoder_attention_headsi   decoder_ffn_dimencoder_ffn_dimg        encoder_layerdropdecoder_layerdropr   decoder_start_token_idT	use_cacheis_encoder_decodergeluactivation_functioni  dropoutattention_dropoutactivation_dropoutg{Gz?init_stdFscale_embeddingi  max_source_positionsi  max_target_positionsP  Npad_token_idbos_token_ideos_token_idsuppress_tokens)   rD   .begin_suppress_tokensuse_weighted_layer_sum   classifier_proj_sizeapply_spec_augmentg?mask_time_probr   mask_time_lengthr   mask_time_min_masksmask_feature_probmask_feature_lengthr   mask_feature_min_masksr	   median_filter_widthtie_word_embeddings)4__name__
__module____qualname____doc__
model_typekeys_to_ignore_at_inferenceattribute_mapr-   int__annotations__r/   r(   r&   r2   r3   r4   r5   r6   floatr7   r8   r9   boolr:   r<   strr'   r=   r>   r?   r@   rA   rB   rC   rE   rF   rG   listrH   rJ   tuplerK   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV        /var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/whisper/configuration_whisper.pyr#   r#   0   s   AF J#4"588 -	M JL#NC#$S$NC#$S$OSOS%(us{(%(us{("'C'It##%%GSGUS[%(us{(&))He!OT! $#$ ###$L#*$$L#*$+0L#S	/D(0#'OTD['@L49uS#X6=L#(D( ###$$"&NECK&c  %(us{(!!"#C#   $$rf   r#   N)rZ   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   NON_SPEECH_TOKENSNON_SPEECH_TOKENS_MULTIr#   __all__re   rf   rg   <module>rn      s[    " . 3 #
 
  01r%$ r%  2r%j 
rf   