Ë
    ÜÓ^js  ã                   ój   — d Z ddlmZ ddlmZ ddlmZ  ed¬«      e G d„ d	e«      «       «       Zd	gZy
)zMobileBERT model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzgoogle/mobilebert-uncased)Ú
checkpointc                   ó–  ‡ — e Zd ZU dZ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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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d(<   dZ eez  dz  ed)<   dZ!eed*<   ˆ fd+„Z"ˆ xZ#S ),ÚMobileBertConfigaV  
    embedding_size (`int`, *optional*, defaults to 128):
        The dimension of the word embedding vectors.
    trigram_input (`bool`, *optional*, defaults to `True`):
        Use a convolution of trigram as input.
    use_bottleneck (`bool`, *optional*, defaults to `True`):
        Whether to use bottleneck in BERT.
    intra_bottleneck_size (`int`, *optional*, defaults to 128):
        Size of bottleneck layer output.
    use_bottleneck_attention (`bool`, *optional*, defaults to `False`):
        Whether to use attention inputs from the bottleneck transformation.
    key_query_shared_bottleneck (`bool`, *optional*, defaults to `True`):
        Whether to use the same linear transformation for query&key in the bottleneck.
    num_feedforward_networks (`int`, *optional*, defaults to 4):
        Number of FFNs in a block.
    normalization_type (`str`, *optional*, defaults to `"no_norm"`):
        The normalization type in MobileBERT.

    Examples:

    ```python
    >>> from transformers import MobileBertConfig, MobileBertModel

    >>> # Initializing a MobileBERT configuration
    >>> configuration = MobileBertConfig()

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

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```
    Ú
mobileberti:w  Ú
vocab_sizei   Úhidden_sizeé   Únum_hidden_layersé   Únum_attention_headsÚintermediate_sizeÚreluÚ
hidden_actg        Úhidden_dropout_probgš™™™™™¹?Úattention_probs_dropout_probÚmax_position_embeddingsé   Útype_vocab_sizeg{®Gáz”?Úinitializer_rangegê-�™—q=Úlayer_norm_epsr   NÚpad_token_idé€   Úembedding_sizeTÚtrigram_inputÚuse_bottleneckÚintra_bottleneck_sizeFÚuse_bottleneck_attentionÚkey_query_shared_bottleneckÚnum_feedforward_networksÚno_normÚnormalization_typeÚclassifier_activationÚclassifier_dropoutÚtie_word_embeddingsc                 ó‚   •— | j                   r| j                  | _        n| j                  | _        t	        ‰| �  di |¤Ž y )N© )r   r    Útrue_hidden_sizer   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €ú‚/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/mobilebert/configuration_mobilebert.pyr-   zMobileBertConfig.__post_init__V   s8   ø€ Ø×ÒØ$(×$>Ñ$>ˆDÕ!à$(×$4Ñ$4ˆDÔ!Ü‰ÑÑ' Ó'ó    )$Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer   ÚintÚ__annotations__r   r   r   r   r   Ústrr   Úfloatr   r   r   r   r   r   r   r   Úboolr   r    r!   r"   r#   r%   r&   r'   r(   r-   Ú__classcell__)r0   s   @r1   r	   r	      s.  ø… ñ ðD €Jà€J�ÓØ€K�ÓØÐ�sÓØ Ð˜Ó Ø Ð�sÓ Ø€J�ÓØ'*Ð˜ ™Ó*Ø03Ð  %¨#¡+Ó3Ø#&Ð˜SÓ&Ø€O�SÓØ#Ð�uÓ#Ø!€N�EÓ!Ø €L�#˜‘*Ó Ø€N�CÓØ€M�4ÓØ€N�DÓØ!$Ð˜3Ó$Ø%*Ð˜dÓ*Ø(,Ð Ó,Ø$%Ð˜cÓ%Ø'Ð˜Ó'Ø"&Ð˜4Ó&Ø-1Ð˜ ™ dÑ*Ó1Ø $Ð˜Ó$÷(ð (r2   r	   N)	r6   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r*   r2   r1   ú<module>rB      sK   ðñ %å .å 3Ý #ñ Ð6Ô7ØôC(Ð'ó C(ó ó 8ðC(ðL Ð
�r2   