+
    œ°³jN  ã                   óZ  € R t ^ RIt^ RIt^ RIHu Ht ^ RIHt ^ RIH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$ ^RI%H&t&H't' ^RI(H)t)H*t*H+t+ ^RI,H-t-H.t.H/t/ ^RI0H1t1 ]! RR7      ] ! R R]+4      4       4       t2]! RR7      ] ! R R]*4      4       4       t3]! RR7      ] ! R R])4      4       4       t4 ! R R]/4      t5 ! R R]'4      t6 ! R R ]&4      t7 ! R! R"]Pp                  4      t9 ! R# R$]#4      t: ! R% R&]-4      t; ! R' R(]4      t< ! R) R*].4      t= ! R+ R,]Pp                  4      t>] ! R- R.]4      4       t?]! R/R07       ! R1 R2]?4      4       t@]! R3R07       ! R4 R5]?4      4       tA] ! R6 R7]"4      4       tB. R8OtCR# )9z%Pytorch implementation of AIMv2 ModelN)Ústrict)Únn)Úinitialization)ÚPreTrainedConfig)Úcreate_causal_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚBaseModelOutputWithPooling)ÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚcan_return_tuple)Úmerge_with_config_defaults)Úcapture_outputs)Ú	CLIPModelÚCLIPTextEmbeddingsÚ_get_vector_norm)ÚLlamaMLPÚLlamaRMSNorm)ÚSiglipConfigÚSiglipTextConfigÚSiglipVisionConfig)ÚSiglipAttentionÚSiglipEncoderÚSiglipOutput)Ú&build_2d_sinusoidal_position_embeddingz!apple/aimv2-large-patch14-224-lit)Ú
checkpointc                   ór   a € ] tR t^)t o RtRtRt^t^t^t	Rt
RtRtRtRtRtR	tRt]! 4       tV 3R
 ltRtV tR# )ÚAimv2VisionConfiga­  
use_head (`str`, *optional*, defaults to `True`):
    Whether to use Attention Pooling Head or Not.
is_native (`str`, *optional*, defaults to `False`):
    Whether to use ckpt trained for image native resolution or not.

Example:

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

>>> # Initializing a Aimv2VisionConfig with apple/aimv2-large-patch14-224 style configuration
>>> configuration = Aimv2VisionConfig()

>>> # Initializing a Aimv2VisionModel (with random weights) from the apple/aimv2-large-patch14-224 style configuration
>>> model = Aimv2VisionModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```i   i   çñhãˆµøä>ç        FÚsiluç{®Gáz”?Tc                ó  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ S[S[ ,          ,          S[S[ S[ 3,          ,          ;R&   S[;R&   S[S[ ,          ;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   # )é   Úhidden_sizeÚintermediate_sizeÚnum_hidden_layersÚnum_attention_headsÚ
patch_sizeÚrms_norm_epsÚattention_dropoutÚqkv_biasÚmlp_biasÚ
hidden_actÚinitializer_rangeÚuse_headÚ	is_native)ÚintÚlistÚtupleÚfloatÚboolÚstr)ÚformatÚ__classdict__s   "€Úh/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/aimv2/modular_aimv2.pyÚ__annotate__ÚAimv2VisionConfig.__annotate__)   sÑ   ø‡ ‚ ñ0 Ññ1 ñ2 Ñ!ñ3 ñ4 Ññ5 ñ6 Ñ ñ7 ñ8 ‘d™3•i•¡%©©S¨¥/Õ1Ñ6ñ9 ñ: Ññ; ñ< ™s•{Ñ(ñ= ñ> Ññ? ñ@ ÑñA ñB ÑñC ñD Ñ#ñE ñF ÑñG ñH ÑòI ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   ÚAttributeErrorÚlayer_norm_epsÚ__annotate_func__Ú__static_attributes__Ú__classdictcell__©r:   s   @r;   r   r   )   sb   ø‡ € ñð* €KØ!ÐØÐØ ÐØ46€JØ€LØ%(ÐØ€HØ€HØ€JØ#ÐØ€HØ€Iá#Ó%€N÷M ƒ r>   r   c                   ó–   a € ] tR t^Rt o RtRtRt^t^t^Mt	Rt
RtRtRtRt]! 4       t]! 4       t]! 4       t]! 4       tR tV 3R	 ltR
tV tR# )ÚAimv2TextConfigi Á  i   i   r"   r    Fr#   c                ó2   € \         P                  ! R/ VB  R # )Nr?   )r   Ú__post_init__)ÚselfÚkwargss   &,r;   rN   ÚAimv2TextConfig.__post_init__e   s   € Ü×&Ò&Ñ0¨Ô0r>   c                óž   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   # )r%   Ú
vocab_sizer&   r'   r(   r)   Úmax_position_embeddingsr/   r+   r-   r.   r0   )r3   r8   r6   r7   )r9   r:   s   "€r;   r<   ÚAimv2TextConfig.__annotate__R   s”   ø‡ ‚ ñ Ññ ñ Ññ	 ñ
 Ñ!ñ ñ Ññ ñ Ñ ñ ñ !Ñ%ñ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ#ò r>   r?   N)r@   rA   rB   rC   rS   r&   r'   r(   r)   rT   r/   r+   r-   r.   r0   rE   Úbos_token_idÚpad_token_idrF   Úprojection_sizerN   rG   rH   rI   rJ   s   @r;   rL   rL   R   so   ø‡ € ð €JØ€KØ!ÐØÐØ ÐØ#%ÐØ€JØ€LØ€HØ€HØ#ÐÙ!Ó#€LÙ!Ó#€LÙ#Ó%€NÙ$Ó&€Oò1÷' ƒ r>   rL   c                   ó<   a € ] tR t^it o RtRtRtRtV 3R ltRt	V t
R# )ÚAimv2Configa‡  
max_logit_scale (`float`, *optional*, defaults to `100.0`):
    The maximum logit scale to use

Example:

```python
>>> from transformers import Aimv2Config, Aimv2Model

