+
    œ°³jDN  ã                   ó�  € R t ^ RIt^ RIHt ^ RIHt ^RIHt ^RI	H
t
 ^RIHtHt ^RIHt ^RIHt ^RIHtHtHt ^R	IHt ^R
IHt ^RIHtHtHtHt ^RIH t H!t!H"t" ^RI#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t- ^RI.H/t/H0t0H1t1H2t2H3t3 ]! RR7      ] ! R R]!4      4       4       t4]! RR7      ] ! R R]"4      4       4       t5]! RR7      ] ! R R] 4      4       4       t6 ! R R](4      t7 ! R R]/4      t8 ! R R]4      t9 ! R R]34      t: ! R R ]4      t; ! R! R"]04      t< ! R# R$]14      t= ! R% R&]4      t> ! R' R(]&4      t? ! R) R*]24      t@ ! R+ R,]%4      tA ! R- R.]$4      tB ! R/ R0]'4      tC ! R1 R2]&4      tD ! R3 R4]*4      tE ! R5 R6])4      tF ! R7 R8]+4      tG]! R9R:7       ! R; R<]F4      4       tH ! R= R>]F4      tI ! R? R@]]F4      tJ. RAOtKR# )BzPyTorch AltCLIP model.N)Ústrict)Úinitialization)Úcreate_bidirectional_mask)ÚBaseModelOutputWithPoolingÚ'BaseModelOutputWithPoolingAndProjection)ÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚcan_return_tuple)Úmerge_with_config_defaults)Úcapture_outputs)ÚChineseCLIPModelÚChineseCLIPTextAttentionÚChineseCLIPTextLayerÚChineseCLIPTextSelfAttention)Ú
CLIPConfigÚCLIPTextConfigÚCLIPVisionConfig)
ÚCLIPMLPÚCLIPAttentionÚCLIPEncoderÚCLIPEncoderLayerÚ
CLIPOutputÚCLIPPreTrainedModelÚCLIPVisionEmbeddingsÚCLIPVisionModelÚ_get_vector_normÚimage_text_contrastive_loss)ÚRobertaEmbeddingsÚRobertaIntermediateÚRobertaOutputÚRobertaPoolerÚRobertaSelfOutputzBAAI/AltCLIP)Ú
checkpointc                   óˆ   a € ] tR t^:t o RtRtRt^t^tRt	Rt
Rt^ tRt^tRt^t^ t^tR	t]! 4       t]! 4       tV 3R
 ltRtV tR# )ÚAltCLIPTextConfiga"  
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
```i’Ð i   i   Úgelugš™™™™™¹?i  g{®Gáz”?é   c                ó  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ ;R	&   S[ ;R
&   S[;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ ;R&   # )é   Ú
vocab_sizeÚhidden_sizeÚnum_hidden_layersÚnum_attention_headsÚintermediate_sizeÚ
hidden_actÚhidden_dropout_probÚattention_probs_dropout_probÚmax_position_embeddingsÚtype_vocab_sizeÚinitializer_factorNÚpad_token_idÚbos_token_idÚeos_token_idÚproject_dim)ÚintÚstrÚfloat)ÚformatÚ__classdict__s   "€Úl/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/altclip/modular_altclip.pyÚ__annotate__ÚAltCLIPTextConfig.__annotate__:   sæ   ø‡ ‚ ñ, Ññ- ñ. Ññ/ ñ0 Ññ1 ñ2 Ñ!ñ3 ñ4 Ñ!ñ5 ñ6 Ññ7 ñ8 ™u�Ñ*ñ9 ñ: #&©¥+Ñ1ñ; ñ< !Ñ&ñ= ñ> Ññ? ñ@ Ñ$ñA ñB ˜•*Ñ ñC ñD ˜•*Ñ ñE ñF ˜•*Ñ ñG ñH ÑòI ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   ÚAttributeErrorÚprojection_dimÚattention_dropoutÚ__annotate_func__Ú__static_attributes__Ú__classdictcell__©r>   s   @r?   r&   r&   :   sw   ø‡ € ñð& €JØ€KØÐØ!ÐØ!ÐØ€JØ'*ÐØ01Ð Ø#&ÐØ€OØ $ÐØ €LØ €LØ €LØ€KÙ#Ó%€NÙ&Ó(Ð÷M ƒ rB   r&   c                   ó   € ] tR t^ctRtRtR# )Ú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
```rC   N)rD   rE   rF   rG   rH   rM   rC   rB   r?   rQ   rQ   c   s   † õrB   rQ   c                   ó4   a € ] tR t^wt o RtRtV 3R ltRtV tR# )Ú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)
```r(   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r*   rJ   )r:   )r=   r>   s   "€r?   r@   ÚAltCLIPConfig.__annotate__w   s   ø‡ ‚ ñ6 Ñò7 rB   rC   N)	rD   rE   rF   rG   rH   rJ   rL   rM   rN   rO   s   @r?   rS   rS   w   s   ø‡ € ñð0 €N÷7 ƒ rB   rS   c                   ó   € ] tR t^•tRtR# )ÚAltCLIPOutputrC   N©rD   rE   rF   rG   rM   rC   rB   r?   rW   rW   •   ó   † ÛrB   rW   c                   ó   € ] tR t^™tRtR# )ÚAltRobertaEmbeddingsrC   NrX   rC   rB   r?   r[   r[   ™   rY   rB   r[   c                   ó2   a a€ ] tR t^�t oV 3R ltRtVtV ;t# )ÚAltRobertaSelfAttentionc                ó4   <€ \         SV `  V4       R V n        R# )FN)ÚsuperÚ__init__Ú	is_causal©ÚselfÚconfigÚ	__class__s   &&€r?   r`   Ú AltRobertaSelfAttention.__init__ž   s   ø€ Ü‰Ñ˜Ô ØˆŽrB   )ra   ©rD   rE   rF   rG   r`   rM   rN   Ú__classcell__©re   r>   s   @@r?   r]   r]   �   s   ù‡ € ÷õ rB   r]   c                   ó   € ] tR t^£tRtR# )ÚAltRobertaSelfOutputrC   NrX   rC   rB   r?   rk   rk   £   rY   rB   rk   c                   ó2   a a€ ] tR t^§t oV 3R ltRtVtV ;t# )ÚAltRobertaAttentionc                ód   <€ \         SV `  4        \        V4      V n        \	        V4      V n        R # ©N)r_   r`   r]   rc   rk   Úoutputrb   s   &&€r?   r`   ÚAltRobertaAttention.__init__¨   s&   ø€ Ü‰ÑÔÜ+¨FÓ3ˆŒ	Ü*¨6Ó2ˆŽrB   )rp   rc   rg   ri   s   @@r?   rm   rm   §   s   ù‡ € ÷3õ 3rB   rm   c                   ó   € ] tR t^®tRtR# )ÚAltRobertaIntermediaterC   NrX   rC   rB   r?   rs   rs   ®   rY   rB   rs   c                   ó   € ] tR t^²tRtR# )ÚAltRobertaOutputrC   NrX   rC   rB   r?   ru   ru   ²   rY   rB   ru   c                   ó2   a a€ ] tR t^¶t oV 3R ltRtVtV ;t# )ÚAltRobertaLayerc                ó„   <€ \         SV `  4        \        V4      V n        \	        V4      V n        \        V4      V n        R # ro   )r_   r`   rm   Ú	attentionrs   Úintermediateru   rp   rb   s   &&€r?   r`   ÚAltRobertaLayer.__init__·   s3   ø€ Ü‰ÑÔÜ,¨VÓ4ˆŒÜ2°6Ó:ˆÔÜ& vÓ.ˆŽrB   )ry   rz   rp   rg   ri   s   @@r?   rw   rw   ¶   s   ù‡ € ÷/õ /rB   rw   c                   óB   a a€ ] tR t^¾t oRtV3R lV 3R lltRtVtV ;t# )ÚAltRobertaEncoderz¦
Transformer encoder consisting of `config.num_hidden_layers` self attention layers. Each layer is a
[`AltRobertaEncoderLayer`].

