
    i                     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/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/paligemma/configuration_paligemma.pyr3   zPaliGemmaConfig.__post_init__>   s   d(($//3/A/A/E/ElTi/jD|,!/0B0B<0P!Q!gTXTfTf!gD'!/0E!F"& "$$&! %	"D d&&--1-=-=-A-A,PW-XD\*-d.>.>|.LMaPTP`P`aD%-g6 "$"'$%$%#(?? D 77?;?D8-1-?-?-J-JdN`N`NkNk-kpq,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JK#4"548M4**T1826K((4/6#s#JNC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   