>>> # Initializing a Aimv2Config with apple/aimv2-large-patch14-224-lit style configuration
>>> configuration = Aimv2Config()

>>> # Initializing a Aimv2Model (with random weights) from the apple/aimv2-large-patch14-224-lit style configuration
>>> model = Aimv2Model(configuration)

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

>>> # We can also initialize a Aimv2Config from a Aimv2TextConfig and a Aimv2VisionConfig
>>> from transformers import Aimv2TextConfig, Aimv2VisionConfig

>>> # Initializing a AIMv2Text and AIMv2Vision configuration
>>> config_text = Aimv2TextConfig()
>>> config_vision = Aimv2VisionConfig()

>>> config = Aimv2Config(text_config=config_text, vision_config=config_vision)
```i   gƒ/L¦
F@g      Y@c                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )r%   Úprojection_dimÚlogit_scale_init_valueÚmax_logit_scale)r3   r6   )r9   r:   s   "€r;   r<   ÚAimv2Config.__annotate__i   s0   ø‡ ‚ ñ> Ññ? ñ@ "Ñ*ñA ñB Ñ"òC r>   r?   N)r@   rA   rB   rC   rD   r\   r]   r^   rG   rH   rI   rJ   s   @r;   rZ   rZ   i   s$   ø‡ € ñð8 €NØ$*ÐØ"€O÷C ƒ r>   rZ   c                   ó   € ] tR t^�tRtR# )ÚAimv2Outputr?   N©r@   rA   rB   rC   rH   r?   r>   r;   ra   ra   �   ó   † Ûr>   ra   c                   ó   € ] tR t^‘tRtR# )ÚAimv2RMSNormr?   Nrb   r?   r>   r;   re   re   ‘   rc   r>   re   c                   ó   € ] tR t^•tRtR# )ÚAimv2MLPr?   Nrb   r?   r>   r;   rg   rg   •   rc   r>   rg   c                   óP   a a€ ] tR t^™t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚAimv2VisionEmbeddingsc                ó    <€ V ^8„  d   QhRS[ /# ©r%   Úconfig©r   )r9   r:   s   "€r;   r<   Ú"Aimv2VisionEmbeddings.__annotate__š   s   ø€ ÷ cñ cÑ0ñ cr>   c                ót  <€ \         SV `  4        Wn        VP                  V n        \        P
                  ! VP                  VP                  VP                  VP                  R 7      V n        \        VP                  VP                  4      V n        VP                  VP                  ,          ^,          pV P                  P                  '       g&   \        P                  ! W!P                  4      V n        \        P                   ! \"        P$                  ! V4      P'                  R4      RR7      V n        R# ))Úkernel_sizeÚstrideF)Ú
