ó
    ˆŽ¡j^  ã                   ó�   • S SK rS SKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	KJrJr  \	" S
S9\ " S S\5      5       5       rS/rg)é    N)Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstring)Úintervalé   )ÚCONFIG_MAPPINGÚ
AutoConfigzHKUSTAudio/xcodec2-hf)Ú
checkpointc                   ó  ^ • \ rS rSr% SrSrS/rSr\\	S'   Sr
\\	S'   S	r\\	S
'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\\	S'   \" SSS9" SS9r\\	S'   Sr\\	S'   Sr\S-  \	S'   Sr\\	S'   Sr\\-  S-  \	S'   Sr\\	S'   Sr\\-  S-  \	S'   S r\\	S!'   S"\0rS#r \\	S$'   S%r!\"\   \#\S&4   -  \	S''   Sr$\\%-  S-  \	S"'   S(r&\\	S)'   S*r'\\	S+'   S,r(\\	S-'   S.r)\"\   \#\S&4   -  \	S/'   U 4S0 jr*S1 r+\,S2\4S3 j5       r-\,S2\4S4 j5       r.S5r/U =r0$ )6ÚXcodec2Configé   aa  
downsampling_ratios (`list[int]`, *optional*, defaults to `[2, 2, 4, 4, 5]`):
    Ratios for downsampling in the encoder.
semantic_model_config (`Union[Dict, Wav2Vec2BertConfig]`, *optional*):
    An instance of the configuration object for the semantic (Wav2Vec2BertConfig) model.
quantization_dim (`int`, *optional*, defaults to 2048):
    Dimension for the vector quantization codebook.
quantization_levels (`list[int]`, *optional*, defaults to `[4, 4, 4, 4, 4, 4, 4, 4]`):
    Levels for the vector quantization codebook.

Example:

```python
>>> from transformers import Xcodec2Config, Xcodec2Model

>>> # Initializing configuration
>>> configuration = Xcodec2Config()

>>> # Initializing a model (with random weights) from the configuration
>>> model = Xcodec2Model(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Úxcodec2Úpast_key_valuesi   Úhidden_sizei   Úintermediate_sizeé   Únum_hidden_layersé   Únum_attention_headsÚnum_key_value_headsÚsiluÚ
hidden_actÚmax_position_embeddingsg        g      ð?)ÚminÚmaxg{®Gáz”?)ÚdefaultÚinitializer_rangeg�íµ ÷Æ°>Úrms_norm_epsNÚpad_token_idFÚtie_word_embeddingsÚrope_parametersÚattention_biasÚattention_dropouté@   Úhead_dimÚsemantic_model_configé0   Úencoder_hidden_size)r	   r	   é   r+   é   .Údownsampling_ratiosi€>  Úsampling_rategš™™™™™¹?Úactivation_dropouti   Úquantization_dim)r+   r+   r+   r+   r+   r+   r+   r+   Úquantization_levelsc                 óÞ  >• [        U R                  [        5      (       aU  U R                  R                  SS5      U R                  S'   [        U R                  S      " S0 U R                  D6U l        OU R                  c  [        S   " SS9U l        U R
                  c  U R                  U R                  -  U l        U R                  c  U R                  U l        [        TU ](  " S0 UD6  g )NÚ
model_typezwav2vec2-bertr   )r   © )Ú
isinstancer(   ÚdictÚgetr
   r'   r   r   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €Ú¿C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\transformers/models/xcodec2/configuration_xcodec2.pyr9   ÚXcodec2Config.__post_init__V   sÔ   ø€ Ü�d×0Ñ0´$×7Ñ7Ø7;×7QÑ7Q×7UÑ7UÐVbÐdsÓ7tˆD×&Ñ& |Ñ4Ü)7¸×8RÑ8RÐS_Ñ8`Ò)añ *Ø×,Ñ,ñ*ˆDÕ&ð ×'Ñ'Ñ/Ü)7¸Ò)HÐ[]Ñ)^ˆDÔ&Ø�=‰=Ñ Ø ×,Ñ,°×0HÑ0HÑHˆDŒMØ×#Ñ#Ñ+Ø'+×'?Ñ'?ˆDÔ$ä‰ÒÑ' Ó'ó    c                 óŠ   • U R                   U R                  -  S:w  a&  [        SU R                    SU R                   S35      eg)zOPart of `@strict`-powered validation. Validates the architecture of the config.r   zThe hidden size (z6) is not a multiple of the number of attention heads (z).N)r   r   Ú
ValueError©r:   s    r=   Úvalidate_architectureÚ#Xcodec2Config.validate_architecturee   sS   € à×Ñ˜d×6Ñ6Ñ6¸!Ó;ÜØ# D×$4Ñ$4Ð#5ð 6Ø×2Ñ2Ð3°2ð7óð ð <r?   Úreturnc                 óT   • [        [        R                  " U R                  5      5      $ )N)ÚintÚnpÚprodr-   rB   s    r=   Ú
hop_lengthÚXcodec2Config.hop_lengthm   s   € ä”2—7’7˜4×3Ñ3Ó4Ó5Ð5r?   c                 ó    • U R                   S-  $ )Nr+   )rJ   rB   s    r=   Ún_fftÚXcodec2Config.n_fftq   s   € à�‰ Ñ"Ð"r?   )r'   r   r(   )1Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r3   Úkeys_to_ignore_at_inferencer   rG   Ú__annotations__r   r   r   r   r   Ústrr   r   r   Úfloatr    r!   r"   Úboolr#   r   r6   r$   r%   r'   r   Úsub_configsr*   r-   ÚlistÚtupler(   r   r.   r/   r0   r1   r9   rC   ÚpropertyrJ   rM   Ú__static_attributes__Ú__classcell__)r<   s   @r=   r   r      sœ  ø‡ ñð2 €JØ#4Ð"5ÐØ€K�ÓØ!Ð�sÓ!ØÐ�sÓØ!Ð˜Ó!Ø!Ð˜Ó!Ø€J�ÓØ#'Ð˜SÓ'Ù'¨C°SÒ9À$ÑGÐ�uÓGØ€L�%ÓØ#€L�#˜‘*Ó#Ø %Ð˜Ó%Ø48€O�^ dÑ*¨TÑ1Ó8Ø €N�DÓ Ø,/Ð�s˜U‘{ TÑ)Ó/Ø€HˆcÓØ*¨JÐ7€Kà!Ð˜Ó!Ø7FÐ˜˜c™ U¨3°¨8¡_Ñ4ÓFØ<@Ð˜4Ð"2Ñ2°TÑ9Ó@Ø€M�3ÓØ #Ð˜Ó#Ø Ð�cÓ Ø7OÐ˜˜c™ U¨3°¨8¡_Ñ4ÓOõ(òð ð6˜Có 6ó ð6ð ð#�só #ó ö#r?   r   )ÚnumpyrH   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   Úutils.type_validatorsr   Úautor
   r   r   Ú__all__r4   r?   r=   Ú<module>rg      sT   ðó* Ý .å 3Ý 1Ý #Ý -ß -ñ Ð2Ñ3ØôR#Ð$ó R#ó ó 4ðR#ðj Ð
�r?   