
    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AltCLIP model configuration    )strict   )PreTrainedConfig)auto_docstringloggingzBAAI/AltCLIP)
checkpointc                   .   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d<   dZeed<   dZe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ed"<   y)#AltCLIPTextConfigaR  
    project_dim (`int`, *optional*, defaults to 768):
        The dimensions of the teacher model before the mapping layer.

    Examples:

    ```python
    >>> from transformers import AltCLIPTextModel, AltCLIPTextConfig

    >>> # Initializing a AltCLIPTextConfig with BAAI/AltCLIP style configuration
    >>> configuration = AltCLIPTextConfig()

    >>> # Initializing a AltCLIPTextModel (with random weights) from the BAAI/AltCLIP style configuration
    >>> model = AltCLIPTextModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```altclip_text_modeli 
vocab_sizei   hidden_size   num_hidden_layers   num_attention_headsi   intermediate_sizegelu
hidden_actg?hidden_dropout_probattention_probs_dropout_probi  max_position_embeddings   type_vocab_size{Gz?initializer_rangeinitializer_factorh㈵>layer_norm_epsNpad_token_idr   bos_token_id   eos_token_id   project_dim)__name__
__module____qualname____doc__
model_typer   int__annotations__r   r   r   r   r   strr   floatr   r   r   r   r   r   r   r    r"   listr$        /var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/altclip/configuration_altclip.pyr
   r
      s    & &JJKs!!!s!J'**03 %#+3#&S&OS#u# $$!NE! L#*  L#* +,L#S	/D(,Kr0   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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<   dZeed<   dZeed<   y)AltCLIPVisionConfiga  
    Example:

    ```python
    >>> from transformers import AltCLIPVisionConfig, AltCLIPVisionModel

    >>> # Initializing a AltCLIPVisionConfig with BAAI/AltCLIP style configuration
    >>> configuration = AltCLIPVisionConfig()

    >>> # Initializing a AltCLIPVisionModel (with random weights) from the BAAI/AltCLIP style configuration
    >>> model = AltCLIPVisionModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```altclip_vision_modelvision_configr#   r   i   r   i   projection_dim   r   r   r   num_channels   
image_size    
patch_size
quick_gelur   r   r   g        attention_dropoutr   r         ?r   N)r%   r&   r'   r(   r)   base_config_keyr   r*   r+   r   r6   r   r   r8   r:   r.   tupler<   r   r,   r   r-   r>   r   r   r/   r0   r1   r3   r3   D   s      (J%OK!s!NCs!!L#47Jd3i%S/1746Jd3i%S/16"J" NE %(us{(#u# ##r0   r3   c                        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<   d	Zeed
<   dZeed<    fdZ xZS )AltCLIPConfiga  
    Example:

    ```python
    >>> from transformers import AltCLIPConfig, AltCLIPModel

    >>> # Initializing a AltCLIPConfig with BAAI/AltCLIP style configuration
    >>> configuration = AltCLIPConfig()

    >>> # Initializing a AltCLIPModel (with random weights) from the BAAI/AltCLIP style configuration
    >>> model = AltCLIPModel(configuration)

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

    >>> # We can also initialize a AltCLIPConfig from a AltCLIPTextConfig and a AltCLIPVisionConfig

    >>> # Initializing a AltCLIPText and AltCLIPVision configuration
    >>> config_text = AltCLIPTextConfig()
    >>> config_vision = AltCLIPVisionConfig()

    >>> config = AltCLIPConfig(text_config=config_text, vision_config=config_vision)
    ```altclip)text_configr5   NrE   r5   r#   r6   g/L
F@logit_scale_init_valuer?   r   c                    | j                   i }t        j                  d       nAt        | j                   t              r| j                   j                         }n| j                   }| j                  i }t        j                  d       nAt        | j                  t              r| j                  j                         }n| j                  }|j                  dd       }|j                  dd       }|t	        di |j                         }|j                         D ]B  \  }}||v s|||   k7  s|dk7  s||v r
d| d| d}	nd	| d
}	t        j                  |	       D |j                  |       |t        di |j                         }
d|
v r3|
d   j                         D ci c]  \  }}t        |      | c}}|
d<   |
j                         D ]B  \  }}||v s|||   k7  s|dk7  s||v r
d| d| d}	nd| d
}	t        j                  |	       D |j                  |
       t	        di || _         t        di || _        t        | 4  di | y c c}}w )NzR`text_config` is `None`. Initializing the `AltCLIPTextConfig` with default values.zV`vision_config` is `None`. initializing the `AltCLIPVisionConfig` with default values.text_config_dictvision_config_dicttransformers_version`zp` is found in both `text_config_dict` and `text_config` but with different values. The value `text_config_dict["z"]` will be used instead.zm`text_config_dict` is provided which will be used to initialize `AltCLIPTextConfig`. The value `text_config["z"]` will be overridden.id2labelzv` is found in both `vision_config_dict` and `vision_config` but with different values. The value `vision_config_dict["zs`vision_config_dict` is provided which will be used to initialize `AltCLIPVisionConfig`. The value `vision_config["r/   )rE   loggerinfo
isinstancer
   to_dictr5   r3   popitemsupdater,   super__post_init__)selfkwargsrE   r5   rH   rI   _text_config_dictkeyvaluemessage_vision_config_dict	__class__s              r1   rU   zAltCLIPConfig.__post_init__   s   #KKKlm((*;<**224K**K%MKKpq**,?@ ..668M ..M "::&8$?#ZZ(<dC' 1 E4D E M M O 0557 )
U+%%;s3C*COeHe..u %<<?5@Y[  336%7NP   KK()" 01)"5"K8J"K"S"S"U006I*6U6[6[6]3(2UCHeO3#J/
 2779 )
U-'E]35G,GCSiLi00u %FFIUJce  99<=TV   KK()"   !45 -;{;0A=A''93s   &I)r%   r&   r'   r(   r)   r
   r3   sub_configsrE   dictr   r+   r5   r6   r*   rF   r-   r   rU   __classcell__)r]   s   @r1   rC   rC   i   sp    0 J"3FYZK26K((4/648M4**T18NC$*E* ##Q( Q(r0   rC   )r
   r3   rC   N)r(   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r   
get_loggerr%   rM   r
   r3   rC   __all__r/   r0   r1   <module>rf      s    " . 3 , 
		H	% >*&( &  +&R >* $*  $  + $F >*r($ r(  +r(j Hr0   