persistentN©é   éÿÿÿÿ)ÚsuperÚ__init__rl   r*   r   ÚConv2dÚnum_channelsr&   Úpatch_embedre   r+   Úrms_normÚ
image_sizer2   Ú	EmbeddingÚposition_embeddingÚBufferÚtorchÚarangeÚexpandÚposition_ids)rO   rl   Únum_patchesÚ	__class__s   && €r;   rw   ÚAimv2VisionEmbeddings.__init__š   sÙ   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒÜŸ9š9Ø×Ñ ×!3Ñ!3À×ARÑARÐ[a×[lÑ[lô
ˆÔô % V×%7Ñ%7¸×9LÑ9LÓMˆŒà×(Ñ(¨F×,=Ñ,=Õ=À!ÕCˆØ�{‰{×$×$Ð$Ü&(§l¢l°;×@RÑ@RÓ&SˆDÔ#ÜŸIšI¤e§l¢l°;Ó&?×&FÑ&FÀwÓ&OÐ\aÔbˆÖr>   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r%   Úpixel_valuesÚreturn©r€   ÚTensor)r9   r:   s   "€r;   r<   rn   ¨   s#   ø€ ÷ ñ ¡E§L¡Lð ±U·\±\ñ r>   c                ó–  € VP                  4       w   r#pV P                  V4      P                  ^4      P                  ^^4      pV P	                  V4      pV P
                  P                  '       dµ   \        W0P                  ,          W@P                  ,          V P
                  P                  VP                  VP                  R7      pVP                  R,          ^,          p\        P                  ! VRVR13,          VRRV13,          .RR7      pVP                  ^ 4      pMV P!                  V P"                  4      pWV,           pV# )r%   )ÚheightÚwidthÚ	embed_dimÚdeviceÚdtype.N©Údimru   )Úsizerz   ÚflattenÚ	transposer{   rl   r2   r   r*   r&   r�   r‘   Úshaper€   ÚcatÚ	unsqueezer~   rƒ   )rO   rˆ   Ú_r�   rŽ   Úhidden_statesÚ	pos_embedÚhalfs   &&      r;   ÚforwardÚAimv2VisionEmbeddings.forward¨   s  € Ø*×/Ñ/Ó1Ñˆˆ1�eØ×(Ñ(¨Ó6×>Ñ>¸qÓA×KÑKÈAÈqÓQˆØŸ™ mÓ4ˆà�;‰;× × Ð Ü>Ø§¡Õ0ØŸ™Õ.ØŸ+™+×1Ñ1Ø$×+Ñ+Ø#×)Ñ)ôˆIð —?‘? 2Õ&¨!Õ+ˆDÜŸ	š	 9¨S°$±%¨ZÕ#8¸)ÀCÈÈ$ÈÀJÕ:OÐ"PÐVXÔYˆIØ!×+Ñ+¨AÓ.‰Ià×/Ñ/°×0AÑ0AÓBˆIà%Õ1ˆØÐr>   )rl   rz   r*   r~   rƒ   r{   ©	r@   rA   rB   rC   rw   rž   rH   rI   Ú__classcell__©r…   r:   s   @@r;   ri   ri   ™   s    ù‡ € ÷có c÷÷ ð r>   ri   c                   ó   € ] tR t^ÁtRtR# )ÚAimv2TextEmbeddingsr?   Nrb   r?   r>   r;   r¤   r¤   Á   rc   r>   r¤   c                   ó2   a a€ ] tR t^Åt oV 3R ltRtVtV ;t# )ÚAimv2Attentionc                ó  <€ \         SV `  V4       \        P                  ! V P                  V P                  VP
                  R 7      V n        \        P                  ! V P                  V P                  VP
                  R 7      V n        \        P                  ! V P                  V P                  VP
                  R 7      V n        \        P                  ! V P                  V P                  VP
                  R 7      V n	        R# )©ÚbiasN)
rv   rw   r   ÚLinearr�   r-   Úk_projÚv_projÚq_projÚout_proj©rO   rl   r…   s   &&€r;   rw   ÚAimv2Attention.__init__Æ   s�   ø€ Ü‰Ñ˜Ô Ü—i’i §¡°·±ÀVÇ_Á_ÔUˆŒÜ—i’i §¡°·±ÀVÇ_Á_ÔUˆŒÜ—i’i §¡°·±ÀVÇ_Á_ÔUˆŒÜŸ	š	 $§.¡.°$·.±.ÀvÇÁÔWˆŽr>   )r«   r®   r­   r¬   )r@   rA   rB   rC   rw   rH   rI   r¡   r¢   s   @@r;   r¦   r¦   Å   s   ù‡ € ÷Xõ Xr>   r¦   c                   óT   a a€ ] tR t^Ît oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚAimv2EncoderLayerc                ó    <€ V ^8„  d   QhRS[ /# rk   rm   )r9   r:   s   "€r;   r<   ÚAimv2EncoderLayer.__annotate__Ï   s   ø€ ÷ Oñ OÑ0ñ Or>   c                óø   <€ \         SV `  4        \        V4      V n        \	        V4      V n        \        VP                  VP                  4      V n	        \        VP                  VP                  4      V n
        R # ©N)rv   rw   r¦   Ú	attentionrg   Úffnre   r&   r+   Ú	rms_norm1Ú	rms_norm2r¯   s   &&€r;   rw   ÚAimv2EncoderLayer.__init__Ï   sZ   ø€ Ü‰ÑÔÜ'¨Ó/ˆŒÜ˜FÓ#ˆŒÜ% f×&8Ñ&8¸&×:MÑ:MÓNˆŒÜ% f×&8Ñ&8¸&×:MÑ:MÓNˆŽr>   c                óŒ   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[S[,          RS[ P                  /# )r%   r›   Úattention_maskNrP   r‰   )r€   r‹   r   r   )r9   r:   s   "€r;   r<   r´   Ö   sJ   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ Ñ+Õ,ð	ñ
 
�‰ñr>   c                ó¼   € V P                  V4      pV P                  ! RR VRV/VB w  rVW,           pV P                  V4      pV P                  V4      pW,           pV# )r›   r½   r?   )r¹   r·   rº   r¸   )rO   r›   r½   rP   Únorm_hidden_statesÚattn_outputrš   Ú
mlp_outputs   &&&,    r;   rž   ÚAimv2EncoderLayer.forwardÖ   sg   € ð "Ÿ^™^¨MÓ:ÐØŸšÑrÐ6HÐrÐYgÐrÐkqÑr‰ˆà%Õ3ˆØ!Ÿ^™^¨MÓ:ÐØ—X‘XÐ0Ó1ˆ
à%Õ2ˆØÐr>   )r·   r¸   r¹   rº   r¶   r    r¢   s   @@r;   r²   r²   Î   s    ù‡ € ÷Oó O÷÷ ò r>   r²   c                   ó   € ] tR t^çtRtR# )ÚAimv2Encoderr?   Nrb   r?   r>   r;   rÄ   rÄ   ç   rc   r>   rÄ   c                   óP   a a€ ] tR t^ët oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚAimv2AttentionPoolingHeadc                ó    <€ V ^8„  d   QhRS[ /# rk   rm   )r9   r:   s   "€r;   r<   Ú&Aimv2AttentionPoolingHead.__annotate__ì   s   ø€ ÷ 	Tñ 	TÑ0ñ 	Tr>   c                ó2  <€ \         SV `  4        VP                  V n        VP                  V n        \
        P                  ! V P                  V P                  VP                  R 7      V n        \
        P                  ! V P                  V P                  VP                  R 7      V n	        \
        P                  ! \        P                  ! ^^V P                  4      4      V n        \
        P                  ! V P                  V P                  RR 7      V n        R# )r¨   TN)rv   rw   r&   r)   Ú	num_headsr   rª   r-   r«   r¬   Ú	Parameterr€   ÚzerosÚ	cls_tokenÚoutput_projr¯   s   &&€r;   rw   Ú"Aimv2AttentionPoolingHead.__init__ì   sµ   ø€ Ü‰ÑÔØ!×-Ñ-ˆÔØ×3Ñ3ˆŒä—i’i × 0Ñ 0°$×2BÑ2BÈÏÉÔYˆŒÜ—i’i × 0Ñ 0°$×2BÑ2BÈÏÉÔYˆŒäŸš¤e§k¢k°!°Q¸×8HÑ8HÓ&IÓJˆŒÜŸ9š9 T×%5Ñ%5°t×7GÑ7GÈdÔSˆÖr>   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r%   r›   r‰   rŠ   )r9   r:   s   "€r;   r<   rÈ   ÷   s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r>   c                óÜ  € VP                   w  r#pV P                  P                  VRR4      pV P                  V4      P	                  W#V P
                  W@P
                  ,          4      pV P                  V4      P	                  W#V P
                  W@P
                  ,          4      pVP	                  V^V P
                  W@P
                  ,          4      pVP                  ^ ^^^4      pVP                  ^ ^^^4      pVP                  ^ ^^^4      p\        P                  ! W†V4      p	V	P                  ^^4      P	                  V^V4      p	V	P                  ^R7      p	V P                  V	4      p
V
# )rt   r’   ru   )r—   rÍ   r‚   r«   ÚreshaperÊ   r¬   ÚpermuteÚFÚscaled_dot_product_attentionr–   ÚmeanrÎ   )rO   r›   Ú
batch_sizeÚseq_lenÚ
hidden_dimrÍ   ÚkeyÚvalueÚqueryrÀ   Úoutputs   &&         r;   rž   Ú!Aimv2AttentionPoolingHead.forward÷   s8  € Ø*7×*=Ñ*=Ñ'ˆ
˜Zà—N‘N×)Ñ)¨*°b¸"Ó=ˆ	à�k‰k˜-Ó(×0Ñ0°ÀdÇnÁnÐV`×drÑdrÕVrÓsˆØ—‘˜MÓ*×2Ñ2°:ÈÏÉÐXb×ftÑftÕXtÓuˆØ×!Ñ! *¨a°·±ÀÏ~É~ÕA]Ó^ˆà�k‰k˜!˜Q  1Ó%ˆØ—‘˜a  A qÓ)ˆØ—‘˜a  A qÓ)ˆä×4Ò4°UÀÓGˆà!×+Ñ+¨A¨qÓ1×9Ñ9¸*ÀaÈÓTˆØ!×&Ñ&¨1Ð&Ó-ˆà×!Ñ! +Ó.ˆØˆr>   )rÍ   r&   r«   rÊ   rÎ   r¬   r    r¢   s   @@r;   rÆ   rÆ   ë   s    ù‡ € ÷	Tó 	T÷÷ ð r>   rÆ   c                   óŠ   a a€ ] tR tRt oRtRtRtRt. R	OtRt	Rt
Rt]P                  ! 4       V 3R l4       tV3R ltRtVtV ;t# )
ÚAimv2PreTrainedModeli  zÃ
An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained
models. The model is only intended for inference and doesn't support finetuning.
Úaimv2Tc                óŠ  <€ \         SV `  V4       \        VR 4      '       dd   \        VP                  \
        P                  4      '       d8   \        P                  ! VP                  \        P                  ! R4      4       R# R# \        V\        4      '       d:   \        P                  ! VP                  RV P                  P                  R7       R# \        V\         4      '       db   \        P"                  ! VP$                  \&        P(                  ! VP$                  P*                  R,          4      P-                  R4      4       R# \        V\.        4      '       db   \        P"                  ! VP$                  \&        P(                  ! VP$                  P*                  R,          4      P-                  R4      4       R# R# )Úlogit_scaler!   )rÖ   ÚstdNg$I’$I’,@ru   rs   )rv   Ú_init_weightsÚhasattrÚ
isinstancerã   r   rË   ÚinitÚ	constant_ÚmathÚlogrÆ   Únormal_rÍ   rl   r0   ri   Úcopy_rƒ   r€   r�   r—   r‚   r¤   )rO   Úmoduler…   s   &&€r;   rå   Ú"Aimv2PreTrainedModel._init_weights"  s  ø€ ä‰Ñ˜fÔ%Ü�6˜=×)Ò)Ü˜&×,Ñ,¬b¯l©l×;Ò;Ü—’˜v×1Ñ1´4·8²8¸HÓ3EÖFñ <ä˜Ô 9×:Ò:Ü�LŠL˜×)Ñ)°¸¿¹×9VÑ9V×WÜ˜Ô 5×6Ò6Ü�JŠJ�v×*Ñ*¬E¯LªL¸×9LÑ9L×9RÑ9RÐSUÕ9VÓ,W×,^Ñ,^Ð_fÓ,gÖhÜ˜Ô 3×4Ò4Ü�JŠJ�v×*Ñ*¬E¯LªL¸×9LÑ9L×9RÑ9RÐSUÕ9VÓ,W×,^Ñ,^Ð_fÓ,gÖhñ 5r>   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rk   ©rZ   )r9   r:   s   "€r;   r<   Ú!Aimv2PreTrainedModel.__annotate__  s   ø‡ ‚ ñ Ñò r>   r?   )Úimage)r²   rÆ   ri   r¤   )r@   rA   rB   rC   rD   Úbase_model_prefixÚinput_modalitiesÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_supports_sdpaÚ_supports_flash_attnÚ_supports_flex_attnr€   Úno_gradrå   rG   rH   rI   r¡   r¢   s   @@r;   rà   rà     sZ   ù‡ € ñð  ÐØ!ÐØ&*Ð#òÐð €NØÐØÐà
‡]‚]ƒ_ô
ió ð
i÷- … r>   rà   zL
    The Vision model from AIMv2 without any head or projection on top.
    )Úcustom_introc                   óª   a a€ ] tR tRt oRtR]R]/tV3R lV 3R lltV3R lR lt	]
]! R	R
7      ]V3R lR l4       4       4       tV3R ltRtVtV ;t# )ÚAimv2VisionModeli0  rˆ   r›   Ú
attentionsc                ó    <€ V ^8„  d   QhRS[ /# rk   rm   )r9   r:   s   "€r;   r<   ÚAimv2VisionModel.__annotate__=  s   ø€ ÷ ñ Ñ0ñ r>   c                óB  <€ \         SV `  V4       Wn        \        V4      V n        \        V4      V n        \        VP                  VP                  4      V n
        VP                  V n        V P                  '       d   \        V4      V n        V P                  4        R # r¶   )rv   rw   rl   ri   Ú