Args:
    config: AltCLIPTextConfig
c                ó    <€ V ^8„  d   QhRS[ /# ©r*   rd   ©r&   )r=   r>   s   "€r?   r@   ÚAltRobertaEncoder.__annotate__Ç   s   ø€ ÷ hñ hÑ0ñ hrB   c                ó¾   <€ \         SV `  V4       \        P                  ! \	        VP
                  4       Uu. uF  p\        V4      NK  	  up4      V n        R # u upi ro   )r_   r`   ÚnnÚ
ModuleListÚranger-   rw   Úlayers)rc   rd   Ú_re   s   && €r?   r`   ÚAltRobertaEncoder.__init__Ç   sD   ø€ Ü‰Ñ˜Ô Ü—m’mÄeÈF×LdÑLdÔFeÓ$fÑFeÀ¤_°VÖ%<ÑFeÑ$fÓgˆŽùÒ$fs   ¸A)r†   )	rD   rE   rF   rG   rH   r`   rM   rN   rh   ri   s   @@r?   r}   r}   ¾   s   ù‡ € ñ÷h÷ hó hrB   r}   c                   ó   € ] tR t^ÌtRtR# )ÚAltRobertaPoolerrC   NrX   rC   rB   r?   rŠ   rŠ   Ì   rY   rB   rŠ   c                   ó   € ] tR t^ÐtRtR# )ÚAltCLIPAttentionrC   NrX   rC   rB   r?   rŒ   rŒ   Ð   rY   rB   rŒ   c                   ó   € ] tR t^ÔtRtR# )Ú
AltCLIPMLPrC   NrX   rC   rB   r?   rŽ   rŽ   Ô   rY   rB   rŽ   c                   ó>   a a€ ] tR t^Øt oV3R lV 3R lltRtVtV ;t# )ÚAltCLIPEncoderLayerc                ó    <€ V ^8„  d   QhRS[ /# r   )rQ   )r=   r>   s   "€r?   r@   Ú AltCLIPEncoderLayer.__annotate__Ù   s   ø€ ÷ !ñ !Ñ2ñ !rB   c                ó&   <€ \         SV `  V4       R # ro   )r_   r`   rb   s   &&€r?   r`   ÚAltCLIPEncoderLayer.__init__Ù   s   ø€ Ü‰Ñ˜Ö rB   rC   rg   ri   s   @@r?   r�   r�   Ø   s   ù‡ € ÷!÷ !ó !rB   r�   c                   ó   € ] tR t^ÝtRtR# )ÚAltCLIPEncoderrC   NrX   rC   rB   r?   r–   r–   Ý   rY   rB   r–   c                   ó   € ] tR t^átRtR# )ÚAltCLIPVisionEmbeddingsrC   NrX   rC   rB   r?   r˜   r˜   á   rY   rB   r˜   c                   ób   a € ] tR t^åt o . ROtR]R]/t]P                  ! 4       R 4       t
RtV tR# )ÚAltCLIPPreTrainedModelÚhidden_statesÚ
attentionsc                óH	  € \         P                  ! W4       V P                  P                  p\	        V\
        4      '       Ed   \        P                  ! VP                  RVP                  R,          V,          R7       \        P                  ! VP                  P                  VP                  P                  V,          R7       \        P                  ! VP                  P                  VP                  P                  V,          R7       \        P                  ! VP                  \         P"                  ! VP$                  4      P'                  R4      4       R# \	        V\(        4      '       Ed   VP                  R,          ^VP                  P*                  ,          R,          ,          V,          pVP                  R,          V,          p\        P                  ! VP,                  P                  VR7       \        P                  ! VP.                  P                  VR7       \        P                  ! VP0                  P                  VR7       \        P                  ! VP2                  P                  VR7       R# \	        V\4        4      '       dÓ   VP                  P6                  R,          ^VP                  P*                  ,          R,          ,          V,          p^VP                  P6                  ,          R,          V,          p\        P                  ! VP8                  P                  VR7       \        P                  ! VP:                  P                  VR7       R# \	        V\<        4      '       d‹   \        P                  ! VP>                  P                  VP@                  R,          V,          R7       \        P                  ! VPB                  P                  VPD                  R,          V,          R7       R# \	        V\F        4      '       d‚   \        P                  ! VP                  \         P"                  ! VP                  PH                  R,          4      P'                  R4      4       \        PJ                  ! VPL                  4       R# R# )zInitialize the weightsg        )ÚmeanÚstd)rŸ   Ng      à¿éÿÿÿÿ)é   r    )'r   Ú_init_weightsrd   r5   Ú
