Ë
    ÜÓ^j<   ã                   ó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  i�5  i„5  iØ9  iÊ;  i@  i—A  iHF  iK  i6L  iôP  i!W  i—Y  ii  i�u  iÔv  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  iá5  iM7  i+9  i¡;  i=  i©@  iÜ@  iºG  iJ  ikN  i«T  iøW  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_sizeéP   Ú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{®Gáz”?Úinit_stdFÚscale_embeddingiÜ  Úmax_source_positionsiÀ  Úmax_target_positionséPÄ  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/ramen.bs-engineer-server.com/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�#ÓØ€N�CÓØ#$Ð˜SÓ$Ø€N�CÓØ#$Ð˜SÓ$Ø€O�SÓØ€O�SÓØ%(Ð�u˜s‘{Ó(Ø%(Ð�u˜s‘{Ó(Ø"'Ð˜CÓ'Ø€IˆtÓØ#Ð˜Ó#Ø%Ð˜Ó%Ø€GˆSÓØ€GˆU�S‰[ÓØ%(Ð�u˜s‘{Ó(Ø&)Ð˜ ™Ó)Ø€HˆeÓØ!€O�TÓ!Ø $Ð˜#Ó$Ø #Ð˜#Ó#Ø$€L�#˜‘*Ó$Ø$€L�#˜‘*Ó$Ø+0€L�#˜˜S™	‘/ DÑ(Ó0Ø#'€O�T˜D‘[Ó'Ø@LÐ˜4 ™9 u¨S°#¨X¡Ñ6¸Ñ=ÓLØ#(Ð˜DÓ(Ø #Ð˜#Ó#Ø$Ð˜Ó$Ø"&€N�E˜C‘KÓ&ØÐ�cÓØ Ð˜Ó Ø%(Ð�u˜s‘{Ó(Ø!Ð˜Ó!Ø"#Ð˜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   