
    i                        d Z ddlmZ ddlmZ ddlmZmZ  ej                  e	      Z
 ed      e G d d	e                    Z ed      e G d
 de                    Z ed      e G d de                    Zg dZy)zSiglip model configuration    )strict   )PreTrainedConfig)auto_docstringloggingzgoogle/siglip-base-patch16-224)
checkpointc                       e Zd ZU dZ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d<   dZeed<   dZeez  ed<   dZedz  ed<   dZedz  ed<   dZeee   z  dz  ed<   dZedz  ed<    fdZ xZS )SiglipTextConfiga  
    Example:

    ```python
    >>> from transformers import SiglipTextConfig, SiglipTextModel

    >>> # Initializing a SiglipTextConfig with google/siglip-base-patch16-224 style configuration
    >>> configuration = SiglipTextConfig()

    >>> # Initializing a SiglipTextModel (with random weights) from the google/siglip-base-patch16-224 style configuration
    >>> model = SiglipTextModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```siglip_text_modeltext_configi }  
vocab_size   hidden_size   intermediate_size   num_hidden_layersnum_attention_heads@   max_position_embeddingsgelu_pytorch_tanh
hidden_actư>layer_norm_eps        attention_dropout   Npad_token_idi  bos_token_idi  eos_token_idprojection_sizec                 v    | j                   | j                   n| j                  | _         t        |   di | y )N )r!   r   super__post_init__selfkwargs	__class__s     /var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/siglip/configuration_siglip.pyr%   zSiglipTextConfig.__post_init__?   s5    7;7K7K7Wt33]a]m]m''    )__name__
__module____qualname____doc__
model_typebase_config_keyr   int__annotations__r   r   r   r   r   r   strr   floatr   r   r   r    listr!   r%   __classcell__r)   s   @r*   r
   r
      s      %J#OJK!s!s!!#%S%)J) NE %(us{(  !L#* $L#*$+0L#S	/D(0"&OS4Z&( (r+   r
   c                       e Zd ZU dZ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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z  ed<   y)SiglipVisionConfiga  
    Example:

    ```python
    >>> from transformers import SiglipVisionConfig, SiglipVisionModel

    >>> # Initializing a SiglipVisionConfig with google/siglip-base-patch16-224 style configuration
    >>> configuration = SiglipVisionConfig()

    >>> # Initializing a SiglipVisionModel (with random weights) from the google/siglip-base-patch16-224 style configuration
    >>> model = SiglipVisionModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```siglip_vision_modelvision_configr   r   r   r   r   r   r   r   num_channels   
image_size   
patch_sizer   r   r   r   r   r   N)r,   r-   r.   r/   r0   r1   r   r2   r3   r   r   r   r=   r?   r6   tuplerA   r   r4   r   r5   r   r#   r+   r*   r:   r:   D   s      'J%OK!s!s!!L#47Jd3i%S/1746Jd3i%S/16)J) NE %(us{(r+   r:   c                   t     e Zd ZU dZdZeedZdZe	e
z  dz  ed<   dZe	e
z  dz  ed<   dZeed<    fd	Z xZS )
SiglipConfigaq  
    Example:

    ```python
    >>> from transformers import SiglipConfig, SiglipModel

    >>> # Initializing a SiglipConfig with google/siglip-base-patch16-224 style configuration
    >>> configuration = SiglipConfig()

    >>> # Initializing a SiglipModel (with random weights) from the google/siglip-base-patch16-224 style configuration
    >>> model = SiglipModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config

    >>> # We can also initialize a SiglipConfig from a SiglipTextConfig and a SiglipVisionConfig
    >>> from transformers import SiglipTextConfig, SiglipVisionConfig

    >>> # Initializing a SiglipText and SiglipVision configuration
    >>> config_text = SiglipTextConfig()
    >>> config_vision = SiglipVisionConfig()

    >>> config = SiglipConfig(text_config=config_text, vision_config=config_vision)
    ```siglip)r   r<   Nr   r<   g      ?initializer_factorc                    | j                   %t               | _         t        j                  d       n4t	        | j                   t
              rt        di | j                   | _         | j                  %t               | _        t        j                  d       n4t	        | j                  t
              rt        di | j                  | _        t        | $  di | y )NzQ`text_config` is `None`. Initializing the `SiglipTextConfig` with default values.zU`vision_config` is `None`. initializing the `SiglipVisionConfig` with default values.r#   )
r   r
   loggerinfo
isinstancedictr<   r:   r$   r%   r&   s     r*   r%   zSiglipConfig.__post_init__   s    #/1DKKkl(($//C$2B2BCD%!3!5DKKop**D1!3!Id6H6H!ID''r+   )r,   r-   r.   r/   r0   r
   r:   sub_configsr   rK   r   r3   r<   rF   r5   r%   r7   r8   s   @r*   rD   rD   f   sY    2 J"2EWXK26K((4/648M4**T18 ##( (r+   rD   )rD   r
   r:   N)r/   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r   
get_loggerr,   rH   r
   r:   rD   __all__r#   r+   r*   <module>rR      s    ! . 3 , 
		H	% ;<&(' &(  =&(R ;<)) )  =)@ ;<.(# .(  =.(b Er+   