isinstancer˜   ÚinitÚnormal_Úclass_embeddingÚ	embed_dimÚpatch_embeddingÚweightÚinitializer_rangeÚposition_embeddingÚcopy_Úposition_idsÚtorchÚarangeÚnum_positionsÚexpandrŒ   r-   Úq_projÚk_projÚv_projÚout_projrŽ   r,   Úfc1Úfc2ÚAltCLIPModelÚtext_projectionÚtext_embed_dimÚvisual_projectionÚvision_embed_dimr[   ÚshapeÚzeros_Útoken_type_ids)rc   ÚmoduleÚfactorÚin_proj_stdÚout_proj_stdÚfc_stds   &&    r?   r¢   Ú$AltCLIPPreTrainedModel._init_weightsì   sé  € ô 	×%Ò% dÔ3Ø—‘×/Ñ/ˆÜ�fÔ5×6Ó6Ü�LŠL˜×/Ñ/°c¸v×?OÑ?OÐQUÕ?UÐX^Õ?^Õ_Ü�LŠL˜×/Ñ/×6Ñ6¸F¿M¹M×<[Ñ<[Ð^dÕ<dÕeÜ�LŠL˜×2Ñ2×9Ñ9¸v¿}¹}×?^Ñ?^ÐagÕ?gÕhÜ�JŠJ�v×*Ñ*¬E¯LªL¸×9MÑ9MÓ,N×,UÑ,UÐV]Ó,^Ö_Ü˜Ô 0×1Ó1Ø!×+Ñ+¨TÕ1°q¸6¿=¹=×;ZÑ;ZÕ7ZÐ_cÕ6cÕdÐgmÕmˆKØ"×,Ñ,¨dÕ2°fÕ<ˆLÜ�LŠL˜Ÿ™×-Ñ-°;Õ?Ü�LŠL˜Ÿ™×-Ñ-°;Õ?Ü�LŠL˜Ÿ™×-Ñ-°;Õ?Ü�LŠL˜Ÿ™×/Ñ/°\×BÜ˜¤
×+Ò+Ø!Ÿ=™=×4Ñ4°dÕ:ÀÀFÇMÁM×DcÑDcÕ@cÐhlÕ?lÕmÐpvÕvˆKØ˜&Ÿ-™-×3Ñ3Õ3¸Õ<¸vÕEˆFÜ�LŠL˜Ÿ™×*Ñ*°Õ7Ü�LŠL˜Ÿ™×*Ñ*°×<Ü˜¤×-Ò-Ü�LŠLØ×&Ñ&×-Ñ-Ø×)Ñ)¨4Õ/°&Õ8õô �LŠLØ×(Ñ(×/Ñ/Ø×+Ñ+¨TÕ1°FÕ:÷ô ˜Ô 4×5Ò5Ü�JŠJ�v×*Ñ*¬E¯LªL¸×9LÑ9L×9RÑ9RÐSUÕ9VÓ,W×,^Ñ,^Ð_fÓ,gÔhÜ�KŠK˜×-Ñ-Ö.ñ 6rB   rC   N)r[   rw   r�   r˜   )rD   rE   rF   rG   Ú_no_split_modulesr�   rŒ   Ú_can_record_outputsr®   Úno_gradr¢   rM   rN   rO   s   @r?   rš   rš   å   s9   ø‡ € ÚuÐàÐ,ØÐ&ðÐð
 ‡]‚]ƒ_ñ /ó ö /rB   rš   c                   ó2   a a€ ] tR tRt oV 3R ltRtVtV ;t# )ÚAltCLIPVisionModeli  c                ó$   <€ \         SV `  ! R/ VB # )a�  
