Ë
    ÜÓ^j  ã                   óz   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  ed¬	«      e G d
„ de«      «       «       Z
dgZy)zPaliGemmamodel configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringé   )ÚCONFIG_MAPPINGÚ
AutoConfigzgoogle/paligemma-3b-pt-224)Ú
checkpointc                   óº   ‡ — e Zd ZU dZdZddiZeedœZdgZdZ	e
ez  dz  ed<   dZe
ez  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<   ˆ fd„Zˆ xZS )ÚPaliGemmaConfiga·  
    Example:

    ```python
    >>> from transformers import PaliGemmaForConditionalGeneration, PaliGemmaConfig, SiglipVisionConfig, GemmaConfig

    >>> # Initializing a Siglip-like vision config
    >>> vision_config = SiglipVisionConfig()

    >>> # Initializing a PaliGemma config
    >>> text_config = GemmaConfig()

    >>> # Initializing a PaliGemma paligemma-3b-224 style configuration
    >>> configuration = PaliGemmaConfig(vision_config, text_config)

    >>> # Initializing a model from the paligemma-3b-224 style configuration
    >>> model = PaliGemmaForConditionalGeneration(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Ú	paligemmaÚimage_token_idÚimage_token_index)Útext_configÚvision_configÚpast_key_valuesNr   r   i è é€ì Ú
vocab_sizeé   Úprojection_dimÚhidden_sizeTÚtie_word_embeddingsc           
      óŒ  •— t        | j                  t        «      rT| j                  j                  dd«      | j                  d<   t	        | j                  d      di | j                  ¤Ž| _        n'| j                  €t	        d   ddddddd	d
¬«      | _        t        | j
                  t        «      rT| j
                  j                  dd«      | j
                  d<   t	        | j
                  d      di | j
                  ¤Ž| _        n0| j
                  €$t	        d   dddddd
| j                  ¬«      | _        | j
                  j                  €d| j
                  _        | j                  j                  | j                  j                  z  dz  | j
                  _
        | j                  | j                  _        t        ‰| �4  di |¤Ž y )NÚ
model_typeÚsiglip_vision_modeli   i€  é   éà   é   é   r   F)Úintermediate_sizer   Ú
patch_sizeÚ
image_sizeÚnum_hidden_layersÚnum_attention_headsr   Úvision_use_headÚgemmar   é   i @  é   é   )r   r#   r    r$   Únum_key_value_headsÚis_encoder_decoderr   Tr   © )Ú
isinstancer   ÚdictÚgetr   r   r   Úuse_bidirectional_attentionr"   r!   Únum_image_tokensr   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €ú€/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/paligemma/configuration_paligemma.pyr3   zPaliGemmaConfig.__post_init__>   s   ø€ Ü�d×(Ñ(¬$Ô/Ø/3×/AÑ/A×/EÑ/EÀlÐTiÓ/jˆD×Ñ˜|Ñ,Ü!/°×0BÑ0BÀ<Ñ0PÑ!QÑ!gÐTX×TfÑTfÑ!gˆDÕØ×ÑÐ'Ü!/Ð0EÑ!FØ"&Ø ØØØ"$Ø$&Ø!Ø %ô	"ˆDÔô �d×&Ñ&¬Ô-Ø-1×-=Ñ-=×-AÑ-AÀ,ÐPWÓ-XˆD×Ñ˜\Ñ*Ü-¨d×.>Ñ.>¸|Ñ.LÑMÑaÐPT×P`ÑP`ÑaˆDÕØ×ÑÐ%Ü-¨gÑ6Ø Ø"$Ø"'Ø$%Ø$%Ø#(ØŸ?™?ô ˆDÔð ×Ñ×7Ñ7Ð?Ø;?ˆD×ÑÔ8à-1×-?Ñ-?×-JÑ-JÈd×N`ÑN`×NkÑNkÑ-kÐpqÑ,qˆ×ÑÔ)Ø,0×,?Ñ,?ˆ×ÑÔ)Ü‰ÑÑ' Ó'ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úattribute_mapr	   Úsub_configsÚkeys_to_ignore_at_inferencer   r.   r   Ú__annotations__r   r   Úintr   r   r   r   Úboolr3   Ú__classcell__)r6   s   @r7   r   r      s™   ø… ñð, €JàÐ-ð€Mð #-¸zÑJ€KØ#4Ð"5Ðà48€M�4Ð*Ñ*¨TÑ1Ó8Ø26€K�Ð(Ñ(¨4Ñ/Ó6Ø#Ð�sÓ#Ø€J�ÓØ€N�CÓØ€K�ÓØ $Ð˜Ó$÷%(ð %(r8   r   N)r<   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   Úautor   r	   r   Ú__all__r,   r8   r7   ú<module>rI      sN   ðñ #å .å 3Ý #ß -ñ Ð7Ô8ØôK(Ð&ó K(ó ó 9ðK(ð\ Ð
�r8   