§
    ‚Štj<   ã                   ó”   — 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
dS )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<   d*S )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   © ó    úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/whisper/configuration_whisper.pyr#   r#   0   s
  € € € € € € ðAð 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Ð0Ñ0Ø#'€O�T˜D‘[Ð'Ð'Ñ'Ø@LÐ˜4 œ9 u¨S°#¨X¤Ñ6¸Ñ=ÐLÐLÑ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Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #ð
ð 
ð 
Ð ð
ð 
ð 
Ð ð €Ð0Ð1Ñ1Ô1Øðr%ð r%ð r%ð r%ð r%Ð$ñ r%ô r%ñ „ñ 2Ô1ðr%ðj Ð
€€€rf   