Examples:

```python
>>> import httpx
>>> from io import BytesIO
>>> from PIL import Image
>>> from transformers import AutoProcessor, AltCLIPVisionModel

>>> model = AltCLIPVisionModel.from_pretrained("BAAI/AltCLIP")
>>> processor = AutoProcessor.from_pretrained("BAAI/AltCLIP")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled CLS states
```rC   )r_   Úforward©rc   Úsuper_kwargsre   s   &,€r?   rÌ   ÚAltCLIPVisionModel.forward  s   ø€ ô. ‰wŠÑ. Ñ.Ð.rB   rC   )rD   rE   rF   rG   rÌ   rM   rN   rh   ri   s   @@r?   rÊ   rÊ     s   ù‡ € ÷/õ /rB   rÊ   aE  
    The model behaves as an encoder following the architecture described in *Attention is
    all you need*_ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz
    Kaiser and Illia Polosukhin.

    .. _*Attention is all you need*: https://huggingface.co/papers/1706.03762
    )Úcustom_introc                   óŠ   a a€ ] tR tRt oR
tRtR]R]/tRV 3R llt	]
]]RV3R lR ll4       4       4       tV3R ltR	tVtV ;t# )ÚAltRobertaModeli+  Úword_embeddingsr›   rœ   c                óº   <€ \         SV `  V4       \        V4      V n        \	        V4      V n        V'       d   \        V4      MRV n        V P                  4        R# )z^
add_pooling_layer (bool, *optional*, defaults to `True`):
    Whether to add a pooling layer
