Ë
    ÛÓ^j9  ã                   óx   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  ed¬«      e G d	„ d
ee«      «       «       Z	d
gZ
y)zDINOv2 model configurationé    )Ústricté   )ÚBackboneConfigMixin)ÚPreTrainedConfig)Úauto_docstringzfacebook/dinov2-base)Ú
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z  ed<   dZeez  ed<   dZeed<   dZeed<   dZeee   z  eeef   z  ed<   dZeee   z  eeef   z  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d<   d Zee   d z  ed!<   d Zee   d z  ed"<   dZeed#<   dZeed$<   dZ eed%<   ˆ fd&„Z!ˆ xZ"S )'ÚDinov2Configaç  
    layerscale_value (`float`, *optional*, defaults to 1.0):
        Initial value to use for layer scale.
    use_swiglu_ffn (`bool`, *optional*, defaults to `False`):
        Whether to use the SwiGLU feedforward neural network.
    apply_layernorm (`bool`, *optional*, defaults to `True`):
        Whether to apply layer normalization to the feature maps in case the model is used as backbone.
    reshape_hidden_states (`bool`, *optional*, defaults to `True`):
        Whether to reshape the feature maps to 4D tensors of shape `(batch_size, hidden_size, height, width)` in
        case the model is used as backbone. If `False`, the feature maps will be 3D tensors of shape `(batch_size,
        seq_len, hidden_size)`.
    use_mask_token (`bool`, *optional*, defaults to `True`):
        Whether to use mask_token in embeddings.

    Example:

    ```python
    >>> from transformers import Dinov2Config, Dinov2Model

    >>> # Initializing a Dinov2 dinov2-base style configuration
    >>> configuration = Dinov2Config()

    >>> # Initializing a model (with random weights) from the dinov2-base style configuration
    >>> model = Dinov2Model(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Údinov2i   Úhidden_sizeé   Únum_hidden_layersÚnum_attention_headsé   Ú	mlp_ratioÚgeluÚ
hidden_actg        Úhidden_dropout_probÚattention_probs_dropout_probg{®Gáz”?Úinitializer_rangeg�íµ ÷Æ°>Úlayer_norm_epséà   Ú
image_sizeé   Ú
patch_sizer   Únum_channelsTÚqkv_biasg      ð?Úlayerscale_valueÚdrop_path_rateFÚuse_swiglu_ffnNÚ_out_featuresÚ_out_indicesÚapply_layernormÚreshape_hidden_statesÚuse_mask_tokenc                 óú   •— dgt        d| j                  dz   «      D �cg c]  }d|› �‘Œ	 c}z   | _        | j                  |j	                  dd «      |j	                  dd «      ¬«       t        ‰| �  di |¤Ž y c c}w )NÚstemé   ÚstageÚout_indicesÚout_features)r*   r+   © )Úranger   Ústage_namesÚ"set_output_features_output_indicesÚpopÚsuperÚ__post_init__)ÚselfÚkwargsÚidxÚ	__class__s      €úz/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/dinov2/configuration_dinov2.pyr2   zDinov2Config.__post_init__O   s~   ø€ Ø"˜8ÄÀaÈ×I_ÑI_ÐbcÑIcÓ@dÖ&e¸¨¨s¨e¢}Ò&eÑeˆÔØ×/Ñ/ØŸ
™
 =°$Ó7ÀfÇjÁjÐQ_ÐaeÓFfð 	0ô 	
ô 	‰ÑÑ' Ó'ùò	 'fs   ŸA8)#Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer   ÚintÚ__annotations__r   r   r   r   Ústrr   Úfloatr   r   r   r   ÚlistÚtupler   r   r   Úboolr   r   r    r!   r"   r#   r$   r%   r2   Ú__classcell__)r6   s   @r7   r
   r
      s:  ø… ñð: €Jà€K�ÓØÐ�sÓØ!Ð˜Ó!Ø€IˆsÓØ€J�ÓØ'*Ð˜ ™Ó*Ø03Ð  %¨#¡+Ó3Ø#Ð�uÓ#Ø €N�EÓ Ø47€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó7Ø46€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó6Ø€L�#ÓØ€HˆdÓØ!Ð�eÓ!Ø"%€N�E˜C‘KÓ%Ø €N�DÓ Ø&*€M�4˜‘9˜tÑ#Ó*Ø%)€L�$�s‘)˜dÑ"Ó)Ø €O�TÓ Ø"&Ð˜4Ó&Ø€N�DÓ÷(ð (ó    r
   N)r;   Úhuggingface_hub.dataclassesr   Úbackbone_utilsr   Úconfiguration_utilsr   Úutilsr   r
   Ú__all__r,   rE   r7   ú<module>rK      sN   ðñ !å .å 1Ý 3Ý #ñ Ð1Ô2Øô;(Ð&Ð(8ó ;(ó ó 3ð;(ð| Ð
�rE   