§
    ‚Štj  ã                   ó”   — 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dS )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          ¦  «        rK| 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          ¦  «        rK| j                             dd¦  «        | j        d<   t	          | j        d                  di | j        ¤Ž| _        n-| 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          ¦   «         j        di |¤Ž d S )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     €ús/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/paligemma/configuration_paligemma.pyr3   zPaliGemmaConfig.__post_init__>   s«  ø€ Ý�dÔ(­$Ñ/Ô/ð 	Ø/3Ô/A×/EÒ/EÀlÐTiÑ/jÔ/jˆDÔ˜|Ñ,Ý!/°Ô0BÀ<Ô0PÔ!QÐ!gÐ!gÐTXÔTfÐ!gÐ!gˆDÔÐØÔÐ'Ý!/Ð0EÔ!FØ"&Ø ØØØ"$Ø$&Ø!Ø %ð	"ñ 	"ô 	"ˆDÔõ �dÔ&­Ñ-Ô-ð 	Ø-1Ô-=×-AÒ-AÀ,ÐPWÑ-XÔ-XˆDÔ˜\Ñ*Ý-¨dÔ.>¸|Ô.LÔMÐaÐaÐPTÔP`ÐaÐaˆDÔÐØÔÐ%Ý-¨gÔ6Ø Ø"$Ø"'Ø$%Ø$%Ø#(Øœ?ð ñ  ô  ˆDÔð ÔÔ7Ð?Ø;?ˆDÔÔ8à-1Ô-?Ô-JÈdÔN`Ô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ÐJ€KØ#4Ð"5Ðà48€M�4Ð*Ñ*¨TÑ1Ð8Ð8Ñ8Ø26€K�Ð(Ñ(¨4Ñ/Ð6Ð6Ñ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      sÂ   ðð #Ð "à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð €Ð7Ð8Ñ8Ô8ØðK(ð K(ð K(ð K(ð K(Ð&ñ K(ô K(ñ „ñ 9Ô8ðK(ð\ Ð
€€€r8   