
    Z j*                         S SK Jr  SSKJr  SSKJrJr  \R                  " \5      r	\" SS9\ " S S\5      5       5       r
\" SS9\ " S	 S
\5      5       5       r\" SS9\ " S S\5      5       5       r/ SQrg)    )strict   )PreTrainedConfig)auto_docstringloggingzBAAI/AltCLIP)
checkpointc                   :   \ rS rSr% SrSrSrSr\\	S'   Sr
\\	S'   S	r\\	S
'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\S-  \	S'   Sr\\	S'   Sr\\	S'   Sr\S-  \	S'   Sr\S-  \	S'   Sr\S-  \	S'   Sr\\-  \	S '   Sr\\-  \	S!'   Sr\\	S"'   S#r\\	S$'   S% rS&rg)'AltCLIPTextConfig   a"  
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_modeltext_configi 
vocab_sizei   hidden_sizei   intermediate_size   num_hidden_layers   num_attention_headsi  max_position_embeddingsgelu
hidden_acth㈵>Nlayer_norm_eps{Gz?initializer_rangeinitializer_factor   pad_token_idr   bos_token_id   eos_token_idg?hidden_dropout_probattention_probs_dropout_probtype_vocab_size   project_dimc                     U R                   U R                  -  S:w  a&  [        SU R                    SU R                   S35      egzOPart of `@strict`-powered validation. Validates the architecture of the config.r   zThe hidden size (z6) is not a multiple of the number of attention heads (z).Nr   r   
ValueErrorselfs    ڂ/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/transformers/models/altclip/configuration_altclip.pyvalidate_architecture'AltCLIPTextConfig.validate_architectureG   S    d666!;#D$4$4#5 622327  <     )__name__
__module____qualname____firstlineno____doc__
model_typebase_config_keyr   int__annotations__r   r   r   r   r   r   strr   floatr   r   r   r   r!   r"   r#   r$   r&   r.   __static_attributes__r2   r1   r-   r
   r
      s    & &J#OJK!s!s!!#&S&J#'NEDL'#u# $$ L#*  L#*  L#* '*u*01 #+1OSKr1   r
   c                   .   \ rS rSr% SrSrSrSr\\	S'   Sr
\\	S'   S	r\\	S
'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\\\   -  \\\4   -  S-  \	S'   Sr\\\   -  \\\4   -  S-  \	S'   Sr\\	S'   Sr\\	S'   Sr\\-  S-  \	S'   Sr\\	S'   Sr\\	S'   S rS rg)!AltCLIPVisionConfigP   a  
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   N
image_size    
patch_size
quick_gelur   r   r   g        attention_dropoutr   r         ?r   c                     U R                   U R                  -  S:w  a&  [        SU R                    SU R                   S35      egr(   r)   r+   s    r-   r.   )AltCLIPVisionConfig.validate_architecturet   r0   r1   r2   )r3   r4   r5   r6   r7   r8   r9   r   r:   r;   r   rD   r   r   rF   rH   listtuplerJ   r   r<   r   r=   rL   r   r   r.   r>   r2   r1   r-   r@   r@   P   s      (J%OK!s!NCs!!L#;>Jd3i%S/1D8>;=Jd3i%S/1D8="J" NE ,/sU{T)/#u# ##r1   r@   c                      ^  \ rS rSr% SrSr\\S.rSr	\
\-  S-  \S'   Sr\
\-  S-  \S'   Sr\\S	'   S
r\\-  S-  \S'   Sr\S-  \S'   U 4S jrSrU =r$ )AltCLIPConfig}   a  
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)r   rC   Nr   rC   r%   rD   g/L
F@logit_scale_init_valuerM   r   c                    > U R                   c  0 n[        R                  S5        OF[        U R                   [        5      (       a  U R                   R                  5       nOU R                   nU R                  c  0 n[        R                  S5        OF[        U R                  [        5      (       a  U R                  R                  5       nOU R                  nUR                  SS 5      nUR                  SS 5      nUb  [	        S0 UD6R                  5       nUR                  5        HH  u  pxXr;   d  M  XU   :w  d  M  US:w  d  M  Xt;   a
  SU SU S3n	OS	U S
3n	[        R                  U	5        MJ     UR                  U5        Ub  [        S0 UD6R                  5       n
SU
;   a5  U
S   R                  5        VVs0 s H  u  px[        U5      U_M     snnU
S'   U
R                  5        HH  u  pxXs;   d  M  XU   :w  d  M  US:w  d  M  Xu;   a
  SU SU S3n	OSU S
3n	[        R                  U	5        MJ     UR                  U
5        [	        S0 UD6U l         [        S0 UD6U l        [        TU ]4  " S0 UD6  g s  snnf )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.zj`text_config_dict` is provided which will be used to initialize `CLIPTextConfig`. 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["zp`vision_config_dict` is provided which will be used to initialize `CLIPVisionConfig`. The value `vision_config["r2   )r   loggerinfo
isinstancer
   to_dictrC   r@   popitemsupdater<   super__post_init__)r,   kwargsr   rC   rX   rY   _text_config_dictkeyvaluemessage_vision_config_dict	__class__s              r-   re   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
%%s3C*COeHe.u %<<?5@Y[  336%7NP   KK( 8" 01)"5"K8J"K"S"S"U006I*6U6[6[6]36]
CHeO6]3#J/
 2779
'E35G,GCSiLi0u %FFIUJce  99<=TV   KK( :"   !45 -;{;0A=A''93s   =I:)r3   r4   r5   r6   r7   r8   r
   r@   sub_configsr   dictr;   rC   rD   r:   rV   r=   r   re   r>   __classcell__)rl   s   @r-   rS   rS   }   s}    0 J"3FYZK37K))D077;M4--4;NC17ECK$.7'**Q( Q(r1   rS   )r
   r@   rS   N)huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r   
get_loggerr3   r]   r
   r@   rS   __all__r2   r1   r-   <module>rv      s   & / 3 , 
		H	% >*/( /  +/d >*(* (  +(V >*t($ t(  +t(n Hr1   