Ë
    ÛÓ^jO  ã                   ó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BEiT model configurationé    )Ústricté   )ÚBackboneConfigMixin)ÚPreTrainedConfig)Úauto_docstringz%microsoft/beit-base-patch16-224-pt22k)Ú
checkpointc                   óR  ‡ — 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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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   eed&f   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/<   d0Z&eed1<   d2Z'ee   d2z  ed3<   d2Z(ee   d2z  ed4<   dZ)eed5<   d#Z*eed6<   ˆ fd7„Z+ˆ xZ,S )8Ú
BeitConfiga×	  
    use_mask_token (`bool`, *optional*, defaults to `False`):
        Whether to use a mask token for masked image modeling.
    use_relative_position_bias (`bool`, *optional*, defaults to `False`):
        Whether to use T5-style relative position embeddings in the self-attention layers.
    use_shared_relative_position_bias (`bool`, *optional*, defaults to `False`):
        Whether to use the same relative position embeddings across all self-attention layers of the Transformer.
    use_mean_pooling (`bool`, *optional*, defaults to `True`):
        Whether to mean pool the final hidden states of the patches instead of using the final hidden state of the
        CLS token, before applying the classification head.
    pool_scales (`tuple[int]`, *optional*, defaults to `[1, 2, 3, 6]`):
        Pooling scales used in Pooling Pyramid Module applied on the last feature map.
    use_auxiliary_head (`bool`, *optional*, defaults to `True`):
        Whether to use an auxiliary head during training.
    auxiliary_loss_weight (`float`, *optional*, defaults to 0.4):
        Weight of the cross-entropy loss of the auxiliary head.
    auxiliary_channels (`int`, *optional*, defaults to 256):
        Number of channels to use in the auxiliary head.
    auxiliary_num_convs (`int`, *optional*, defaults to 1):
        Number of convolutional layers to use in the auxiliary head.
    auxiliary_concat_input (`bool`, *optional*, defaults to `False`):
        Whether to concatenate the output of the auxiliary head with the input before the classification layer.
    add_fpn (`bool`, *optional*, defaults to `False`):
        Whether to add a FPN as part of the backbone. Only relevant for [`BeitBackbone`].
    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)`. Only relevant for [`BeitBackbone`].

    Example:

    ```python
    >>> from transformers import BeitConfig, BeitModel

    >>> # Initializing a BEiT beit-base-patch16-224-pt22k style configuration
    >>> configuration = BeitConfig()

    >>> # Initializing a model (with random weights) from the beit-base-patch16-224-pt22k style configuration
    >>> model = BeitModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úbeiti    Ú
vocab_sizei   Úhidden_sizeé   Únum_hidden_layersÚnum_attention_headsi   Úintermediate_sizeÚgeluÚ
hidden_actg        Úhidden_dropout_probÚattention_probs_dropout_probg{®Gáz”?Úinitializer_rangegê-�™—q=Úlayer_norm_epséà   Ú
image_sizeé   Ú
patch_sizer   Únum_channelsFÚuse_mask_tokenÚ use_absolute_position_embeddingsÚuse_relative_position_biasÚ!use_shared_relative_position_biasgš™™™™™¹?Úlayer_scale_init_valueÚdrop_path_rateTÚuse_mean_pooling)é   é   r   é   .Úpool_scalesÚuse_auxiliary_headgš™™™™™Ù?Úauxiliary_loss_weighté   Úauxiliary_channelsr$   Úauxiliary_num_convsÚauxiliary_concat_inputéÿ   Úsemantic_loss_ignore_indexNÚ_out_featuresÚ_out_indicesÚadd_fpnÚreshape_hidden_statesc                 óÂ  •— d|v r%|j                  d«      €|j                  d«      |d<   dgt        d| j                  dz   «      D �cg c]  }d|› �‘Œ	 c}z   | _        | j                  |j                  dd «      |j                  dd «      ¬«       | j                  r/| j                  �t        | j                  «      dk7  rt        d	«      ‚t        ‰| �,  d
i |¤Ž y c c}w )NÚsegmentation_indicesÚout_indicesÚstemr$   ÚstageÚout_features)r6   r9   é   zÔBeitConfig requires `out_indices` to be a list of exactly 4 integers when `add_fpn=True`, specifying which features to use from the backbone. One can use `out_indices=[3, 5, 7, 11]` for a base-sized architecture.© )ÚgetÚpopÚranger   Ústage_namesÚ"set_output_features_output_indicesr2   r1   ÚlenÚ
ValueErrorÚsuperÚ__post_init__)ÚselfÚkwargsÚidxÚ	__class__s      €úv/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/beit/configuration_beit.pyrD   zBeitConfig.__post_init__h   sã   ø€ Ø! VÑ+°·
±
¸=Ó0IÐ0QØ$*§J¡JÐ/EÓ$FˆF�=Ñ!ð #˜8ÄÀaÈ×I_ÑI_ÐbcÑIcÓ@dÖ&e¸¨¨s¨e¢}Ò&eÑeˆÔØ×/Ñ/ØŸ
™
 =°$Ó7ÀfÇjÁjÐQ_ÐaeÓFfð 	0ô 	
ð �<Š<˜T×.Ñ.Ð6¼#¸d×>OÑ>OÓ:PÐTUÒ:UÜð1óð ô 	‰ÑÑ' Ó'ùò 'fs   ÁC)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer   ÚintÚ__annotations__r   r   r   r   r   Ústrr   Úfloatr   r   r   r   ÚlistÚtupler   r   r   Úboolr   r   r    r!   r"   r#   r'   r(   r)   r+   r,   r-   r/   r0   r1   r2   r3   rD   Ú__classcell__)rH   s   @rI   r
   r
      s»  ø… ñ*ðX €Jà€J�ÓØ€K�ÓØÐ�sÓØ!Ð˜Ó!Ø!Ð�sÓ!Ø€J�ÓØ'*Ð˜ ™Ó*Ø03Ð  %¨#¡+Ó3Ø#Ð�uÓ#Ø!€N�EÓ!Ø47€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó7Ø46€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó6Ø€L�#ÓØ €N�DÓ Ø-2Ð$ dÓ2Ø',Ð Ó,Ø.3Ð% tÓ3Ø$'Ð˜EÓ'Ø"%€N�E˜C‘KÓ%Ø!Ð�dÓ!Ø/;€K��c‘˜U 3¨ 8™_Ñ,Ó;Ø#Ð˜Ó#Ø#&Ð˜5Ó&Ø!Ð˜Ó!Ø Ð˜Ó Ø#(Ð˜DÓ(Ø&)Ð Ó)Ø&*€M�4˜‘9˜tÑ#Ó*Ø%)€L�$�s‘)˜dÑ"Ó)Ø€GˆTÓØ"&Ð˜4Ó&÷(ð (ó    r
   N)rM   Úhuggingface_hub.dataclassesr   Úbackbone_utilsr   Úconfiguration_utilsr   Úutilsr   r
   Ú__all__r;   rW   rI   ú<module>r]      sQ   ðñ å .å 1Ý 3Ý #ñ ÐBÔCØô`(Ð$Ð&6ó `(ó ó Dð`(ðF ˆ.�rW   