embeddingsrÄ   Úencoderre   r&   r+   r{   r1   rÆ   ÚheadÚ	post_initr¯   s   &&€r;   rw   ÚAimv2VisionModel.__init__=  sq   ø€ Ü‰Ñ˜Ô ØŒÜ/°Ó7ˆŒÜ# FÓ+ˆŒä$ V×%7Ñ%7¸×9LÑ9LÓMˆŒàŸ™ˆŒØ�=�=ˆ=Ü1°&Ó9ˆDŒIà�‰Ör>   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r%   r‰   ©r   ÚModule)r9   r:   s   "€r;   r<   r  K  s   ø€ ÷ +ñ +¡b§i¡iñ +r>   c                ó.   € V P                   P                  # r¶   )r  rz   ©rO   s   &r;   Úget_input_embeddingsÚ%Aimv2VisionModel.get_input_embeddingsK  s   € Ø�‰×*Ñ*Ð*r>   F©Útie_last_hidden_statesc                ó6   <€ V ^8„  d   QhRS[ S[,          RS[/# )r%   rP   r‰   )r   r   r	   )r9   r:   s   "€r;   r<   r  Q  s'   ø€ ÷ *
ñ *
ñ Ñ+Õ,ð*
ñ 
$ñ	*
r>   c                óê   € V P                  V4      pV P                  ! RRV/VB pVP                  pV P                  V4      pV P                  '       d   V P                  V4      MRp\        VVR7      # )a³  
Examples:

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

>>> model = Aimv2VisionModel.from_pretrained("apple/aimv2-large-patch14-native")
>>> processor = AutoProcessor.from_pretrained("apple/aimv2-large-patch14-native")

>>> 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 features
```Úinputs_embedsN©Úlast_hidden_stateÚpooler_outputr?   )r  r  r  r{   r1   r  r	   )rO   rˆ   rP   r›   Úencoder_outputsr  r  s   &&,    r;   rž   ÚAimv2VisionModel.forwardN  sz   € ð< Ÿ™¨Ó5ˆà+/¯<ª<ñ ,
Ø'ð,
àñ,
ˆð
 ,×=Ñ=ÐØ ŸM™MÐ*;Ó<Ðà8<¿¿¸˜Ÿ	™	Ð"3Ô4È4ˆä)Ø/Ø'ô
ð 	
r>   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rk   rm   )r9   r:   s   "€r;   r<   r  0  s   ø‡ ‚ ñ Ñò r>   )rl   r  r  r  r{   r1   )r@   rA   rB   rC   Úmain_input_namer²   r¦   Ú_can_record_outputsrw   r  r   r   r   rž   rG   rH   rI   r¡   r¢   s   @@r;   rþ   rþ   0  sd   ù‡ € ð %€OàÐ*Ø�nðÐ÷
ó ÷+ð +ð  Ù¨EÔ2Ø÷*
ó ó 3ó  ð*
÷C … r>   rþ   zJ
    The text model from AIMv2 without any head or projection on top.
    c                   ó¨   a a€ ] tR tRt oRtR]R]/tV3R lV 3R lltV3R lR lt	R	 t
]]! R
R7      ]RV3R lR ll4       4       4       tRtVtV ;t# )ÚAimv2TextModeli~  Ú	input_idsr›   rÿ   c                ó    <€ V ^8„  d   QhRS[ /# rk   )rL   )r9   r:   s   "€r;   r<   ÚAimv2TextModel.__annotate__‹  s   ø€ ÷ 	ñ 	™ñ 	r>   c                óþ   <€ \         SV `  V4       Wn        \        V4      V n        \        V4      V n        \        VP                  VP                  4      V n
        VP                  V n        V P                  4        R # r¶   )rv   rw   rl   r¤   r  rÄ   r  re   r&   r+   r{   Úeos_token_idr  r¯   s   &&€r;   rw   ÚAimv2TextModel.__init__‹  s_   ø€ Ü‰Ñ˜Ô ØŒÜ-¨fÓ5ˆŒÜ# FÓ+ˆŒÜ$ V×%7Ñ%7¸×9LÑ9LÓMˆŒà"×/Ñ/ˆÔà�‰Ör>   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r	  r
  )r9   r:   s   "€r;   r<   r!  –  s   ø€ ÷ /ñ /¡b§i¡iñ /r>   c                ó.   € V P                   P                  # r¶   ©r  Útoken_embeddingr  s   &r;   r  Ú#Aimv2TextModel.get_input_embeddings–  s   € Ø�‰×.Ñ.Ð.r>   c                ó&   € WP                   n        R # r¶   r'  )rO   rÛ   s   &&r;   Úset_input_embeddingsÚ#Aimv2TextModel.set_input_embeddings™  s   € Ø*/�‰Ö'r>   Fr  c                ó^   <€ V ^8„  d   QhRS[ P                  R,          RS[S[,          RS[/# )r%   r½   NrP   r‰   )r€   r‹   r   r   r	   )r9   r:   s   "€r;   r<   r!  Ÿ  s:   ø€ ÷ &