N)	r_   r`   r[   Ú
embeddingsr}   ÚencoderrŠ   ÚpoolerÚ	post_init)rc   rd   Úadd_pooling_layerre   s   &&&€r?   r`   ÚAltRobertaModel.__init__>  sE   ø€ ô
 	‰Ñ˜Ô Ü.¨vÓ6ˆŒÜ(¨Ó0ˆŒß2CÔ& vÔ.ÈˆŒà�‰ÖrB   c                ó  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# ©	r*   Ú	input_idsNÚattention_maskr¿   r­   Úinputs_embedsÚkwargsÚreturn)r®   ÚTensorr   r	   Útupler   )r=   r>   s   "€r?   r@   ÚAltRobertaModel.__annotate__M  sŠ   ø€ ÷ 3
ñ 3
á—<‘< $Õ&ð3
ñ Ÿ™ tÕ+ð3
ñ Ÿ™ tÕ+ð	3
ñ
 —l‘l TÕ)ð3
ñ —|‘| dÕ*ð3
ñ Ñ+Õ,ð3
ñ 
Ñ+Õ	+ñ3
rB   c                ó0  € VRJ VRJ,          '       d   \        R4      hV P                  VVVVR7      p\        V P                  VVR7      pV P                  ! V3RV/VB pV^ ,          pV P
                  e   V P                  V4      MRp	\        VV	R7      # )aû  
Examples:

```python
>>> from transformers import AutoTokenizer, AltRobertaModel

>>> model = AltRobertaModel.from_pretrained("openai/alt_roberta-vit-base-patch32")
>>> tokenizer = AutoTokenizer.from_pretrained("openai/alt_roberta-vit-base-patch32")

>>> inputs = tokenizer(["a photo of a cat", "a photo of a dog"], padding=True, return_tensors="pt")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled (EOS token) states
```Nz:You must specify exactly one of input_ids or inputs_embeds)rÝ   r­   r¿   rß   )rd   rß   rÞ   rÞ   )Úlast_hidden_stateÚpooler_output)Ú
ValueErrorrÕ   r   rd   rÖ   r×   r   )
rc   rÝ   rÞ   r¿   r­   rß   rà   Úencoder_outputsÚsequence_outputÚpooled_outputs
   &&&&&&,   r?   rÌ   ÚAltRobertaModel.forwardJ  s»   € ð6 ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàŸ™ØØ%Ø)Ø'ð	 (ó 
ˆô 3Ø—;‘;Ø'Ø)ô
ˆð Ÿ,š,Øñ
à)ð
ð ñ
ˆð
 *¨!Õ,ˆØ8<¿¹Ò8O˜Ÿ™ OÔ4ÐUYˆä)Ø-Ø'ô
ð 	
rB   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r€   )r=   r>   s   "€r?   r@   rä   +  s   ø‡ ‚ ñ Ñò rB   )rÕ   rÖ   r×   ©Útext)T©NNNNN)rD   rE   rF   rG   Úinput_modalitiesÚ_input_embed_layerrw   r]   rÇ   r`   r   r   r
   rÌ   rL   rM   rN   rh   ri   s   @@r?   rÒ   rÒ   +  s\   ù‡ € ð !Ðà*Ðà˜ØÐ-ðÐ÷

