Ë
    ÛÓ^j¨  ã                   ój   — d dl mZmZ d dlmZ d dlmZ  ed¬«      e G d„ de«      «       «       ZdgZy)	é   )ÚPreTrainedConfigÚstrict)ÚRopeParameters)Úauto_docstringzEuroBERT/EuroBERT-210m)Ú
checkpointc                   óì  ‡ — e Zd ZU dZdZdgZddddddddœZdgdgfd	d
gd	gfd	gd	gf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	d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	dz  e
d"<   d#Ze	dz  e
d$<   d!Ze	ee	   z  dz  e
d%<   d&Ze	e
d'<   d(Zee
d)<   dZee z  dz  e
d*<   d(Z!ee
d+<   d,Z"e	ez  e
d-<   d(Z#ee
d.<   dZ$e	dz  e
d/<   d0Z%e	e
d1<   d2Z&ee
d3<   ˆ fd4„Z'd5„ Z(ˆ xZ)S )6ÚEuroBertConfiga�  
    mask_token_id (`int`, *optional*, defaults to 128002):
        Mask token id.
    classifier_pooling (`str`, *optional*, defaults to `"late"`):
        The pooling strategy to use for the classifier. Can be one of ['bos', 'mean', 'late'].

    ```python
    >>> from transformers import EuroBertModel, EuroBertConfig

    >>> # Initializing a EuroBert eurobert-base style configuration
    >>> configuration = EuroBertConfig()

    >>> # Initializing a model from the eurobert-base style configuration
    >>> model = EuroBertModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```ÚeurobertÚpast_key_valuesÚcolwiseÚrowwise)zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projzlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormi õ Ú
vocab_sizei   Úhidden_sizei   Úintermediate_sizeé   Únum_hidden_layersÚnum_attention_headsNÚnum_key_value_headsÚsiluÚ
hidden_acti    Úmax_position_embeddingsg{®Gáz”?Úinitializer_rangegñhãˆµøä>Úrms_norm_epsTÚ	use_cacheiô Úpad_token_idi ô Úbos_token_idÚeos_token_idé   Úpretraining_tpFÚtie_word_embeddingsÚrope_parametersÚattention_biasg        Úattention_dropoutÚmlp_biasÚhead_dimiô Úmask_token_idÚlateÚclassifier_poolingc                 óì   •— | j                   €| j                  | _         | j                  €| j                  | j                  z  | _        | j                   €| j                  | _         t	        ‰| �  di |¤Ž y )N© )r   r   r,   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €ú~/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/eurobert/configuration_eurobert.pyr3   zEuroBertConfig.__post_init__\   si   ø€ Ø×#Ñ#Ð+Ø'+×'?Ñ'?ˆDÔ$Ø�=‰=Ð Ø ×,Ñ,°×0HÑ0HÑHˆDŒMØ×#Ñ#Ð+Ø'+×'?Ñ'?ˆDÔ$ä‰ÑÑ' Ó'ó    c                 óˆ   — | j                   | j                  z  dk7  r&t        d| j                   › d| j                  › d�«      ‚y)zOPart of `@strict`-powered validation. Validates the architecture of the config.é    zThe hidden size (z6) is not a multiple of the number of attention heads (z).N)r   r   Ú
ValueError)r4   s    r7   Úvalidate_architecturez$EuroBertConfig.validate_architecturef   sS   € à×Ñ˜d×6Ñ6Ñ6¸!Ò;ÜØ# D×$4Ñ$4Ð#5ð 6Ø×2Ñ2Ð3°2ð7óð ð <r8   )*Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr   ÚintÚ__annotations__r   r   r   r   r   r   Ústrr   r   Úfloatr    r!   Úboolr"   r#   r$   Úlistr&   r'   r(   r   Údictr)   r*   r+   r,   r-   r/   r3   r<   Ú__classcell__)r6   s   @r7   r	   r	      s“  ø… ñð& €JØ#4Ð"5Ðð &/Ø%.Ø%.Ø%.Ø"+Ø )Ø"+ñÐð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ñÐð €J�ÓØ€K�ÓØ!Ð�sÓ!ØÐ�sÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*Ø€J�ÓØ#'Ð˜SÓ'Ø#Ð�uÓ#Ø€L�%ÓØ€IˆtÓØ%€L�#˜‘*Ó%Ø%€L�#˜‘*Ó%Ø+1€L�#˜˜S™	‘/ DÑ(Ó1Ø€N�CÓØ %Ð˜Ó%Ø48€O�^ dÑ*¨TÑ1Ó8Ø €N�DÓ Ø%(Ð�s˜U‘{Ó(Ø€HˆdÓØ€Hˆc�D‰jÓØ€M�3ÓØ$Ð˜Ó$ô(ör8   r	   N)	Úconfiguration_utilsr   r   Úmodeling_rope_utilsr   Úutilsr   r	   Ú__all__r1   r8   r7   ú<module>rQ      sH   ð÷. <Ý 1Ý #ñ Ð3Ô4ØôNÐ%ó Nó ó 5ðNðb Ð
�r8   