ñ &
ñ Ÿ™ tÕ+ð&
ñ Ñ+Õ,ð	&
ñ
 
$ñ&
r>   c                óÂ  € V P                  V4      pVP                  w  rVp\        P                  ! V\        P                  VP
                  R 7      pVP                  ^ 4      P                  VR4      pVe   \        V P                  VVVRR7      pV P                  ! R	RVRV/VB p	V	P                  p
V P                  V
4      p
V
\        P                  ! V
P                  ^ ,          V
P
                  R7      VP                  \        P                  V
P
                  R 7      V P                  8H  P                  4       P!                  RR7      3,          p\#        V
VR7      # )
)r‘   r�   N)rl   r  rƒ   r½   Úpast_key_valuesr  r½   )r�   r’   r  ru   r?   )r  r—   r€   r�   Úlongr�   r™   r‚   r   rl   r  r  r{   Útor3   r#  Úargmaxr	   )rO   r  r½   rP   r›   r×   rØ   rš   rƒ   r  r  Úpooled_outputs   &&&,        r;   rž   ÚAimv2TextModel.forwardœ  sL  € ð Ÿ™¨	Ó2ˆØ!.×!4Ñ!4Ñˆ
˜Qä—|’| G´5·:±:Àm×FZÑFZÔ[ˆØ#×-Ñ-¨aÓ0×7Ñ7¸
ÀBÓGˆØÒ%Ü/Ø—{‘{Ø+Ø)Ø-Ø $ôˆNð Ÿ,š,ñ 
Ø'ð
à)ð
ð ñ
ˆð ,×=Ñ=ÐØ ŸM™MÐ*;Ó<Ðð *Ü�LŠLÐ*×0Ñ0°Õ3Ð<M×<TÑ<TÔUØ�\‰\¤§	¡	Ð2C×2JÑ2Jˆ\ÓKÈt×O`ÑO`Ñ`×eÑeÓg×nÑnÐsuÐnÓvðxõ
ˆô
 *Ø/Ø'ô
ð 	
r>   )rl   r  r  r#  r{   r¶   )r@   rA   rB   rC   r  r²   r¦   r  rw   r  r+  r   r   r   rž   rH   rI   r¡   r¢   s   @@r;   r  r  ~  sm   ù‡ € ð "€Oð 	Ð*Ø�nðÐ÷
	ó 	÷/ð /ò0ð  Ù¨EÔ2Ø÷&
ñ &
ó ó 3ó  ÷&
ð &
r>   r  c                   ó`   a € ] tR tRt o RtV 3R lR lt]]R	V 3R lR ll4       4       tRt	V t
R# )
Ú
Aimv2ModeliÈ  Tc                ó    <€ V ^8„  d   QhRS[ /# rk   rñ   )r9   r:   s   "€r;   r<   ÚAimv2Model.__annotate__Ì  s   ø€ ÷ ñ ™{ñ r>   c                ó  € \         P                  ! W4       VP                  V n        VP                  P                  V n        VP                  P                  V n        \        P                  VP                  4      V n
        \        P                  VP                  4      V n        \        P                  ! V P
                  V P                  R R7      V n        \        P                  ! V P                  V P                  R R7      V n        \        P"                  ! \$        P&                  ! V P(                  P*                  4      4      V n        \.        P0                  ! VP2                  4      V n        V P7                  4        R# )Fr¨   N)r
   rw   r\   Úvision_configr&   Úvision_embed_dimÚtext_configÚtext_embed_dimrþ   Ú_from_configÚvision_modelr  Ú
text_modelr   rª   Úvisual_projectionÚtext_projectionrË   r€   Útensorrl   r]   rã   rê   rë   r^   Úmax_log_logit_scaler  )rO   rl   s   &&r;   rw   ÚAimv2Model.__init__Ì  s   € Ü× Ò  Ô.à$×3Ñ3ˆÔØ &× 4Ñ 4× @Ñ @ˆÔØ$×0Ñ0×<Ñ<ˆÔä,×9Ñ9¸&×:NÑ:NÓOˆÔÜ(×5Ñ5°f×6HÑ6HÓIˆŒä!#§¢¨4×+@Ñ+@À$×BUÑBUÐ\aÔ!bˆÔÜ!Ÿyšy¨×)<Ñ)<¸d×>QÑ>QÐX]Ô^ˆÔäŸ<š<¬¯ª°T·[±[×5WÑ5WÓ(XÓYˆÔÜ#'§8¢8¨F×,BÑ,BÓ#CˆÔ à�‰Ör>   Nc          
      ó®   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# )r%   r  Nrˆ   r½   rP   r‰   )r€   Ú
LongTensorÚFloatTensorr‹   r   r   ra   )r9   r:   s   "€r;   r<   r8  à  sb   ø€ ÷ ?
ñ ?
á×#Ñ# dÕ*ð?
ñ ×'Ñ'¨$Õ.ð?
ñ Ÿ™ tÕ+ð	?
ñ
 Ñ+Õ,ð?