ð  ØØ÷3
ñ 3
ó ó ó  ð3
÷E … rB   rÒ   c                   ót   a a€ ] tR tRt oR	tRtRtV 3R lt]]	R
V3R lR ll4       4       t
V3R ltRtVtV ;t# )ÚAltCLIPTextModeliƒ  rÓ   Úrobertac                ó,  <€ \         SV `  V4       \        VR R7      V n        \        P
                  ! VP                  VP                  4      V n        \        P                  ! VP                  VP                  R7      V n        V P                  4        R# )F)rÙ   )ÚepsN)r_   r`   rÒ   rõ   rƒ   ÚLinearr,   r9   ÚtransformationÚ	LayerNormÚlayer_norm_epsÚpre_LNrØ   rb   s   &&€r?   r`   ÚAltCLIPTextModel.__init__‰  se   ø€ Ü‰Ñ˜Ô Ü& vÀÔGˆŒÜ Ÿiši¨×(:Ñ(:¸F×<NÑ<NÓOˆÔÜ—l’l 6×#5Ñ#5¸6×;PÑ;PÔQˆŒØ�‰ÖrB   c                ó  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# rÜ   )r®   râ   r   r	   rã   r   )r=   r>   s   "€r?   r@   ÚAltCLIPTextModel.__annotate__’  sŠ   ø€ ÷ 3
ñ 3
á—<‘< $Õ&ð3
ñ Ÿ™ tÕ+ð3
ñ Ÿ™ tÕ+ð	3
ñ
 —l‘l TÕ)ð3
ñ —|‘| dÕ*ð3
ñ Ñ+Õ,ð3
ñ 
Ñ8Õ	8ñ3
rB   c                óè   € V P                   ! RRVRVRVRVRV/VB pV^ ,          pV P                  V4      pV P                  V4      p	V	R,          p
\        V	V
VP                  VP
                  R7      # )	aÓ  
Examples:

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

>>> model = AltCLIPTextModel.from_pretrained("BAAI/AltCLIP")
>>> processor = AutoProcessor.from_pretrained("BAAI/AltCLIP")

>>> texts = ["it's a cat", "it's a dog"]

>>> inputs = processor(text=texts, padding=True, return_tensors="pt")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled CLS states
```rÝ   rÞ   r¿   r­   rß   )ræ   rç   r›   rœ   rC   ):NNNé    )rõ   rü   rù   r   r›   rœ   )rc   rÝ   rÞ   r¿   r­   rß   rà   Úoutputsrê   Úprojection_staterç   s   &&&&&&,    r?   rÌ   ÚAltCLIPTextModel.forward�  s§   € ð: —,’,ñ 
Øð
à)ð
ð *ð
ð &ð	
ð
 (ð
ð ñ
ˆð " !�*ˆð Ÿ+™+ oÓ6ˆð  ×.Ñ.¨Ó?ÐØ(¨Õ.ˆä6Ø.Ø'Ø!×/Ñ/Ø×)Ñ)ô	
ð 	
rB   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r€   )r=   r>   s   "€r?   r@   rÿ   ƒ  s   ø‡ ‚ ÙÑò rB   )rü   rõ   rù   rî   rð   )rD   rE   rF   rG   rñ   rò   Úbase_model_prefixr`   r   r
   rÌ   rL   rM   rN   rh   ri   s   @@r?   rô   rô   ƒ  sD   ù‡ € à ÐØ*ÐØ!Ðõð Ø÷3
ñ 3
ó ó ð3
÷ … rB   rô   c                   óx   a a€ ] tR tRt oV3R lV 3R lltV 3R ltV 3R ltR
V3R lR lltV3R ltR	t	Vt
V ;t# )r¸   iÈ  c                ó    <€ V ^8„  d   QhRS[ /# r   ©rS   )r=   r>   s   "€r?   r@   ÚAltCLIPModel.__annotate__Ë  s   ø€ ÷ Wñ W™}ñ WrB   c                ó  <€ \         SV `  V4       VP                  pVP                  V n        \
        P                  V P                  P                  4      V n        \        P                  V P                  P                  4      V n        R # ro   )r_   r`   Útext_configr9   rº   rô   Ú_from_configrd   Ú