ñ 
ñ?
r>   c           	     ó(  € V P                   ! RRV/VB pV P                  ! RRVRV/VB pVP                  pV P                  V4      pVP                  pV P	                  V4      pV\        V4      ,          pV\        V4      ,          pV P                  P                  RV P                  4      P                  4       P                  VP                  4      p	W˜,          VP                  4       ,          p
V
P                  4       p\        VV
VVVVR7      # )aD  
Examples:

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

>>> model = Aimv2Model.from_pretrained("apple/aimv2-large-patch14-224-lit")
>>> processor = AutoProcessor.from_pretrained("apple/aimv2-large-patch14-224-lit")

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

>>> inputs = processor(
...     text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True
... )

>>> 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!   )Úlogits_per_imageÚlogits_per_textÚtext_embedsÚimage_embedsÚtext_model_outputÚvision_model_outputr?   )r?  r@  r  rA  rB  r   rã   ÚclamprD  Úexpr1  r�   Útra   )rO   r  rˆ   r½   rP   Úvision_outputsÚtext_outputsrM  rL  rã   rK  rJ  s   &&&&,       r;   rž   ÚAimv2Model.forwardÞ  s$  € ðB 6:×5FÒ5Fñ 6
Ø%ð6
àñ6
ˆð
 48·?²?ñ 4
Øð4
à)ð4
ð ñ4
ˆð &×3Ñ3ˆØ×-Ñ-¨lÓ;ˆà"×0Ñ0ˆØ×*Ñ*¨;Ó7ˆð $Ô&6°|Ó&DÕDˆØ!Ô$4°[Ó$AÕAˆà×&Ñ&×,Ñ,¨S°$×2JÑ2JÓK×OÑOÓQ×TÑTÐU`×UgÑUgÓhˆØ&Õ4¸¿¹Ó8HÕHˆØ*×,Ñ,Ó.ÐäØ-Ø+Ø#Ø%Ø*Ø .ô
ð 	
r>   )	rã   rD  r\   r=  r@  rB  r;  r?  rA  )NNN)r@   rA   rB   rC   rù   rw   r   r   rž   rH   rI   rJ   s   @r;   r6  r6  È  s6   ø‡ € àÐ÷ð ð$ Ø÷?
ñ ?
ó ó ö?
r>   r6  )rZ   r   rL   rþ   r6  rà   r  )DrD   rê   r€   Útorch.nn.functionalr   Ú
functionalrÔ   Úhuggingface_hub.dataclassesr   Ú r   rè   Úconfiguration_utilsr   Úmasking_utilsr   Úmodeling_layersr   Úmodeling_outputsr   r	   Úmodeling_utilsr
   Úprocessing_utilsr   Úutilsr   r   r   Úutils.genericr   Úutils.output_capturingr   Úclip.modeling_clipr   r   r   Úllama.modeling_llamar   r   Úsiglip.configuration_siglipr   r   r   Úsiglip.modeling_siglipr   r   r   Úvit_mae.modeling_vit_maer   r   rL   rZ   ra   re   rg   r  ri   r¤   r¦   r²   rÄ   rÆ   rà   rþ   r  r6  Ú__all__r?   r>   r;   Ú<module>ri     sê  ðñ ,ã ã ß Ð Ý .Ý å &Ý 3Ý /Ý 9ß KÝ -Ý &ß IÑ IÝ 7Ý 5ß PÑ Pß 9ß \Ñ \ß QÑ QÝ Mñ Ð>Ô?Øô$&Ð*ó $&ó ó @ð$&ñN Ð>Ô?Øô1Ð&ó 1ó ó @ð1ñ* Ð>Ô?Øô#�,ó #ó ó @ð#ôD	�,ô 	ô	�<ô 	ô	ˆxô 	ô%˜BŸI™Iô %ôP	Ð,ô 	ôX�_ô XôÐ2ô ô2	�=ô 	ô §	¡	ô ðD ôi˜?ó ió ðiñD ðôô
F
Ð+ó F
óð
F
ñR ðôô
B
Ð)ó B
óð
B
ðJ ôV
�ó V
ó ðV
òr‚r>   