text_modelrÊ   Úvision_configÚvision_model)rc   rd   r  re   s   && €r?   r`   ÚAltCLIPModel.__init__Ë  sb   ø€ Ü‰Ñ˜Ô Ø×(Ñ(ˆØ)×5Ñ5ˆÔÜ*×7Ñ7¸¿¹×8OÑ8OÓPˆŒÜ.×;Ñ;¸D¿K¹K×<UÑ<UÓVˆÖrB   c                ó$   <€ \         SV `  ! R/ VB # )a   
Examples:

```python
>>> import torch
>>> from transformers import AutoProcessor, AltCLIPModel

>>> model = AltCLIPModel.from_pretrained("BAAI/AltCLIP")
>>> processor = AutoProcessor.from_pretrained("BAAI/AltCLIP")

>>> inputs = processor(text=["a photo of a cat", "a photo of a dog"], padding=True, return_tensors="pt")
>>> with torch.inference_mode():
...     text_features = model.get_text_features(**inputs)
```rC   )r_   Úget_text_featuresrÍ   s   &,€r?   r  ÚAltCLIPModel.get_text_featuresÒ  s   ø€ ô ‰wÒ(Ñ8¨<Ñ8Ð8rB   c                ó$   <€ \         SV `  ! R/ VB # )a  
Examples:

```python
>>> import torch
>>> from transformers import AutoProcessor, AltCLIPModel
>>> from transformers.image_utils import load_image

>>> model = AltCLIPModel.from_pretrained("BAAI/AltCLIP")
>>> processor = AutoProcessor.from_pretrained("BAAI/AltCLIP")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = load_image(url)

>>> inputs = processor(images=image, return_tensors="pt")
>>> with torch.inference_mode():
...     image_features = model.get_image_features(**inputs)
```rC   )r_   Úget_image_featuresrÍ   s   &,€r?   r  ÚAltCLIPModel.get_image_featuresã  s   ø€ ô& ‰wÒ)Ñ9¨LÑ9Ð9rB   c                ó(  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R	S[S[,          R
S[S[,          /	# )r*   rÝ   NÚpixel_valuesrÞ   r¿   r­   Úreturn_lossÚinterpolate_pos_encodingrà   rá   )	r®   Ú
LongTensorÚFloatTensorrâ   Úboolr   r	   rã   rW   )r=   r>   s   "€r?   r@   r
  ø  s²   ø€ ÷ L
ñ L
á×#Ñ# dÕ*ðL
ñ ×'Ñ'¨$Õ.ðL
ñ Ÿ™ tÕ+ð	L
ñ
 Ÿ™ tÕ+ðL
ñ ×&Ñ&¨Õ-ðL
ñ ˜D•[ðL
ñ #'ðL
ñ Ñ+Õ,ðL
ñ 
‘Õ	ñL
rB   c                ól  € V P                   ! R	RVRV/VB p	V P                  ! R	RVRVRVRV/VB p
V	^,          pV P                  V4      pV
^,          pV P                  V4      pV\	        V4      ,          pV\	        V4      ,          p\
        P                  ! WËP                  4       P                  VP                  4      4      pWÐP                  P                  4       P                  VP                  4      ,          pVP                  4       pRpV'       d   \        V4      p\        VVVVVV
V	R7      # )
u�  
return_loss (`bool`, *optional*):
    Whether or not to return the contrastive loss.

Examples:

```python
>>> import torch
>>> from transformers import AutoProcessor, AltCLIPModel
>>> from transformers.image_utils import load_image

>>> model = AltCLIPModel.from_pretrained("OFA-Sys/chinese-clip-vit-base-patch16")
>>> processor = AutoProcessor.from_pretrained("OFA-Sys/chinese-clip-vit-base-patch16")

>>> url = "https://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/pokemon.jpeg"
>>> image = load_image(url)

>>> inputs = processor(text=["æ�°å°¼é¾Ÿ", "å¦™è›™ç§�å­�", "å°�ç�«é¾™", "çš®å�¡ä¸˜"], images=image, return_tensors="pt", padding=True)

>>> with torch.inference_mode():
...     outputs = model(**inputs)
>>> logits_per_image = outputs.logits_per_image  # this is the image-text similarity score
>>> probs = logits_per_image.softmax(dim=1)  # we can take the softmax to get the label probabilities
```r  r  rÝ   rÞ   r¿   r­   N)ÚlossÚlogits_per_imageÚlogits_per_textÚtext_embedsÚimage_embedsÚtext_model_outputÚvision_model_outputrC   )r  r  r»   r¹   r   r®   ÚmatmulÚtÚtoÚdeviceÚlogit_scaleÚexpr   rW   )rc   rÝ   r  rÞ   r¿   r­   r  r  rà   Úvision_outputsÚtext_outputsr$  r#  r"  r!  r   s   &&&&&&&&,       r?   rÌ   ÚAltCLIPModel.forwardø  sW  € ðF ×*Ò*ñ 
Ø%ð
à%=ð
ð ñ
ˆð —’ñ 
Øð
à)ð
ð *ð
ð &ð	
ð
 ñ
ˆð & aÕ(ˆØ×-Ñ-¨lÓ;ˆà" 1•oˆØ×*Ñ*¨;Ó7ˆð $Ô&6°|Ó&DÕDˆØ!Ô$4°[Ó$AÕAˆô  Ÿ,š, {·N±NÓ4D×4GÑ4GÈ×HZÑHZÓ4[Ó\ˆØ)×,<Ñ,<×,@Ñ,@Ó,B×,EÑ,EÀk×FXÑFXÓ,YÕYˆØ*×,Ñ,Ó.ÐàˆßÜ.¨Ó?ˆDäØØ-Ø+Ø#Ø%Ø*Ø .ô
ð 	
rB   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r	  )r=   r>   s   "€r?   r@   r
  È  s   ø‡ ‚ ÙÑò rB   )rº   r  r  )NNNNNNF)rD   rE   rF   rG   r`   r  r  rÌ   rL   rM   rN   rh   ri   s   @@r?   r¸   r¸   È  s/   ù‡ € ÷Wó Wõ9õ":÷*L
ò L
÷a … rB   r¸   )rš   rÊ   rô   r¸   r&   rQ   rS   )LrH   r®   Útorch.nnrƒ   Úhuggingface_hub.dataclassesr   Ú r   r¤   Úmasking_utilsr   Úmodeling_outputsr   r   Úmodeling_utilsr   Úprocessing_utilsr   Úutilsr	   r
   r   Úutils.genericr   Úutils.output_capturingr   Ú"chinese_clip.modeling_chinese_clipr   r   r   r   Úclip.configuration_clipr   r   r   Úclip.modeling_clipr   r   r   r   r   r   r   r   r   r   Úroberta.modeling_robertar   r    r!   r"   r#   r&   rQ   rS   rW   r[   r]   rk   rm   rs   ru   rw   r}   rŠ   rŒ   rŽ   r�   r–   r˜   rš   rÊ   rÒ   rô   r¸   Ú__all__rC   rB   r?   Ú<module>r@     s  ðñ ã Ý Ý .å &Ý 6÷õ .Ý &ß IÑ IÝ 7Ý 5÷ó ÷ SÑ R÷÷ ÷ ÷õ ñ ˜>Ô*Øô$)˜ó $)ó ó +ð$)ñN ˜>Ô*ØôÐ*ó ó ó +ðñ$ ˜>Ô*Øô�Jó ó ó +ðô8	�Jô 	ô	Ð,ô 	ôÐ:ô ô	Ð,ô 	ô3Ð2ô 3ô	Ð0ô 	ô	�}ô 	ô/Ð*ô /ôh˜ô hô	�}ô 	ô	�}ô 	ô	�ô 	ô!Ð*ô !ô
	�[ô 	ô	Ð2ô 	ô(/Ð0ô (/ôV/˜ô /ñ6 ðôôL
Ð,ó L
óðL
ô^B
Ð-ô B
ôJ|
Ð#Ð%;ô |
ò~‚rB   