+
    œ°³jð ã                   óž  € R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	t	^ RI	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 ^RIHtHtHtHt ^RIH t H!t! ^RI"H#t# ^RI$H%t%H&t&H't'H(t(H)t)H*t* ^RI+H,t, ^RI-H.t.H/t/ ^RI0H1t1H2t2H3t3 ])Ph                  ! ]54      t6]' ! R R]!4      4       t7RIR R llt8RJR R llt9]'] ! R R]4      4       4       t:]'! RR7      ] ! R R]%4      4       4       t;]'! RR7      ] ! R  R!]%4      4       4       t< ! R" R#]
Pz                  4      t>RKR$ R% llt? ! R& R']
Pz                  4      t@ ! R( R)]
Pz                  4      tA ! R* R+]4      tB ! R, R-]
Pz                  4      tC ! R. R/]74      tD ! R0 R1]
Pz                  4      tE ! R2 R3]
Pz                  4      tF ! R4 R5]
Pz                  4      tG ! R6 R7]4      tH ! R8 R9]74      tI ! R: R;]74      tJ ! R< R=]74      tK]'! R>R7       ! R? R@]7]4      4       tL ! RA RB]
Pz                  4      tM]'! RCR7       ! RD RE]74      4       tN]'! RFR7       ! RG RH]7]4      4       tO. RLOtPR# )MzPyTorch KOSMOS-2 model.N)ÚCallable)Ú	dataclass)ÚAny)Únn)Úinitialization)ÚACT2FN)ÚCacheÚDynamicCacheÚEncoderDecoderCache)ÚGenerationMixin)ÚFlashAttentionKwargs)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚ)BaseModelOutputWithPastAndCrossAttentionsÚBaseModelOutputWithPoolingÚ!CausalLMOutputWithCrossAttentions)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚModelOutputÚTransformersKwargsÚauto_docstringÚcan_return_tupleÚloggingÚ	torch_int)Úmerge_with_config_defaults)ÚOutputRecorderÚcapture_outputs)ÚKosmos2ConfigÚKosmos2TextConfigÚKosmos2VisionConfigc                   óŽ   a a€ ] tR t^0t oR	tRtRR.tRtRtRt	]
P                  ! 4       V3R lV 3R ll4       tV3R ltRtVtV ;t# )
ÚKosmos2PreTrainedModelTÚKosmos2VisionEncoderLayerÚKosmos2TextBlockFc                ó4   <€ V ^8„  d   QhRS[ P                  /# )é   Úmodule©r   ÚModule)ÚformatÚ__classdict__s   "€Úm/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/kosmos2/modeling_kosmos2.pyÚ__annotate__Ú#Kosmos2PreTrainedModel.__annotate__;   s   ø€ ÷ 34ñ 34¡B§I¡Iñ 34ó    c                ó~  <€ \         SV `  V4       \        V P                  R4      '       d   V P                  P                  pM<\        V P                  R4      '       d!   V P                  P
                  P                  p\        V P                  R4      '       d   V P                  P                  pM<\        V P                  R4      '       d!   V P                  P                  P                  p\        V\        4      '       Ed+   \        P                  ! VP                  RVP                  R	,          X,          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&                  P,                  R
,          4      P/                  R4      4       R# \        V\0        4      '       Ed   VP                  R	,          ^VP                  P2                  ,          R	,          ,          X,          pVP                  R	,          V,          p\        P                  ! VP4                  P                  VR7       \        P                  ! VP6                  P                  VR7       \        P                  ! VP8                  P                  VR7       \        P                  ! VP:                  P                  VR7       R# \        V\<        4      '       dÓ   VP                  P>                  R	,          ^VP                  P2                  ,          R	,          ,          X,          p^VP                  P>                  ,          R	,          V,          p\        P                  ! VP@                  P                  VR7       \        P                  ! VPB                  P                  VR7       R# \        V\D        4      '       d³   \        P                  ! VP4                  P                  XR7       \        P                  ! VP6                  P                  VR7       \        P                  ! VP8                  P                  VR7       \        P                  ! VP:                  P                  VR7       R# \        V\F        4      '       d[   \        P                  ! VP@                  P                  XR7       \        P                  ! VPB                  P                  VR7       R# \        V\H        4      '       d/   \        P                  ! VPJ                  P                  XR7       R# \        V\L        4      '       dO   \        P                  ! VPN                  P                  XR7       \        P                  ! VPP                  4       R# \        V\R        4      '       d�   \        P                  ! VPT                  P                  RXR7       VPT                  PV                  eH   \        PX                  ! VPT                  P                  VPT                  PV                  ,          4       R# R# \        V\Z        4      '       df   VP]                  VP^                  VP`                  ,           VPb                  VPV                  4      p\        P$                  ! VPd                  V4       R# R# )zInitialize the weightsÚinitializer_factorÚvision_configÚinit_stdÚtext_configç        )ÚmeanÚstd)r7   Nç      à¿éÿÿÿÿ©é   r9   )3ÚsuperÚ_init_weightsÚhasattrÚconfigr1   r2   r3   r4   Ú
isinstanceÚKosmos2VisionEmbeddingsÚinitÚnormal_Úclass_embeddingÚ	embed_dimÚpatch_embeddingÚweightÚinitializer_rangeÚposition_embeddingÚcopy_Úposition_idsÚtorchÚarangeÚshapeÚexpandÚKosmos2VisionAttentionÚnum_hidden_layersÚq_projÚk_projÚv_projÚout_projÚKosmos2VisionMLPÚhidden_sizeÚfc1Úfc2ÚKosmosTextAttentionÚKosmos2TextFFNÚKosmos2TextForCausalLMÚlm_headÚKosmos2ImageToTextProjectionÚdenseÚlatent_queryÚKosmos2TextTransformerÚembed_tokensÚpadding_idxÚzeros_Ú(Kosmos2TextSinusoidalPositionalEmbeddingÚget_embeddingÚnum_positionsÚoffsetÚembedding_dimÚweights)	Úselfr'   Úfactorr7   Úin_proj_stdÚout_proj_stdÚfc_stdÚemb_weightsÚ	__class__s	   &&      €r,   r=   Ú$Kosmos2PreTrainedModel._init_weights:   st  ø€ ô 	‰Ñ˜fÔ%Ü�4—;‘;Ð 4×5Ò5Ø—[‘[×3Ñ3‰FÜ�T—[‘[ /×2Ò2Ø—[‘[×.Ñ.×AÑAˆFä�4—;‘; 
×+Ò+Ø—+‘+×&Ñ&‰CÜ�T—[‘[ -×0Ò0Ø—+‘+×)Ñ)×2Ñ2ˆCä�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¸×9LÑ9L×9RÑ9RÐSUÕ9VÓ,W×,^Ñ,^Ð_fÓ,gÖhÜ˜Ô 6×7Ó7Ø!×+Ñ+¨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Ü˜Ô 0×1Ò1Ø!Ÿ=™=×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˜Ÿ™×*Ñ*°×<Ü˜Ô 3×4Ò4Ü�LŠL˜Ÿ™×-Ñ-°3Õ7Ü�LŠL˜Ÿ™×-Ñ-°3Õ7Ü�LŠL˜Ÿ™×-Ñ-°3Õ7Ü�LŠL˜Ÿ™×/Ñ/°S×9Ü˜¤×/Ò/Ü�LŠL˜Ÿ™×*Ñ*°Õ4Ü�LŠL˜Ÿ™×*Ñ*°×4Ü˜Ô 6×7Ò7Ü�LŠL˜Ÿ™×.Ñ.°C×8Ü˜Ô <×=Ò=Ü�LŠL˜Ÿ™×,Ñ,°#Õ6Ü�LŠL˜×,Ñ,Ö-Ü˜Ô 6×7Ò7Ü�LŠL˜×,Ñ,×3Ñ3¸#À3ÕGØ×"Ñ"×.Ñ.Ò:Ü—’˜F×/Ñ/×6Ñ6°v×7JÑ7J×7VÑ7VÕWÖXñ ;ä˜Ô H×IÒIØ ×.Ñ.Ø×$Ñ$ v§}¡}Õ4°f×6JÑ6JÈF×L^ÑL^óˆKô �JŠJ�v—~‘~ {Ö3ñ	 Jr/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r&   r?   ©r   )r*   r+   s   "€r,   r-   r.   0   s   ø‡ ‚ áÑò r/   © )ÚimageÚtext)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úinput_modalitiesÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_supports_attention_backendÚ_supports_flash_attnÚ_supports_sdparL   Úno_gradr=   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rq   r+   s   @@r,   r"   r"   0   sT   ù‡ € ð )ÐØ&*Ð#Ø4Ð6HÐIÐØ"&ÐØ ÐØ€Nà
‡]‚]ƒ_÷34ò 34ó ð34÷ … r/   r"   c                ór   € V ^8„  d   QhR\         P                  R\         P                  R\        R,          /# )r&   ÚmaskÚdtypeÚtgt_lenN)rL   ÚTensorr‹   Úint)r*   s   "r,   r-   r-   q   s2   € ÷ [ñ [”u—|‘|ð [¬E¯K©Kð [Ä#ÈÅ*ñ [r/   c                ó4  € V P                  4       w  r4Ve   TMTpV R,          P                  V^W$4      P                  V4      pRV,
          pVP                  VP                  \        P
                  4      \        P                  ! V4      P                  4      # )zW
Expands attention_mask from `[bsz, seq_len]` to `[bsz, 1, tgt_seq_len, src_seq_len]`.
ç      ð?)ºNNNNNr‘   )ÚsizerO   ÚtoÚmasked_fillrL   ÚboolÚfinfoÚmin)rŠ   r‹   rŒ   ÚbszÚsrc_lenÚexpanded_maskÚinverted_masks   &&&    r,   Ú_expand_maskrœ   q   s}   € ð —9‘9“;�L€CØ Ò,‰g°'€GàÐ)Õ*×1Ñ1°#°q¸'ÓK×NÑNÈuÓU€Mà˜-Õ'€Mà×$Ñ$ ]×%5Ñ%5´e·j±jÓ%AÄ5Ç;Â;ÈuÓCU×CYÑCYÓZÐZr/   c                ó„   € V ^8„  d   QhR\         P                  R\         P                  R\         P                  R\        /# )r&   Úinput_ids_shaper‹   ÚdeviceÚpast_key_values_length)rL   ÚSizer‹   rŸ   rŽ   )r*   s   "r,   r-   r-      s>   € ÷ \ñ \Ü—Z‘Zð\Ü(-¯©ð\Ü=B¿\¹\ð\Ücfñ\r/   c           	     ó  € V w  rE\         P                  ! WU3\         P                  ! V4      P                  VR7      p\         P                  ! VP                  R4      VR7      pVP                  Ww^,           P                  VP                  R4      ^4      8  ^ 4       VP                  V4      pV^ 8”  d1   \         P                  ! \         P                  ! WSWR7      V.RR7      pVR,          P                  V^WUV,           4      # )z:
Make causal mask used for bi-directional self-attention.
)rŸ   ©r‹   rŸ   ©Údimr9   )NNr‘   r‘   )rL   Úfullr–   r—   rM   r’   Úmasked_fill_Úviewr“   ÚcatÚzerosrO   )rž   r‹   rŸ   r    r˜   rŒ   rŠ   Ú	mask_conds   &&&&    r,   Ú_make_causal_maskr¬      sË   € ð #�L€CÜ�:Š:�wÐ(¬%¯+ª+°eÓ*<×*@Ñ*@ÈÔP€DÜ—’˜TŸY™Y r›]°6Ô:€IØ×Ñ�i¨q¥=×"6Ñ"6°t·y±yÀ³}ÀaÓ"HÑHÈ!ÔLØ�7‰7�5‹>€Dà Ô!Ü�yŠyœ%Ÿ+š+ gÈUÔbÐdhÐiÐoqÔrˆØÐ Õ!×(Ñ(¨¨a°ÐDZÕ:ZÓ[Ð[r/   c                   ó4   a € ] tR t^�t o RtRtV 3R ltRtV tR# )Ú'BaseModelOutputWithProjectionAttentionsaY  
projection_attentions (`tuple(torch.FloatTensor)`):
    Tuple of `torch.FloatTensor` (one for each layer) of shape `(batch_size, num_heads, sequence_length,
    sequence_length)`.

    Attentions weights given by `Kosmos2ImageToTextProjection`, after the attention softmax, used to compute
    the weighted average in the self-attention heads.
Nc                óX   <€ V ^8„  d   Qh/ S[ S[P                  ,          R,          ;R&   # )r&   NÚprojection_attentions)ÚtuplerL   ÚFloatTensor)r*   r+   s   "€r,   r-   Ú4BaseModelOutputWithProjectionAttentions.__annotate__�   s"   ø‡ ‚ ñ !¡×!2Ñ!2Õ3°dÕ:ÑAò r/   rv   )	ry   rz   r{   r|   Ú__doc__r°   r„   r…   r†   ©r+   s   @r,   r®   r®   �   s   ø‡ € ñð >BÐ÷ ƒ r/   r®   ze
    Base class for text model's outputs that also contains a pooling of the last hidden states.
    )Úcustom_introc                   ó^   a € ] tR t^Ÿt o RtRtRtRtRtRt	Rt
RtV 3R lR ltV 3R ltRtV tR# )ÚKosmos2ModelOutputa‰  
image_embeds (`torch.FloatTensor` of shape `(batch_size, latent_query_num, hidden_size)`, *optional*):
    Sequence of hidden-states at the output of `Kosmos2ImageToTextProjection`.
projection_attentions (`tuple(torch.FloatTensor)`, *optional*):
    Tuple of `torch.FloatTensor` (one for each layer) of shape `(batch_size, num_heads, sequence_length,
    sequence_length)`.

    Attentions weights given by `Kosmos2ImageToTextProjection`, after the attention softmax, used to compute
    the weighted average in the self-attention heads.
vision_model_output (`BaseModelOutputWithPooling`, *optional*):
    The output of the [`Kosmos2VisionModel`].
Nc                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r&   Úreturn©r±   r   )r*   r+   s   "€r,   r-   ÚKosmos2ModelOutput.__annotate__»   ó   ø€ ÷ 
ñ 
™%¡�*ñ 
r/   c                ó    a € \         ;QJ d%    . V 3R  lS P                  4        4       F  NK  	  5# ! V 3R  lS P                  4        4       4      # )c              3   óx   <"  € T F/  pVR9  d
   SV,          M\        SV4      P                  4       x € K1  	  R# 5i©Útext_model_outputN)rÂ   Úvision_model_output©ÚgetattrÚto_tuple©Ú.0Úkrk   s   & €r,   Ú	<genexpr>Ú.Kosmos2ModelOutput.to_tuple.<locals>.<genexpr>¼   ó<   øé € ð 
á �ð Ð LÔLˆD�ŽGÔRYÐZ^Ð`aÓRb×RkÑRkÓRmÔmÛ ùó   ƒ7:©r±   Úkeys©rk   s   fr,   rÆ   ÚKosmos2ModelOutput.to_tuple»   óA   ø€ ßŒuô 
à—Y‘Y”[ó
�uð 	
ˆuô 
à—Y‘Y”[ó
ó 
ð 	
r/   c                óV  <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   S[ P                  R,          ;R&   S[S[ P                  ,          R,          ;R&   S[;R&   # )	r&   NÚlast_hidden_stateÚpast_key_valuesÚhidden_statesÚ
attentionsÚimage_embedsr°   rÃ   ©rL   r²   r   r±   r   )r*   r+   s   "€r,   r-   r½   Ÿ   sª   ø‡ ‚ ñ( ×(Ñ(¨4Õ/Ñ6ñ) ñ* ˜T•\Ñ(ñ+ ñ, ™×*Ñ*Õ+¨dÕ2Ñ9ñ- ñ. ‘e×'Ñ'Õ(¨4Õ/Ñ6ñ/ ñ0 ×#Ñ# dÕ*Ñ1ñ1 ñ2 !¡×!2Ñ!2Õ3°dÕ:ÑAñ3 ñ4 4Ñ:ò5 r/   rv   )ry   rz   r{   r|   r´   rÔ   rÕ   rÖ   r×   rØ   r°   rÃ   rÆ   r„   r…   r†   rµ   s   @r,   r¸   r¸   Ÿ   sC   ø‡ € ñð 37ÐØ$(€OØ59€MØ26€JØ-1€LØ=AÐØ6:Ð÷
ð 
÷9 ƒ r/   r¸   zC
    Model output class for `Kosmos2ForConditionalGeneration`.
    c                   ób   a € ] tR t^Ât o RtRtRtRtRtRt	Rt
RtRtV 3R lR ltV 3R ltRtV tR# )Ú*Kosmos2ForConditionalGenerationModelOutputaÞ  
loss (`torch.FloatTensor` of shape `(1,)`, *optional*, returned when `labels` is provided):
    Language modeling loss (for next-token prediction).
logits (`torch.FloatTensor` of shape `(batch_size, sequence_length, config.vocab_size)`):
    Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
image_embeds (`torch.FloatTensor` of shape `(batch_size, latent_query_num, hidden_size)`, *optional*):
    Sequence of hidden-states at the output of `Kosmos2ImageToTextProjection`.
projection_attentions (`tuple(torch.FloatTensor)`, *optional*):
    Tuple of `torch.FloatTensor` (one for each layer) of shape `(batch_size, num_heads, sequence_length,
    sequence_length)`.

    Attentions weights given by `Kosmos2ImageToTextProjection`, after the attention softmax, used to compute
    the weighted average in the self-attention heads.
vision_model_output (`BaseModelOutputWithPooling`, *optional*):
    The output of the [`Kosmos2VisionModel`].
Nc                ó0   <€ V ^8„  d   QhRS[ S[,          /# rº   r¼   )r*   r+   s   "€r,   r-   Ú7Kosmos2ForConditionalGenerationModelOutput.__annotate__ã   r¾   r/   c                ó    a € \         ;QJ d%    . V 3R  lS P                  4        4       F  NK  	  5# ! V 3R  lS P                  4        4       4      # )c              3   óx   <"  € T F/  pVR9  d
   SV,          M\        SV4      P                  4       x € K1  	  R# 5irÁ   rÄ   rÇ   s   & €r,   rÊ   ÚFKosmos2ForConditionalGenerationModelOutput.to_tuple.<locals>.<genexpr>ä   rÌ   rÍ   rÎ   rÐ   s   fr,   rÆ   Ú3Kosmos2ForConditionalGenerationModelOutput.to_tupleã   rÒ   r/   c                ó„  <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   S[ P                  R,          ;R&   S[S[ P                  ,          R,          ;R&   S[;R	&   # )
r&   NÚlossÚlogitsrÕ   rÖ   r×   rØ   r°   rÃ   rÙ   )r*   r+   s   "€r,   r-   rÝ   Â   sÂ   ø‡ ‚ ñ0 ×
Ñ
˜dÕ
"Ñ)ñ1 ñ2 ×Ñ Õ$Ñ+ñ3 ñ4 ˜T•\Ñ(ñ5 ñ6 ™×*Ñ*Õ+¨dÕ2Ñ9ñ7 ñ8 ‘e×'Ñ'Õ(¨4Õ/Ñ6ñ9 ñ: ×#Ñ# dÕ*Ñ1ñ; ñ< !¡×!2Ñ!2Õ3°dÕ:ÑAñ= ñ> 4Ñ:ò? r/   rv   )ry   rz   r{   r|   r´   rã   rä   rÕ   rÖ   r×   rØ   r°   rÃ   rÆ   r„   r…   r†   rµ   s   @r,   rÛ   rÛ   Â   sH   ø‡ € ñð" &*€DØ'+€FØ$(€OØ59€MØ26€JØ-1€LØ=AÐØ6:Ð÷
ð 
÷C ƒ r/   rÛ   c                   óf   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V3R lR lltRtVtV ;t	# )	rA   c                ó    <€ V ^8„  d   QhRS[ /# rt   ©r    )r*   r+   s   "€r,   r-   Ú$Kosmos2VisionEmbeddings.__annotate__ì   s   ø€ ÷ jñ jÑ2ñ jr/   c                ó  <€ \         SV `  4        Wn        VP                  V n        VP
                  V n        VP                  V n        \        P                  ! \        P                  ! V P                  4      4      V n        \        P                  ! VP                  V P                  V P                  V P                  R R7      V n        V P
                  V P                  ,          ^,          V n        V P                  ^,           V n        \        P"                  ! V P                   V P                  4      V n        \        P&                  ! \        P(                  ! V P                   4      P+                  R4      R R7      V n        R# )F)Úin_channelsÚout_channelsÚkernel_sizeÚstrideÚbias©Ú
persistentNr:   )r<   Ú__init__r?   rW   rE   Ú
image_sizeÚ
patch_sizer   Ú	ParameterrL   ÚrandnrD   ÚConv2dÚnum_channelsrF   Únum_patchesrg   Ú	EmbeddingrI   ÚBufferrM   rO   rK   ©rk   r?   rq   s   &&€r,   rñ   Ú Kosmos2VisionEmbeddings.__init__ì   s  ø€ Ü‰ÑÔØŒØ×+Ñ+ˆŒØ ×+Ñ+ˆŒØ ×+Ñ+ˆŒä!Ÿ|š|¬E¯KªK¸¿¹Ó,GÓHˆÔä!ŸyšyØ×+Ñ+ØŸ™ØŸ™Ø—?‘?Øô 
ˆÔð !ŸO™O¨t¯©Õ>À1ÕDˆÔØ!×-Ñ-°Õ1ˆÔÜ"$§,¢,¨t×/AÑ/AÀ4Ç>Á>Ó"RˆÔÜŸIšI¤e§l¢l°4×3EÑ3EÓ&F×&MÑ&MÈgÓ&VÐchÔiˆÖr/   c                óZ   <€ V ^8„  d   QhRS[ P                  RS[RS[RS[ P                  /# )r&   Ú
embeddingsÚheightÚwidthr»   ©rL   r�   rŽ   )r*   r+   s   "€r,   r-   rè     s;   ø€ ÷ 'Dñ 'D±5·<±<ð 'DÉð 'DÑUXð 'DÑ]b×]iÑ]iñ 'Dr/   c                ó  € VP                   ^,          ^,
          pV P                  P                  P                  ^ 4      pVP                   ^,          ^,
          p\        P
                  P                  4       '       g(   WF8X  d"   W#8X  d   V P                  V P                  4      # VR,          pVR,          pVP                   R,          p	W P                  ,          p
W0P                  ,          p\        VR,          4      pVP                  ^WÌV	4      pVP                  ^ ^^^4      p\        P                  P                  VW«3RRR7      pVP                  ^ ^^^4      P                  ^RV	4      p\        P                   ! Wx3^R7      # )	aÐ  
This method allows to interpolate the pre-trained position encodings, to be able to use the model on higher resolution
images. This method is also adapted to support torch.jit tracing.

Adapted from:
- https://github.com/facebookresearch/dino/blob/de9ee3df6cf39fac952ab558447af1fa1365362a/vision_transformer.py#L174-L194, and
- https://github.com/facebookresearch/dinov2/blob/e1277af2ba9496fbadf7aec6eba56e8d882d1e35/dinov2/models/vision_transformer.py#L179-L211
g      à?ÚbicubicF)r’   ÚmodeÚalign_cornersr¤   )r‘   :Nr;   N)r‘   :r;   NNr9   )rN   rI   rG   Ú	unsqueezerL   ÚjitÚ
is_tracingrK   ró   r   ÚreshapeÚpermuter   Ú
functionalÚinterpolater¨   r©   )rk   rþ   rÿ   r   rø   rI   rg   Úclass_pos_embedÚpatch_pos_embedr¥   Ú
new_heightÚ	new_widthÚsqrt_num_positionss   &&&&         r,   Úinterpolate_pos_encodingÚ0Kosmos2VisionEmbeddings.interpolate_pos_encoding  s[  € ð !×&Ñ& qÕ)¨AÕ-ˆØ!×4Ñ4×;Ñ;×EÑEÀaÓHÐØ*×0Ñ0°Õ3°aÕ7ˆô �y‰y×#Ñ#×%Ò%¨+Ô*FÈ6Ì?Ø×*Ñ*¨4×+<Ñ+<Ó=Ð=à,¨UÕ3ˆØ,¨UÕ3ˆà×Ñ˜rÕ"ˆàŸ™Õ.ˆ
ØŸ_™_Õ,ˆ	ä& }°cÕ'9Ó:ÐØ)×1Ñ1°!Ð5GÐ]`ÓaˆØ)×1Ñ1°!°Q¸¸1Ó=ˆäŸ-™-×3Ñ3ØØÐ(ØØð	 4ó 
ˆð *×1Ñ1°!°Q¸¸1Ó=×BÑBÀ1ÀbÈ#ÓNˆä�yŠy˜/Ð;ÀÔCÐCr/   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r&   Úpixel_valuesr»   )rL   r²   r�   )r*   r+   s   "€r,   r-   rè   +  s(   ø€ ÷ ñ ¡E×$5Ñ$5ð ÑZ_×ZfÑZfñ r/   c                ó‚  € VP                   w  r4rVV'       gM   WPP                  8w  g   W`P                  8w  d-   \        R V RV RV P                   RV P                   R2	4      hV P                  P                  P
                  pV P                  VP                  VR7      4      pVP                  ^4      P                  ^^4      pV P                  P                  V^R4      p	\        P                  ! W˜.^R7      p
V'       d   W P                  W¥V4      ,           p
V
# W P                  V P                  4      ,           p
V
# )zInput image size (Ú*z) doesn't match model (ú).©r‹   r¤   r9   )rN   rò   Ú
ValueErrorrF   rG   r‹   r“   ÚflattenÚ	transposerD   rO   rL   r©   r  rI   rK   )rk   r  r  Ú
batch_sizeÚ_rÿ   r   Útarget_dtypeÚpatch_embedsÚclass_embedsrþ   s   &&&        r,   ÚforwardÚKosmos2VisionEmbeddings.forward+  s$  € Ø'3×'9Ñ'9Ñ$ˆ
�vß'¨V·±Ô-FÈ%×SbÑSbÔJbÜØ$ V H¨A¨e¨WÐ4KÈDÏOÉOÐK\Ð\]Ð^b×^mÑ^mÐ]nÐnpÐqóð ð ×+Ñ+×2Ñ2×8Ñ8ˆØ×+Ñ+¨L¯O©OÀ,¨OÓ,OÓPˆØ#×+Ñ+¨AÓ.×8Ñ8¸¸AÓ>ˆà×+Ñ+×2Ñ2°:¸qÀ"ÓEˆÜ—Y’Y Ð;ÀÔCˆ
ß#Ø#×&CÑ&CÀJÐX]Ó&^Õ^ˆJð Ðð $×&=Ñ&=¸d×>OÑ>OÓ&PÕPˆJØÐr/   )
rD   r?   rE   rò   rø   rg   rF   ró   rI   rK   ©F)
ry   rz   r{   r|   rñ   r  r"  r…   r†   r‡   rˆ   s   @@r,   rA   rA   ë   s-   ù‡ € ÷jó j÷,'Dð 'D÷R÷ ò r/   rA   c                óÞ   € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R\        /# )	r&   r'   ÚqueryÚkeyÚvalueÚattention_maskNÚscalingÚdropout)r   r)   rL   r�   Úfloat)r*   s   "r,   r-   r-   ?  sg   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô ð%ô ñ%r/   c                 ó~  € \         P                  ! WP                  RR4      4      V,          pVe	   W„,           p\        P                  P                  VRR7      p\        P                  P                  W†V P                  R7      p\         P                  ! Wƒ4      p	V	P                  ^^4      P                  4       p	W˜3# )r;   r¤   ©ÚpÚtrainingr9   éþÿÿÿ)	rL   Úmatmulr  r   r  Úsoftmaxr+  r0  Ú
contiguous)
r'   r&  r'  r(  r)  r*  r+  ÚkwargsÚattn_weightsÚattn_outputs
   &&&&&&&,  r,   Úeager_attention_forwardr8  ?  s˜   € ô —<’< §}¡}°R¸Ó'<Ó=ÀÕG€LØÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2Ð(Ó>€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€Lä—,’,˜|Ó3€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KØÐ$Ð$r/   c                   óL   a a€ ] tR tRt oRtV 3R ltRV3R lR lltRtVtV ;t	# )rP   iU  ú=Multi-headed attention from 'Attention Is All You Need' paperc                ó<  <€ \         SV `  4        Wn        VP                  V n        VP
                  V n        V P                  V P                  ,          V n        V P                  V P                  ,          V P                  8w  d'   \        R V P                   RV P                   R24      hV P                  R,          V n	        VP                  V n        RV n        \        P                  ! V P                  V P                  4      V n        \        P                  ! V P                  V P                  4      V n        \        P                  ! V P                  V P                  4      V n        \        P                  ! V P                  V P                  4      V n        R# )ú;embed_dim must be divisible by num_heads (got `embed_dim`: ú and `num_heads`: r  FNr8   )r<   rñ   r?   rW   rE   Únum_attention_headsÚ	num_headsÚhead_dimr  ÚscaleÚattention_dropoutr+  Ú	is_causalr   ÚLinearrS   rT   rR   rU   rû   s   &&€r,   rñ   ÚKosmos2VisionAttention.__init__X  s  ø€ Ü‰ÑÔØŒØ×+Ñ+ˆŒØ×3Ñ3ˆŒØŸ™¨$¯.©.Õ8ˆŒØ�=‰=˜4Ÿ>™>Õ)¨T¯^©^Ô;ÜØMÈdÏnÉnÐM]ð ^Ø—N‘NÐ# 2ð'óð ð —]‘] DÕ(ˆŒ
Ø×/Ñ/ˆŒØˆŒä—i’i §¡°·±Ó?ˆŒÜ—i’i §¡°·±Ó?ˆŒÜ—i’i §¡°·±Ó?ˆŒÜŸ	š	 $§.¡.°$·.±.ÓAˆŽr/   c                óÄ   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[S[,          RS[S[ P                  S[ P                  R,          3,          /# )r&   rÖ   r)  Nr5  r»   )rL   r�   r   r   r±   )r*   r+   s   "€r,   r-   Ú#Kosmos2VisionAttention.__annotate__l  s]   ø€ ÷ %)ñ %)á—|‘|ð%)ñ Ÿ™ tÕ+ð%)ñ Ñ+Õ,ð	%)ñ
 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñ%)r/   c           	     óÌ  € VP                   RR p. VORNV P                  N5pV P                  V4      pV P                  V4      pV P	                  V4      pVP                  V4      P                  ^^4      pVP                  V4      P                  ^^4      pVP                  V4      P                  ^^4      p\        P                  ! V P                  P                  \        4      p	T	! V VVVV3RV P                  RV P                  RV P                  '       g   RMV P                  /VB w  r«V
P                   ! . VORN5!  P#                  4       p
V P%                  V
4      p
W«3# )ú#Input shape: Batch x Time x ChannelNrC  r*  r+  r5   r9   )rN   r@  rR   rS   rT   r¨   r  r   Úget_interfacer?   Ú_attn_implementationr8  rC  rA  r0  r+  r	  r4  rU   )rk   rÖ   r)  r5  Úinput_shapeÚhidden_shapeÚqueriesrÏ   ÚvaluesÚattention_interfacer7  r6  s   &&&,        r,   r"  ÚKosmos2VisionAttention.forwardl  s`  € ð $×)Ñ)¨#¨2Ð.ˆà8˜Ð8 bÐ8¨$¯-©-Ñ8ˆØ—+‘+˜mÓ,ˆØ�{‰{˜=Ó)ˆØ—‘˜]Ó+ˆà—,‘,˜|Ó,×6Ñ6°q¸!Ó<ˆØ�y‰y˜Ó&×0Ñ0°°AÓ6ˆØ—‘˜\Ó*×4Ñ4°Q¸Ó:ˆä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ
%
ð —n‘nð
%
ð —J‘Jð
%
ð  $Ÿ}Ÿ}˜}‘C°$·,±,ð
%
ð ñ
%
Ñ!ˆð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—m‘m KÓ0ˆØÐ(Ð(r/   )r?   r+  rE   r@  rC  rS   r?  rU   rR   rA  rT   ©N©
ry   rz   r{   r|   r´   rñ   r"  r…   r†   r‡   rˆ   s   @@r,   rP   rP   U  s   ù‡ € ÙGõB÷(%)÷ %)ò %)r/   rP   c                   óD   a a€ ] tR tRt oV 3R ltV3R lR ltRtVtV ;t# )rV   i•  c                ó(  <€ \         SV `  4        Wn        \        VP                  ,          V n        \        P                  ! VP                  VP                  4      V n
        \        P                  ! VP                  VP                  4      V n        R # rR  )r<   rñ   r?   r   Ú
hidden_actÚactivation_fnr   rD  rW   Úintermediate_sizerX   rY   rû   s   &&€r,   rñ   ÚKosmos2VisionMLP.__init__–  sb   ø€ Ü‰ÑÔØŒÜ# F×$5Ñ$5Õ6ˆÔÜ—9’9˜V×/Ñ/°×1IÑ1IÓJˆŒÜ—9’9˜V×5Ñ5°v×7IÑ7IÓJˆŽr/   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r&   rÖ   r»   ©rL   r�   )r*   r+   s   "€r,   r-   ÚKosmos2VisionMLP.__annotate__�  s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r/   c                ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# rR  )rX   rW  rY   ©rk   rÖ   s   &&r,   r"  ÚKosmos2VisionMLP.forward�  s4   € ØŸ™ Ó/ˆØ×*Ñ*¨=Ó9ˆØŸ™ Ó/ˆØÐr/   )rW  r?   rX   rY   ©	ry   rz   r{   r|   rñ   r"  r…   r†   r‡   rˆ   s   @@r,   rV   rV   •  s   ù‡ € õK÷÷ ð r/   rV   c                   óP   a a€ ] tR tR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# )r#   i¥  c                ó    <€ V ^8„  d   QhRS[ /# rt   rç   )r*   r+   s   "€r,   r-   Ú&Kosmos2VisionEncoderLayer.__annotate__¦  s   ø€ ÷ Sñ SÑ2ñ Sr/   c                óJ  <€ \         SV `  4        VP                  V n        \	        V4      V n        \        P                  ! V P                  VP                  R 7      V n	        \        V4      V n        \        P                  ! V P                  VP                  R 7      V n        R# ©©ÚepsN)r<   rñ   rW   rE   rP   Ú	self_attnr   Ú	LayerNormÚlayer_norm_epsÚlayer_norm1rV   ÚmlpÚlayer_norm2rû   s   &&€r,   rñ   Ú"Kosmos2VisionEncoderLayer.__init__¦  sm   ø€ Ü‰ÑÔØ×+Ñ+ˆŒÜ/°Ó7ˆŒÜŸ<š<¨¯©¸F×<QÑ<QÔRˆÔÜ# FÓ+ˆŒÜŸ<š<¨¯©¸F×<QÑ<QÔRˆÖr/   c                ó~   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[,          RS[ P                  /# )r&   rÖ   r)  r5  r»   )rL   r�   r   r   r²   )r*   r+   s   "€r,   r-   rc  ®  sG   ø€ ÷ ñ á—|‘|ðñ Ÿ™ðñ Ñ+Õ,ð	ñ
 
×	Ñ	ñr/   c                óÄ   € TpV P                  V4      pV P                  ! RR VRV/VB w  rWA,           pTpV P                  V4      pV P                  V4      pWA,           pV# )rÖ   r)  rv   )rk  rh  rm  rl  )rk   rÖ   r)  r5  Úresidualr  s   &&&,  r,   r"  Ú!Kosmos2VisionEncoderLayer.forward®  s   € ð !ˆà×(Ñ(¨Ó7ˆØŸ>š>ñ 
Ø'ð
à)ð
ð ñ
Ñˆð
 !Õ0ˆà ˆØ×(Ñ(¨Ó7ˆØŸ™ Ó/ˆØ Õ0ˆàÐr/   )rE   rk  rm  rl  rh  r`  rˆ   s   @@r,   r#   r#   ¥  s    ù‡ € ÷Só S÷÷ ð r/   r#   c                   óX   a a€ ] tR tRt oRt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	# )	ÚKosmos2VisionEncoderiÆ  z«
Transformer encoder consisting of `config.num_hidden_layers` self attention layers. Each layer is a
[`Kosmos2VisionEncoderLayer`].

Args:
    config: Kosmos2VisionConfig
c                ó    <€ V ^8„  d   QhRS[ /# rt   rç   )r*   r+   s   "€r,   r-   Ú!Kosmos2VisionEncoder.__annotate__Ï  s   ø€ ÷ ,ñ ,Ñ2ñ ,r/   c                óÖ   <€ \         SV `  4        Wn        \        P                  ! \        VP                  4       Uu. uF  p\        V4      NK  	  up4      V n        R V n	        R# u upi )FN)
r<   rñ   r?   r   Ú
ModuleListÚrangerQ   r#   ÚlayersÚgradient_checkpointing)rk   r?   r  rq   s   && €r,   rñ   ÚKosmos2VisionEncoder.__init__Ï  sU   ø€ Ü‰ÑÔØŒÜ—m’mÔPUÐV\×VnÑVnÔPoÓ$pÑPoÈ1Ô%>¸vÖ%FÑPoÑ$pÓqˆŒØ&+ˆÖ#ùò %qs   ½A&c                ón   <€ V ^8„  d   QhRS[ P                  R,          RS[S[,          RS[S[,          /# )r&   r)  Nr5  r»   )rL   r�   r   r   r±   r   )r*   r+   s   "€r,   r-   rv  Õ  s?   ø€ ÷ 
ñ 
ñ Ÿ™ tÕ+ð
ñ Ñ+Õ,ð	
ñ
 
‘Õ	 ñ
r/   c                óX   € TpV P                    F  pV! VV3/ VB pK  	  \        VR7      # )aß  
Args:
    inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`):
        Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation.
        This is useful if you want more control over how to convert `input_ids` indices into associated vectors
        than the model's internal embedding lookup matrix.
    attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
        Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`:

        - 1 for tokens that are **not masked**,
        - 0 for tokens that are **masked**.

        [What are attention masks?](../glossary#attention-mask)
)rÔ   )rz  r®   )rk   Úinputs_embedsr)  r5  rÖ   Úencoder_layers   &&&,  r,   r"  ÚKosmos2VisionEncoder.forwardÕ  sC   € ð( &ˆØ!Ÿ[œ[ˆMÙ)ØØñð ñŠMñ )ô 7Ø+ô
ð 	
r/   )r?   r{  rz  rR  rS  rˆ   s   @@r,   rt  rt  Æ  s#   ù‡ € ñ÷,ó ,÷
÷ 
ò 
r/   rt  c                   óŒ   a a€ ] tR tRt oR]R]/tV3R lV 3R llt]]	! RR7      ]
RV3R lR	 ll4       4       4       tR
tVtV ;t# )ÚKosmos2VisionTransformeri÷  rÖ   r×   c                ó    <€ V ^8„  d   QhRS[ /# rt   rç   )r*   r+   s   "€r,   r-   Ú%Kosmos2VisionTransformer.__annotate__ý  s   ø€ ÷ 	ñ 	Ñ2ñ 	r/   c                ó6  <€ \         SV `  V4       VP                  p\        V4      V n        \
        P                  ! W!P                  R 7      V n        \        V4      V n
        \
        P                  ! W!P                  R 7      V n        V P                  4        R# re  )r<   rñ   rW   rA   rþ   r   ri  rj  Úpre_layrnormrt  ÚencoderÚpost_layernormÚ	post_init)rk   r?   rE   rq   s   && €r,   rñ   Ú!Kosmos2VisionTransformer.__init__ý  sk   ø€ Ü‰Ñ˜Ô Ø×&Ñ&ˆ	ä1°&Ó9ˆŒÜŸLšL¨×8MÑ8MÔNˆÔÜ+¨FÓ3ˆŒÜ Ÿlšl¨9×:OÑ:OÔPˆÔà�‰Ör/   F)Útie_last_hidden_statesc                ód   <€ V ^8„  d   QhRS[ P                  R,          RS[RS[S[,          RS[/# ©r&   r  Nr  r5  r»   )rL   r²   r•   r   r   r   )r*   r+   s   "€r,   r-   r…    sD   ø€ ÷ 
ñ 
á×'Ñ'¨$Õ.ð
ñ #'ð
ñ Ñ+Õ,ð	
ñ
 
$ñ
r/   c                óî   € Vf   \        R4      hV P                  WR7      pV P                  V4      pV P                  ! RRV/VB pV^ ,          pVR,          pV P	                  V4      p\        VVR7      # )Nz You have to specify pixel_values)r  r  )rÔ   Úpooler_outputrv   )r‘   é    r‘   )r  rþ   r‡  rˆ  r‰  r   )rk   r  r  r5  rÖ   Úencoder_outputsrÔ   Úpooled_outputs   &&&,    r,   r"  Ú Kosmos2VisionTransformer.forward  sŽ   € ð ÒÜÐ?Ó@Ð@àŸ™¨˜ÓhˆØ×)Ñ)¨-Ó8ˆàŸ,š,ñ 
Ø'ð
àñ
ˆð
 ,¨AÕ.ÐØ)¨'Õ2ˆØ×+Ñ+¨MÓ:ˆä)Ø/Ø'ô
ð 	
r/   )rþ   rˆ  r‰  r‡  ©NF)ry   rz   r{   r|   r#   rP   Ú_can_record_outputsrñ   r   r   r   r"  r…   r†   r‡   rˆ   s   @@r,   rƒ  rƒ  ÷  sV   ù‡ € àÐ2ØÐ,ðÐ÷
	ó 	ð  Ù¨EÔ2Ø÷
ñ 
ó ó 3ó  ÷
ð 
r/   rƒ  c                   óÞ   a a€ ] tR tRt oRtRV3R lV 3R llltRV3R lR llt]RV3R lR ll4       t]	P                  ! 4       RV3R	 lR
 ll4       t]R 4       t]RR l4       tRtVtV ;t# )re   i'  zDThis module produces sinusoidal positional embeddings of any length.c                ó:   <€ V ^8„  d   QhRS[ RS[ RS[ R,          /# )r&   rg   ri   rc   N©rŽ   )r*   r+   s   "€r,   r-   Ú5Kosmos2TextSinusoidalPositionalEmbedding.__annotate__+  s,   ø€ ÷ Sñ S¡cð S¹#ð SÉCÐRVÍJñ Sr/   c                óš   <€ \         SV `  4        ^V n        Wn        W n        W0n        V P                  WP                  ,           W#4       R# )r&   N)r<   rñ   rh   rg   ri   rc   Úmake_weights)rk   rg   ri   rc   rq   s   &&&&€r,   rñ   Ú1Kosmos2TextSinusoidalPositionalEmbedding.__init__+  s>   ø€ Ü‰ÑÔØˆŒØ*ÔØ*ÔØ&ÔØ×Ñ˜-¯+©+Õ5°}ÖRr/   c                ó:   <€ V ^8„  d   QhRS[ RS[ RS[ R,          /# ©r&   Únum_embeddingsri   rc   Nr™  )r*   r+   s   "€r,   r-   rš  4  s.   ø€ ÷ @ñ @©3ð @¹sð @ÑQTÐW[ÕQ[ñ @r/   c                óþ   € V P                  WV4      p\        V R 4      '       d<   VP                  V P                  P                  V P                  P
                  R7      p\        P                  ! VRR7      V n        R# )rj   r£   Frï   N)rf   r>   r“   rj   r‹   rŸ   r   rú   )rk   r   ri   rc   rp   s   &&&& r,   rœ  Ú5Kosmos2TextSinusoidalPositionalEmbedding.make_weights4  sY   € Ø×(Ñ(¨ÈÓTˆÜ�4˜×#Ò#à%Ÿ.™.¨t¯|©|×/AÑ/AÈ$Ï,É,×J]ÑJ]˜.Ó^ˆKä—y’y ¸Ô?ˆŽr/   c                ó:   <€ V ^8„  d   QhRS[ RS[ RS[ R,          /# rŸ  r™  )r*   r+   s   "€r,   r-   rš  >  s'   ø€ ÷ 1ñ 1¡cð 1¹#ð 1ÉCÐRVÍJñ 1r/   c                ó(  € V^,          p\         P                  ! R4      V^,
          ,          p\        P                  ! \        P                  ! V\        P
                  R7      P                  4       V) ,          4      p\        P                  ! V \        P
                  R7      P                  4       P                  ^4      VP                  ^ 4      ,          p\        P                  ! \        P                  ! V4      \        P                  ! V4      .^R7      P                  V R4      pV^,          ^8X  d0   \        P                  ! V\        P                  ! V ^4      .^R7      pVe   ^ WBR3&   VP                  \        P                  ! 4       4      # )zª
Build sinusoidal embeddings.

This matches the implementation in tensor2tensor, but differs slightly from the description in Section 3.5 of
"Attention Is All You Need".
i'  r  r¤   r‘   r9   )ÚmathÚlogrL   ÚexprM   Úint64r,  r  r©   ÚsinÚcosr¨   rª   r“   Úget_default_dtype)r   ri   rc   Úhalf_dimÚembs   &&&  r,   rf   Ú6Kosmos2TextSinusoidalPositionalEmbedding.get_embedding<  s  € ð ! AÕ%ˆÜ�hŠh�u‹o ¨A¥Õ.ˆÜ�iŠiœŸš X´U·[±[ÔA×GÑGÓIÈSÈDÕPÓQˆÜ�lŠl˜>´·±Ô=×CÑCÓE×OÑOÐPQÓRÐUX×UbÑUbÐcdÓUeÕeˆÜ�iŠiœŸš 3›¬¯ª°3«Ð8¸aÔ@×EÑEÀnÐVXÓYˆØ˜1Õ Ô!ä—)’)˜S¤%§+¢+¨n¸aÓ"@ÐAÀqÔIˆCØÒ"Ø"#ˆC˜Q�Ñà�v‰v”e×-Ò-Ó/Ó0Ð0r/   c          	      ó˜   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[RS[ P                  R,          /# )r&   Ú	input_idsNr  r    rK   r  )r*   r+   s   "€r,   r-   rš  S  sT   ø€ ÷ wñ wá—<‘< $Õ&ðwñ —|‘| dÕ*ðwñ !$ð	wñ
 —l‘l TÕ)ñwr/   c                óÂ  € VeM   VP                  4       w  rVVf6   V P                  WP                  V4      P                  VP                  4      pM5VP                  4       R R w  rVVf   V P                  W#V P                  4      pV P                  ^,           V,           V,           pWpP                  P                  ^ 4      8”  d8   V P                  WpP                  ,           V P                  V P                  4       V P                  P                  ^ VP                  R4      4      P                  WVV P                  P                  R,          4      P                  4       # )Nr9   )r’   Ú"create_position_ids_from_input_idsrc   r“   rŸ   Ú&create_position_ids_from_inputs_embedsrj   rœ  rh   ri   Úindex_selectr¨   rN   Údetach)rk   r°  r  r    rK   r˜   Úseq_lenÚmax_poss   &&&&&   r,   r"  Ú0Kosmos2TextSinusoidalPositionalEmbedding.forwardR  s*  € ð Ò Ø$Ÿ>™>Ó+‰LˆCØÒ#à#×FÑFØ×/Ñ/Ð1Gó ç‘"�Y×%Ñ%Ó&ð øð )×-Ñ-Ó/°°Ð4‰LˆCØÒ#Ø#×JÑJØ!¸4×;KÑ;Kó �ð
 ×"Ñ" QÕ&¨Õ0Ð3IÕIˆØ—\‘\×&Ñ& qÓ)Ô)Ø×Ñ˜g¯©Õ3°T×5GÑ5GÈ×IYÑIYÔZà�|‰|×(Ñ(¨¨L×,=Ñ,=¸bÓ,AÓB×GÑGÈÐVZ×VbÑVb×VhÑVhÐikÕVlÓm×tÑtÓvÐvr/   c                ó0  € V P                  4       RR pV^,          p\        P                  ! V^,           WB,           ^,           \        P                  V P                  R7      pVP                  ^ 4      P                  V4      P                  4       V,           # )z¯
We are provided embeddings directly. We cannot infer which are padded so just generate sequential position ids.

Args:
    inputs_embeds: torch.Tensor

Returns: torch.Tensor
Nr£   r9   )r’   rL   rM   ÚlongrŸ   r  rO   r4  )r  r    rc   rL  Úsequence_lengthrK   s   &&&   r,   r³  ÚOKosmos2TextSinusoidalPositionalEmbedding.create_position_ids_from_inputs_embedso  s}   € ð $×(Ñ(Ó*¨3¨BÐ/ˆØ% a�.ˆä—|’|Ø˜!�O˜_Õ:¸QÕ>ÄeÇjÁjÐYf×YmÑYmô
ˆð ×%Ñ% aÓ(×/Ñ/°Ó<×GÑGÓIÐLbÕbÐbr/   c                óØ   € V P                  V4      P                  4       p\        P                  ! V^R7      P	                  V4      V,           V,          pVP                  4       V,           # )zí
Replace non-padding symbols with their position numbers. Position numbers begin at padding_idx+1. Padding symbols
are ignored. This is modified from fairseq's `utils.make_positions`.

Args:
    x: torch.Tensor x:

Returns: torch.Tensor
r¤   )ÚnerŽ   rL   ÚcumsumÚtype_asrº  )r°  rc   r    rŠ   Úincremental_indicess   &&&  r,   r²  ÚKKosmos2TextSinusoidalPositionalEmbedding.create_position_ids_from_input_ids‚  sW   € ð �|‰|˜KÓ(×,Ñ,Ó.ˆÜ$Ÿ|š|¨D°aÔ8×@Ñ@ÀÓFÐI_Õ_ÐcgÕgÐØ"×'Ñ'Ó)¨KÕ7Ð7r/   )ri   rg   rh   rc   rj   rR  )NNr‘  N©r‘  )ry   rz   r{   r|   r´   rñ   rœ  Ústaticmethodrf   rL   rƒ   r"  r³  r²  r…   r†   r‡   rˆ   s   @@r,   re   re   '  sŠ   ù‡ € ÙN÷Sõ S÷@ò @ð ÷1ñ 1ó ð1ð( ‡]‚]ƒ_÷wñ wó ðwð8 ñcó ðcð" ó8ó ÷8ð 8r/   re   c                   ó\   a a€ ] tR tRt oRtRV3R lV 3R llltR	V3R lR lltRtVtV ;t	# )
rZ   i”  r:  c                ó|   <€ V ^8„  d   QhRS[ RS[ RS[RS[R,          RS[R,          RS[R,          RS[R,          /# )	r&   rE   r?  r+  Ú
is_decoderNÚadd_inner_attn_layernormrî   Ú	layer_idx)rŽ   r,  r•   )r*   r+   s   "€r,   r-   Ú KosmosTextAttention.__annotate__˜  sl   ø€ ÷ $Tñ $Tñ ð$Tñ ð	$Tñ
 ð$Tñ ˜4•Kð$Tñ #'¨¥+ð$Tñ �T�kð$Tñ ˜$•;ñ$Tr/   c	                ó–  <€ \         S	V `  4        Wn        W n        W0n        W@n        W#,          V n        R V n        V P                  V,          V P                  8w  d   \        RV P                   RV R24      hV P                  R,          V n	        WPn
        W€n        \        P                  ! W"VR7      V n        \        P                  ! W"VR7      V n        \        P                  ! W"VR7      V n        \        P                  ! W"VR7      V n        RV n        V'       d)   \        P&                  ! W!P(                  R7      V n        R# R# )Tr<  r=  r  )rî   Nrf  r8   )r<   rñ   r?   rE   r?  r+  r@  rC  r  r*  rÇ  rÉ  r   rD  rS   rT   rR   rU   Úinner_attn_lnri  rj  )
rk   r?   rE   r?  r+  rÇ  rÈ  rî   rÉ  rq   s
   &&&&&&&&&€r,   rñ   ÚKosmosTextAttention.__init__˜  sþ   ø€ ô 	‰ÑÔØŒØ"ŒØ"ŒØŒØ!Õ.ˆŒØˆŒà�M‰M˜IÕ%¨$¯.©.Ô8ÜØMÈdÏnÉnÐM]Ø$ Y K¨rð3óð ð —}‘} dÕ*ˆŒØ$ŒØ"Œä—i’i 	¸4Ô@ˆŒÜ—i’i 	¸4Ô@ˆŒÜ—i’i 	¸4Ô@ˆŒÜŸ	š	 )¸TÔBˆŒð "ˆÔß#Ü!#§¢¨i×=RÑ=RÔ!SˆDÖñ $r/   c                óü   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[R,          RS[ P                  R,          RS[S[ P                  S[ P                  R,          S[R,          3,          /# )r&   rÖ   Úencoder_hidden_statesNrÕ   r)  r»   )rL   r�   r   r±   )r*   r+   s   "€r,   r-   rÊ  ¾  s{   ø€ ÷ E)ñ E)á—|‘|ðE)ñ  %Ÿ|™|¨dÕ2ðE)ñ  �ð	E)ñ
 Ÿ™ tÕ+ðE)ñ 
‰u�|‰|™UŸ\™\¨DÕ0±%¸$µ,Ð>Õ	?ñE)r/   c                ó�  € VRJpVP                   RR p. VORNV P                  N5pV P                  V4      p	V	P                  V4      P	                  ^^4      p	Rp
Ve`   \        V\        4      '       dH   VP                  P                  V P                  4      p
V'       d   VP                  pMVP                  pMTpV'       d   TMTpV'       d\   VeX   V
'       dP   XP                  V P                  ,          P                  pVP                  V P                  ,          P                  pMÙ. VP                   RR ORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      pV P!                  V4      P                  V4      P	                  ^^4      pVeV   XP#                  WÞV P                  4      w  rÞV'       d0   \        V\        4      '       d   RVP                  V P                  &   \$        P&                  ! V P(                  P*                  \,        4      pT! V V	VVV3RV P.                  '       g   RMV P0                  RV P2                  /VB w  ppVP4                  ! . VORN5!  P7                  4       pV P8                  e   V P9                  V4      pV P;                  V4      pVV3# )rI  NFTr+  r5   r*  r9   )rN   r@  rR   r¨   r  r@   r
   Ú
is_updatedÚgetrÉ  Úcross_attention_cacheÚself_attention_cacherz  rÏ   rO  rS   rT   Úupdater   rJ  r?   rK  r8  r0  r+  r*  r	  r4  rÌ  rU   )rk   rÖ   rÏ  rÕ   r)  r5  Úis_cross_attentionrL  rM  Úquery_statesrÑ  Úcurr_past_key_valuesÚcurrent_statesÚ
key_statesÚvalue_statesÚkv_shaperP  r7  r6  s   &&&&&,             r,   r"  ÚKosmosTextAttention.forward¾  sƒ  € ð 3¸$Ð>ÐØ#×)Ñ)¨#¨2Ð.ˆà8˜Ð8 bÐ8¨$¯-©-Ñ8ˆØ—{‘{ =Ó1ˆØ#×(Ñ(¨Ó6×@Ñ@ÀÀAÓFˆàˆ
ØÒ&Ü˜/Ô+>×?Ò?Ø,×7Ñ7×;Ñ;¸D¿N¹NÓK�
ß%à+:×+PÑ+PÑ(à+:×+OÑ+OÑ(à'6Ð$ç2DÑ.È-ˆß /Ò"=Ç*à-×4Ñ4°T·^±^ÕD×IÑIˆJØ/×6Ñ6°t·~±~ÕF×MÑM‰LàF˜×-Ñ-¨c¨rÐ2ÐF°BÐF¸¿¹ÑFˆHØŸ™ ^Ó4×9Ñ9¸(ÓC×MÑMÈaÐQRÓSˆJØŸ;™; ~Ó6×;Ñ;¸HÓE×OÑOÐPQÐSTÓUˆLàÒ*à+?×+FÑ+FÀzÐae×aoÑaoÓ+pÑ(�
ç%¬*°_ÔFY×*ZÒ*ZØAE�O×.Ñ.¨t¯~©~Ñ>ä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ	%
ð  $Ÿ}Ÿ}˜}‘C°$·,±,ð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ×ÑÒ)Ø×,Ñ,¨[Ó9ˆKà—m‘m KÓ0ˆà˜LÐ(Ð(r/   )r?   r+  rE   r@  rÌ  rC  rÇ  rS   rÉ  r?  rU   rR   r*  rT   )r5   FFTN)NNNrS  rˆ   s   @@r,   rZ   rZ   ”  s'   ù‡ € ÙG÷$Tõ $T÷LE)÷ E)ò E)r/   rZ   c                   óD   a a€ ] tR tRt oV3R lV 3R lltR tRtVtV ;t# )r[   i  c                ó    <€ V ^8„  d   QhRS[ /# rt   ©r   )r*   r+   s   "€r,   r-   ÚKosmos2TextFFN.__annotate__  s   ø€ ÷ 
Uñ 
UÑ0ñ 
Ur/   c                óÂ  <€ \         SV `  4        VP                  V n        \        VP                  ,          V n        VP                  V n        \        P                  ! VP                  VP                  4      V n        \        P                  ! VP                  VP                  4      V n        \        P                  ! VP                  VP                  R 7      V n        R# re  )r<   rñ   r+  r   Úactivation_functionrW  Úactivation_dropoutr   rD  rE   Úffn_dimrX   rY   ri  rj  Úffn_layernormrû   s   &&€r,   rñ   ÚKosmos2TextFFN.__init__  s�   ø€ Ü‰ÑÔà—~‘~ˆŒÜ# F×$>Ñ$>Õ?ˆÔØ"(×";Ñ";ˆÔä—9’9˜V×-Ñ-¨v¯~©~Ó>ˆŒÜ—9’9˜VŸ^™^¨V×-=Ñ-=Ó>ˆŒäŸ\š\¨&¯.©.¸f×>SÑ>SÔTˆÖr/   c                ó^  € V P                  V P                  V4      4      p\        P                  P	                  WP
                  V P                  R 7      pV P                  V4      pV P                  V4      p\        P                  P	                  WP                  V P                  R 7      pV# )r.  )	rW  rX   r   r  r+  rä  r0  ræ  rY   r^  s   &&r,   r"  ÚKosmos2TextFFN.forward  s‰   € Ø×*Ñ*¨4¯8©8°MÓ+BÓCˆÜŸ™×-Ñ-¨m×?VÑ?VÐae×anÑanÐ-ÓoˆØ×*Ñ*¨=Ó9ˆØŸ™ Ó/ˆÜŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆàÐr/   )rä  rW  r+  rX   rY   ræ  r`  rˆ   s   @@r,   r[   r[     s   ù‡ € ÷
Uó 
U÷ò r/   r[   c                   óX   a a€ ] tR tRt oRV3R lV 3R llltRV3R lR lltRtVtV ;t# )	r$   i  c                ó    <€ V ^8„  d   QhRS[ /# rt   rà  )r*   r+   s   "€r,   r-   ÚKosmos2TextBlock.__annotate__  s   ø€ ÷ Xñ XÑ0ñ Xr/   c           
     ó¦  <€ \         SV `  4        VP                  V n        \        VV P                  VP                  VP
                  R R VR7      V n        VP                  V n        \        P                  ! V P                  VP                  R7      V n        VP                  '       dg   \        VV P                  VP                  VP
                  R RVR7      V n        \        P                  ! V P                  VP                  R7      V n        \        V4      V n        \        P                  ! V P                  VP                  R7      V n        R# )T)rE   r?  r+  rÇ  rÈ  rÉ  rf  FN)r<   rñ   rE   rZ   Úattention_headsrB  rh  r+  r   ri  rj  Úself_attn_layer_normÚadd_cross_attentionÚencoder_attnÚencoder_attn_layer_normr[   ÚffnÚfinal_layer_norm)rk   r?   rÉ  rq   s   &&&€r,   rñ   ÚKosmos2TextBlock.__init__  sü   ø€ Ü‰ÑÔØ×)Ñ)ˆŒä,ØØ—n‘nØ×,Ñ,Ø×,Ñ,ØØ%)Øô
ˆŒð —~‘~ˆŒÜ$&§L¢L°·±ÀV×EZÑEZÔ$[ˆÔ!à×%×%Ð%Ü 3ØØŸ.™.Ø ×0Ñ0Ø×0Ñ0ØØ).Ø#ô!ˆDÔô ,.¯<ª<¸¿¹ÈF×LaÑLaÔ+bˆDÔ(ä! &Ó)ˆŒÜ "§¢¨T¯^©^À×AVÑAVÔ WˆÖr/   c                óP  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P
                  S[S[ P
                  S[ P
                  3,          R,          3,          /# )	r&   rÖ   r)  NrÏ  Úencoder_attention_maskrÕ   Úoutput_attentionsr»   )rL   r�   r   r•   r±   r²   )r*   r+   s   "€r,   r-   rì  =  s¤   ø€ ÷ 6ñ 6á—|‘|ð6ñ Ÿ™ tÕ+ð6ñ  %Ÿ|™|¨dÕ2ð	6ñ
 !&§¡¨tÕ 3ð6ñ  �ð6ñ   $�;ð6ñ 
‰u× Ñ ¡%©×(9Ñ(9¹5×;LÑ;LÐ(LÕ"MÐPTÕ"TÐTÕ	Uñ6r/   c                ó\  € TpV P                  V4      pV P                  ! R	R VRVRVRV/VB w  r\        P                  P	                  WP                  V P
                  R7      pW�,           pVe�   \        V R4      '       g   \        RV  R24      hTpV P                  V4      pV P                  ! R	R VRVRVRVRV/VB w  r\        P                  P	                  WP                  V P
                  R7      pW�,           pTpV P                  V4      pV P                  V4      pW�,           pV# )
rÖ   rÕ   r)  rø  r.  rñ  z'If `encoder_hidden_states` are passed, z` has to be instantiated with cross-attention layers by setting `config.add_cross_attention=True`rÏ  rv   )rï  rh  r   r  r+  r0  r>   r  rò  rñ  rô  ró  )
rk   rÖ   r)  rÏ  r÷  rÕ   rø  r5  rq  r  s
   &&&&&&&,  r,   r"  ÚKosmos2TextBlock.forward=  s�  € ð !ˆØ×1Ñ1°-Ó@ˆàŸ>š>ñ 
Ø'ð
à+ð
ð *ð
ð 0ð	
ð
 ñ
Ñˆô Ÿ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆØ Õ0ˆð !Ò,Ü˜4 ×0Ò0Ü Ø=¸d¸Vð DDð Dóð ð
 %ˆHØ ×8Ñ8¸ÓGˆMà#×0Ò0ñ  Ø+ð à&;ð ð  6ð ð !0ð	 ð
 #4ð ð ñ ÑˆMô ŸM™M×1Ñ1°-Ç<Á<ÐZ^×ZgÑZgÐ1ÓhˆMØ$Õ4ˆMð !ˆà×-Ñ-¨mÓ<ˆð Ÿ™ Ó/ˆØ Õ0ˆàÐr/   )r+  rE   rñ  rò  ró  rô  rh  rï  rR  )NNNNFr`  rˆ   s   @@r,   r$   r$     s    ù‡ € ÷Xõ X÷>6÷ 6ò 6r/   r$   c                   óÒ   a a€ ] tR tRt oRtR]R]! ]^RR7      R]! ]^RR7      /tV3R lV 3R	 llt	R
 t
RV3R l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# )ra   iv  rÖ   r×   rh  )ÚindexÚ
layer_nameÚcross_attentionsrñ  c                ó    <€ V ^8„  d   QhRS[ /# rt   rà  )r*   r+   s   "€r,   r-   Ú#Kosmos2TextTransformer.__annotate__  s   ø€ ÷ ñ Ñ0ñ r/   c           
     óÞ  <€ \         SV `  V4       VP                  V n        VP                  V n        VP                  '       d!   \
        P                  ! VP                  4      MR V n        \        P                  ! VP                  VP                  VP                  R7      V n        \        VP                  VP                  VP                  R7      V n        \        P"                  ! \%        VP&                  4       Uu. uF  p\)        WR7      NK  	  up4      V n        \        P*                  ! VP                  VP,                  4      V n        RV n        V P3                  4        R# u upi )r�   )rc   )rg   ri   rc   )rÉ  FN)r<   rñ   r+  Ú	layerdropÚscale_embeddingr¥  ÚsqrtrE   Úembed_scaler   rù   Ú
vocab_sizeÚpad_token_idrb   re   Úmax_position_embeddingsÚembed_positionsrx  ry  rz  r$   ri  rj  Ú
layer_normr{  rŠ  )rk   r?   Úirq   s   && €r,   rñ   ÚKosmos2TextTransformer.__init__  s	  ø€ Ü‰Ñ˜Ô Ø—~‘~ˆŒØ×)Ñ)ˆŒà:@×:P×:PÐ:Pœ4Ÿ9š9 V×%5Ñ%5Ô6ÐVYˆÔÜŸLšL¨×):Ñ):¸F×<LÑ<LÐZ`×ZmÑZmÔnˆÔäGØ ×8Ñ8Ø ×*Ñ*Ø×+Ñ+ô 
ˆÔô —m’mÔTYÐZ`×ZgÑZgÔThÓ$iÑThÈqÔ%5°f×%JÑThÑ$iÓjˆŒÜŸ,š, v×'7Ñ'7¸×9NÑ9NÓOˆŒà&+ˆÔ#à�‰Öùò %js   Ä E*c                óþ   € R pVR,          ^8”  d$   \        VVP                  VP                  VR7      pVeF   \        WP                  VR,          R7      P	                  VP                  4      pVf   TMWe,           pV# )N)rŸ   r    ©rŒ   r9   )r¬   r‹   rŸ   rœ   r“   )rk   r)  rL  r  r    Úcombined_attention_maskÚexpanded_attn_masks   &&&&&  r,   Ú_prepare_decoder_attention_maskÚ6Kosmos2TextTransformer._prepare_decoder_attention_mask”  s�   € ð #'ÐØ�r�?˜QÔÜ&7ØØ×#Ñ#Ø$×+Ñ+Ø'=ô	'Ð#ð Ò%ä!-¨n×>QÑ>QÐ[fÐgiÕ[jÔ!k×!nÑ!nØ×$Ñ$ó"Ðð '>Ò&EÑ"ÐK]ÕKwð $ð 'Ð&r/   c                óÀ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[RS[ P                  R,          /# )r&   r  NrØ   Úimg_input_maskr    rK   r  )r*   r+   s   "€r,   r-   r   «  sc   ø€ ÷ !ñ !ñ —|‘| dÕ*ð!ñ —l‘l TÕ)ð	!ñ
 Ÿ™ tÕ+ð!ñ !$ð!ñ —l‘l TÕ)ñ!r/   c                ó   € Vf   V P                  V4      pVef   VP                  VP                  VP                  4      P	                  RVP                  R4      4      W$P                  \        P                  R7      &   W P                  ,          pV P                  VVVVR7      pVP                  VP                  4      pW',           p\        P                  P                  W€P                  V P                  R7      pV# )Nr  )r°  r  r    rK   r.  r9   )rb   r“   rŸ   r‹   r¨   r’   rL   r•   r  r	  r   r  r+  r0  )	rk   r°  r  rØ   r  r    rK   Ú	positionsrÖ   s	   &&&&&&&  r,   Úforward_embeddingÚ(Kosmos2TextTransformer.forward_embedding«  sê   € ð Ò Ø ×-Ñ-¨iÓ8ˆMàÒ#ØAMÇÁØ×$Ñ$ m×&9Ñ&9óBç‰d�2�|×(Ñ(¨Ó,Ó-ð ×+Ñ+´%·*±*Ð+Ó=Ñ>ð &×(8Ñ(8Õ8ˆð ×(Ñ(ØØ'Ø#9Ø%ð	 )ó 
ˆ	ð —L‘L ×!5Ñ!5Ó6ˆ	à%Õ1ˆäŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆàÐr/   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[ P                  R,          RS[R,          R	S[ P                  R,          R
S[ P                  R,          RS[R,          RS[R,          RS[R,          RS[R,          RS[S[,          RS[S[,          /# )r&   r°  Nr)  rØ   Úimage_embeds_position_maskrÏ  r÷  rÕ   r  rK   Ú	use_cacherø  Úoutput_hidden_statesÚreturn_dictr5  r»   )rL   r�   r   r•   r   r   r±   r   )r*   r+   s   "€r,   r-   r   Ñ  s  ø€ ÷ _
ñ _
á—<‘< $Õ&ð_
ñ Ÿ™ tÕ+ð_
ñ —l‘l TÕ)ð	_
ñ
 %*§L¡L°4Õ$7ð_
ñ  %Ÿ|™|¨dÕ2ð_
ñ !&§¡¨tÕ 3ð_
ñ  �ð_
ñ —|‘| dÕ*ð_
ñ —l‘l TÕ)ð_
ñ ˜$•;ð_
ñ   $�;ð_
ñ # T�kð_
ñ ˜D•[ð_
ñ Ñ-Õ.ð_
ñ  
Ñ:Õ	:ñ!_
r/   c                óú  € Ve   Ve   \        R4      hVe'   VP                  pVP                  RVR,          4      pM#Ve   VP                  4       RR pM\        R4      hV
'       do   Vfk   Vf   V P                  P
                  '       d5   \        \        V P                  R7      \        V P                  R7      4      M\        V P                  R7      pVe   VP                  4       M^ pV^ 8”  d   RpRpV P                  VVVVVV	R7      pV P                  W/VV4      pVe#   Ve   \        WhP                  VR,          R7      p\        P                  P                  VV P                  V P                   R7      pV P"                   FQ  pV P                   '       d*   \$        P&                  ! . 4      pVV P(                  8  d   K>  V! VVV3RVR	VR
VRV
/VB pKS  	  V P+                  V4      p\-        VVR7      # )á  
image_embeds (`torch.FloatTensor` of shape `(batch_size, latent_query_num, hidden_size)`, *optional*):
    Sequence of hidden-states at the output of `Kosmos2ImageToTextProjection`.
image_embeds_position_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
    Mask to indicate the location in a sequence to insert the image features. Mask values selected in `[0,
    1]`:

    - 1 for places where to put the image features,
    - 0 for places that are not for image features (i.e. for text tokens).
NzDYou cannot specify both input_ids and inputs_embeds at the same timez5You have to specify either input_ids or inputs_embeds)r?   )r°  r  rØ   r  r    rK   r  r.  r÷  rÕ   rø  r  )rÔ   rÕ   r9   )r  rN   r¨   r’   r?   Úis_encoder_decoderr
   r	   Úget_seq_lengthr  r  rœ   r‹   r   r  r+  r0  rz  rL   Úrandr  r
  r   )rk   r°  r)  rØ   r  rÏ  r÷  rÕ   r  rK   r  rø  r  r  r5  rL  r    rÖ   Údecoder_layerÚdropout_probabilitys   &&&&&&&&&&&&&&,     r,   r"  ÚKosmos2TextTransformer.forwardÎ  s  € ð< Ò  ]Ò%>ÜÐcÓdÐdØÒ"Ø#Ÿ/™/ˆKØ!Ÿ™ r¨;°r­?Ó;‰IØÒ&Ø'×,Ñ,Ó.¨s°Ð3‰KäÐTÓUÐUç˜Ò0ð )Ò4¸¿¹×8V×8VÐ8Vô $¤L¸¿¹Ô$DÄlÐZ^×ZeÑZeÔFfÔgä!¨¯©Ô5ð ð FUÒE` ×!?Ñ!?Ô!AÐfgÐð " AÔ%ØˆLØ)-Ð&à×.Ñ.ØØ'Ø%Ø5Ø#9Ø%ð /ó 
ˆð ×=Ñ=Ø¨Ð8Nó
ˆð
 !Ò,Ð1GÒ1Sä%1Ð2H×J]ÑJ]ÐgrÐsuÕgvÔ%wÐ"äŸ™×-Ñ-¨m¸t¿|¹|ÐVZ×VcÑVcÐ-Ódˆà!Ÿ[œ[ˆMà�}�}ˆ}Ü&+§j¢j°£nÐ#Ø&¨¯©Ô7Ùá)ØØØ%ñ	ð (>ð		ð
 !0ð	ð #4ð	ð $ð	ð ñ	ŠMñ )ð& Ÿ™¨Ó6ˆä8Ø+Ø+ô
ð 	
r/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rt   rà  )r*   r+   s   "€r,   r-   r   v  ó   ø‡ ‚ ÙÑò r/   )r+  r	  r  rb   r{  r
  r  rz  ©rx   )NNNr‘  N)NNNNNNNNNNNNN)ry   rz   r{   r|   r}   r$   r   rZ   r–  rñ   r  r  r   r   r   r"  r„   r…   r†   r‡   rˆ   s   @@r,   ra   ra   v  s†   ù‡ € à ÐàÐ)Ø‘nÐ%8ÀÈkÔZØ™NÐ+>ÀaÐTbÔcðÐ÷ó ò*'÷.!ò !ðF  ØØ÷_
ñ _
ó ó ó  ð_
÷w … r/   ra   c                   óŽ   a a€ ] tR tRt oRtRtV3R lV 3R lltV3R l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# )ÚKosmos2VisionModeli3  r  c                ó    <€ V ^8„  d   QhRS[ /# rt   rç   )r*   r+   s   "€r,   r-   ÚKosmos2VisionModel.__annotate__8  s   ø€ ÷ ñ Ñ2ñ r/   c                óf   <€ \         SV `  V4       \        V4      V n        V P	                  4        R # rR  )r<   rñ   rƒ  ÚmodelrŠ  rû   s   &&€r,   rñ   ÚKosmos2VisionModel.__init__8  s&   ø€ Ü‰Ñ˜Ô Ü-¨fÓ5ˆŒ
à�‰Ör/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   r,  >  s   ø€ ÷ 5ñ 5¡b§i¡iñ 5r/   c                óB   € V P                   P                  P                  # rR  )r.  rþ   rF   rÐ   s   &r,   Úget_input_embeddingsÚ'Kosmos2VisionModel.get_input_embeddings>  s   € Ø�z‰z×$Ñ$×4Ñ4Ð4r/   c          	      ót   <€ V ^8„  d   QhRS[ P                  R,          RS[RS[S[,          RS[S[,          /# rŽ  ©rL   r²   r•   r   r   r±   r®   )r*   r+   s   "€r,   r-   r,  C  sJ   ø€ ÷ 

ñ 

á×'Ñ'¨$Õ.ð

ñ #'ð

ñ Ñ+Õ,ð	

ñ
 
Ñ8Õ	8ñ

r/   c                ó.   € V P                   ! RR VRV/VB # )r  r  rv   ©r.  )rk   r  r  r5  s   &&&,r,   r"  ÚKosmos2VisionModel.forwardA  s/   € ð �zŠzñ 
Ø%ð
à%=ð
ð ñ
ð 	
r/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rt   rç   )r*   r+   s   "€r,   r-   r,  3  s   ø‡ ‚ ÙÑò r/   r7  )rw   r•  )ry   rz   r{   r|   Úmain_input_namer}   rñ   r2  r   r   r"  r„   r…   r†   r‡   rˆ   s   @@r,   r*  r*  3  sL   ù‡ € à$€OØ!Ð÷ó ÷5ð 5ð Ø÷

ñ 

ó ó ð

÷! … r/   r*  c                   óŠ   a a€ ] tR tRt oR
tV3R lV 3R lltV3R l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# )ÚKosmos2TextModeliP  c                ó    <€ V ^8„  d   QhRS[ /# rt   rà  )r*   r+   s   "€r,   r-   ÚKosmos2TextModel.__annotate__T  s   ø€ ÷ ñ Ñ0ñ r/   c                óf   <€ \         SV `  V4       \        V4      V n        V P	                  4        R # rR  )r<   rñ   ra   r.  rŠ  rû   s   &&€r,   rñ   ÚKosmos2TextModel.__init__T  s&   ø€ Ü‰Ñ˜Ô Ü+¨FÓ3ˆŒ
à�‰Ör/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   r>  Z  ó   ø€ ÷ 'ñ '¡b§i¡iñ 'r/   c                ó.   € V P                   P                  # rR  ©r.  rb   rÐ   s   &r,   r2  Ú%Kosmos2TextModel.get_input_embeddingsZ  ó   € Ø�z‰z×&Ñ&Ð&r/   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[ P                  R,          RS[R,          R	S[ P                  R,          R
S[ P                  R,          RS[R,          RS[S[,          RS[S[,          /# )r&   r°  Nr)  rØ   r  rÏ  r÷  rÕ   r  rK   r  r5  r»   )rL   r�   r   r•   r   r   r±   r   )r*   r+   s   "€r,   r-   r>  _  sß   ø€ ÷ $
ñ $
á—<‘< $Õ&ð$
ñ Ÿ™ tÕ+ð$
ñ —l‘l TÕ)ð	$
ñ
 %*§L¡L°4Õ$7ð$
ñ  %Ÿ|™|¨dÕ2ð$
ñ !&§¡¨tÕ 3ð$
ñ  �ð$
ñ —|‘| dÕ*ð$
ñ —l‘l TÕ)ð$
ñ ˜$•;ð$
ñ Ñ+Õ,ð$
ñ 
Ñ:Õ	:ñ$
r/   c                óN   € V P                   ! RRVRVRVRVRVRVRVRVR	V	R
V
/
VB # )r  r°  r)  rØ   r  rÏ  r÷  rÕ   r  rK   r  rv   r7  )rk   r°  r)  rØ   r  rÏ  r÷  rÕ   r  rK   r  r5  s   &&&&&&&&&&&,r,   r"  ÚKosmos2TextModel.forward]  s€   € ð4 �zŠzñ 
Øð
à)ð
ð &ð
ð (Bð	
ð
 #8ð
ð $:ð
ð ,ð
ð (ð
ð &ð
ð  ð
ð ñ
ð 	
r/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rt   rà  )r*   r+   s   "€r,   r-   r>  P  r'  r/   r7  r(  )
NNNNNNNNNN)ry   rz   r{   r|   r}   rñ   r2  r   r   r"  r„   r…   r†   r‡   rˆ   s   @@r,   r<  r<  P  sG   ù‡ € à Ð÷ó ÷'ð 'ð Ø÷$
ñ $
ó ó ð$
÷ … r/   r<  z‰
    The text model from KOSMOS-2 with a language modeling head on top (linear layer with weights tied to the input
    embeddings).
    c                   ó°   a a€ ] tR tRt oRR/tV3R lV 3R lltV3R lR ltV3R lR	 lt]]	RV3R
 lR ll4       4       t
RV 3R lltV3R ltRtVtV ;t# )r\   i†  zlm_head.weightzmodel.embed_tokens.weightc                ó    <€ V ^8„  d   QhRS[ /# rt   rà  )r*   r+   s   "€r,   r-   Ú#Kosmos2TextForCausalLM.__annotate__�  s   ø€ ÷ ñ Ñ0ñ r/   c                óÊ   <€ \         SV `  V4       \        V4      V n        \        P
                  ! VP                  VP                  R R7      V n        V P                  4        R# )F)Úin_featuresÚout_featuresrî   N)
r<   rñ   ra   r.  r   rD  rE   r  r]   rŠ  rû   s   &&€r,   rñ   ÚKosmos2TextForCausalLM.__init__�  sI   ø€ Ü‰Ñ˜Ô ä+¨FÓ3ˆŒ
Ü—y’y¨V×-=Ñ-=ÈF×L]ÑL]ÐdiÔjˆŒð 	�‰Ör/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   rM  ™  rB  r/   c                ó.   € V P                   P                  # rR  rD  rÐ   s   &r,   r2  Ú+Kosmos2TextForCausalLM.get_input_embeddings™  rF  r/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   rM  œ  s   ø€ ÷ ñ ¡r§y¡yñ r/   c                ó   € V P                   # rR  )r]   rÐ   s   &r,   Úget_output_embeddingsÚ,Kosmos2TextForCausalLM.get_output_embeddingsœ  s   € Ø�|‰|Ðr/   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[ P                  R,          RS[R,          R	S[ P                  R,          R
S[ P                  R,          RS[ P                  R,          RS[R,          RS[S[ P                  ,          RS[S[,          RS[S[	,          /# )r&   r°  Nr)  rØ   r  rÏ  r÷  rÕ   r  rK   Úlabelsr  Úlogits_to_keepr5  r»   )
rL   r�   r   Ú
LongTensorr•   rŽ   r   r   r±   r   )r*   r+   s   "€r,   r-   rM  ¡  s  ø€ ÷ A
ñ A
á—<‘< $Õ&ðA
ñ Ÿ™ tÕ+ðA
ñ —l‘l TÕ)ð	A
ñ
 %*§L¡L°4Õ$7ðA
ñ  %Ÿ|™|¨dÕ2ðA
ñ !&§¡¨tÕ 3ðA
ñ  �ðA
ñ —|‘| dÕ*ðA
ñ —l‘l TÕ)ðA
ñ × Ñ  4Õ'ðA
ñ ˜$•;ðA
ñ ™eŸl™lÕ*ðA
ñ Ñ+Õ,ðA
ñ 
Ñ2Õ	2ñA
r/   c                ó  € V
e    V'       d   \         P                  R4       RpV P                  ! RRVRVRVRVRVR	VR
VRVRV	RV/
VB pVP                  p\	        V\
        4      '       d   \        V) R4      MTpV P                  VRVR3,          4      pRpV
e-   V P                  ! RRVRV
RV P                  P                  /VB p\        VVVP                  VP                  VP                  VP                  R7      # )a¤  
image_embeds (`torch.FloatTensor` of shape `(batch_size, latent_query_num, hidden_size)`, *optional*):
    Sequence of hidden-states at the output of `Kosmos2ImageToTextProjection`.
image_embeds_position_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
    Mask to indicate the location in a sequence to insert the image features. Mask values selected in `[0,
    1]`:

    - 1 for places where to put the image features,
    - 0 for places that are not for image features (i.e. for text tokens).
labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
    Labels for computing the left-to-right language modeling loss (next word prediction). Indices should be in
    `[-100, 0, ..., config.vocab_size]` (see `input_ids` docstring) Tokens with indices set to `-100` are
    ignored (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`
NzJThe `use_cache` argument is changed to `False` since `labels` is provided.Fr°  r)  rØ   r  rÏ  r÷  rÕ   r  rK   r  r‘   rä   rZ  r  )rã   rä   rÕ   rÖ   r×   rþ  rv   )ÚloggerÚwarningr.  rÔ   r@   rŽ   Úslicer]   Úloss_functionr?   r  r   rÕ   rÖ   r×   rþ  )rk   r°  r)  rØ   r  rÏ  r÷  rÕ   r  rK   rZ  r  r[  r5  ÚoutputsrÖ   Úslice_indicesrä   rã   s   &&&&&&&&&&&&&,     r,   r"  ÚKosmos2TextForCausalLM.forwardŸ  sM  € ð@ ÒßÜ—‘ÐkÔlØˆIà=A¿ZºZñ >
Øð>
à)ð>
ð &ð>
ð (Bð	>
ð
 #8ð>
ð $:ð>
ð ,ð>
ð (ð>
ð &ð>
ð  ð>
ð ñ>
ˆð  ×1Ñ1ˆä8BÀ>ÔSV×8WÒ8Wœ˜~˜o¨tÔ4Ð]kˆØ—‘˜m¨A¨}¸aÐ,?Õ@ÓAˆàˆØÒØ×%Ò%Ñp¨VÐp¸FÐpÈtÏ{É{×OeÑOeÐpÐioÑpˆDä0ØØØ#×3Ñ3Ø!×/Ñ/Ø×)Ñ)Ø$×5Ñ5ô
ð 	
r/   c	                ó¾  <€ V'       g   V'       d   R pR pM•Ve’   Ve   VP                  4       R R MVP                  4       w  r«VP                  4       R,          p\        P                  ! V\        P                  ! W«V,
          3\        P                  VP
                  R7      3^R7      p\        SV `  ! V3RVRVRVRVRVRVR	V/V	B pVP                  R
R 4       V# )N)r’   r‹   rŸ   r¤   rÕ   r)  rØ   r  r  r  Úis_first_iterationrK   r9   )	r’   rL   r©   rª   r•   rŸ   r<   Úprepare_inputs_for_generationÚpop)rk   r°  rØ   r  rÕ   r)  r  r  rf  Úmodel_kwargsr  r¶  Úmask_lenÚmodel_inputsrq   s   &&&&&&&&&,    €r,   rg  Ú4Kosmos2TextForCausalLM.prepare_inputs_for_generationä  s  ø€ ÷$ "§iØˆLØ)-Ñ&ð (Ò3Ø?LÒ?X -×"4Ñ"4Ó"6°s¸Ñ";Ð^l×^qÑ^qÓ^sÑˆJØ1×6Ñ6Ó8¸Õ<ˆHÜ).¯ªà.Ü—K’K j¸HÕ2DÐ%EÌUÏZÉZÐ`i×`pÑ`pÔqðð ô*Ð&ô ‘wÒ<Øñ

à+ð

ð *ð

ð &ð	

ð
 (Bð

ð (ð

ð  ð

ð  2ð

ð ñ

ˆð 	×Ñ˜¨Ô.àÐr/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rt   rà  )r*   r+   s   "€r,   r-   rM  †  s   ø‡ ‚ ñ Ñò r/   )r]   r.  )NNNNNNNNNNNr‘  )NNNNNNF)ry   rz   r{   r|   Ú_tied_weights_keysrñ   r2  rW  r   r   r"  rg  r„   r…   r†   r‡   rˆ   s   @@r,   r\   r\   †  sc   ù‡ € ð +Ð,GÐHÐ÷ó ÷'ð '÷ð ð Ø÷A
ñ A
ó ó ðA
÷F0÷} … r/   r\   c                   óH   a a€ ] tR tRt oRtV3R lV 3R lltR tRtVtV ;t	# )r^   i  zmThe layer that transforms the image model's output to part of the text model's input (namely, image features)c                ó    <€ V ^8„  d   QhRS[ /# rt   ru   )r*   r+   s   "€r,   r-   Ú)Kosmos2ImageToTextProjection.__annotate__  s   ø€ ÷ 
ñ 
™}ñ 
r/   c           	     ó   <€ \         SV `  4        \        P                  ! VP                  P
                  VP                  P                  4      V n        \        P                  ! \        P                  ! VP                  VP                  P                  4      4      V n        \        VP                  VP                  P                  VP                  P                  VP                  P                   R R R7      V n        R# )F)r+  rÇ  rÈ  N)r<   rñ   r   rD  r2   rW   r4   rE   r_   rô   rL   rõ   Úlatent_query_numr`   rZ   rî  rB  Úx_attnrû   s   &&€r,   rñ   Ú%Kosmos2ImageToTextProjection.__init__  s®   ø€ Ü‰ÑÔÜ—Y’Y˜v×3Ñ3×?Ñ?À×ASÑAS×A]ÑA]Ó^ˆŒ
ÜŸLšL¬¯ª°V×5LÑ5LÈf×N`ÑN`×NjÑNjÓ)kÓlˆÔä)Ø×ÑØ×Ñ×(Ñ(Ø×Ñ×.Ñ.Ø×&Ñ&×8Ñ8ØØ%*ô
ˆŽr/   c                ó  € V P                  V4      pV P                  P                  ^ 4      P                  VP	                  ^ 4      RR4      p\
        P                  ! W#.^R7      pV P                  VVRRRR7      w  r%W%3# )r‘  r¤   N)rÖ   rÏ  rÕ   r)  rø  r9   )r_   r`   r  rO   r’   rL   r©   rt  )rk   ÚfeaturesrÖ   r`   Úkey_value_statesr6  s   &&    r,   r"  Ú$Kosmos2ImageToTextProjection.forward(  s‰   € ØŸ
™
 8Ó,ˆð ×(Ñ(×2Ñ2°1Ó5×<Ñ<¸]×=OÑ=OÐPQÓ=RÐTVÐXZÓ[ˆÜ Ÿ9š9 mÐ%BÈÔJÐà&*§k¡kØ&Ø"2Ø ØØ"ð '2ó '
Ñ#ˆð Ð*Ð*r/   )r_   r`   rt  rS  rˆ   s   @@r,   r^   r^     s   ù‡ € Ùw÷
ó 
÷+ò +r/   r^   z}
    KOSMOS-2 Model for generating text and image features. The model consists of a vision encoder and a language model.
    c                   óº   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltR t]]	RV3R lR	 ll4       4       t
]]	RV3R
 lR ll4       4       tV3R ltRtVtV ;t# )ÚKosmos2Modeli:  r  c                ó    <€ V ^8„  d   QhRS[ /# rt   ru   )r*   r+   s   "€r,   r-   ÚKosmos2Model.__annotate__C  s   ø€ ÷ ñ ™}ñ r/   c                óÎ   <€ \         SV `  V4       \        VP                  4      V n        \        VP                  4      V n        \        V4      V n	        V P                  4        R # rR  )r<   rñ   r<  r4   Ú
text_modelr*  r2   Úvision_modelr^   Úimage_to_text_projectionrŠ  rû   s   &&€r,   rñ   ÚKosmos2Model.__init__C  sN   ø€ Ü‰Ñ˜Ô ä*¨6×+=Ñ+=Ó>ˆŒÜ.¨v×/CÑ/CÓDˆÔÜ(DÀVÓ(LˆÔ%ð 	�‰Ör/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   r}  M  ó   ø€ ÷ 2ñ 2¡b§i¡iñ 2r/   c                óB   € V P                   P                  P                  # rR  ©r  r.  rb   rÐ   s   &r,   r2  Ú!Kosmos2Model.get_input_embeddingsM  ó   € Ø�‰×$Ñ$×1Ñ1Ð1r/   c                ó:   € WP                   P                  n        R # rR  r†  ©rk   r(  s   &&r,   Úset_input_embeddingsÚ!Kosmos2Model.set_input_embeddingsP  ó   € Ø-2�‰×ÑÖ*r/   c          	      ót   <€ V ^8„  d   QhRS[ P                  RS[R,          RS[S[,          RS[S[,          /# )r&   r  r  Nr5  r»   r5  )r*   r+   s   "€r,   r-   r}  U  sI   ø€ ÷ ñ á×'Ñ'ðñ #'¨¥+ðñ Ñ+Õ,ð	ñ
 
Ñ8Õ	8ñr/   c           	     óv  € R V9   d.   \         P                  ! R\        4       VP                  R R4       V P                  ! RRVRVRR/VB pV P                  P
                  P                  V^ ,          4      p\        P                  P                  VR	R7      pV P                  V4      w  rVWTn        Wdn        V# )
Úreturn_attentionsz¯`return_attentions` is deprecated and will be removed in a future version. Please use `return_dict` and access `projection_attentions` from the returned `ModelOutput` instead.Nr  r  r  Tr¤   rv   r9   )ÚwarningsÚwarnÚFutureWarningrh  r€  r.  r‰  r   r  Ú	normalizer�  r�  r°   )rk   r  r  r5  Úvision_outputrØ   r°   s   &&&,   r,   Úget_image_featuresÚKosmos2Model.get_image_featuresS  sÌ   € ð  &Ô(Ü�MŠMð_äôð
 �J‰JÐ*¨DÔ1àAE×ARÒARñ B
Ø%ðB
à%=ðB
ð ðB
ð ñ	B
ˆð ×(Ñ(×.Ñ.×=Ñ=¸mÈAÕ>NÓOˆä—}‘}×.Ñ.¨|ÀÐ.ÓDˆØ.2×.KÑ.KÈLÓ.YÑ+ˆØ&2Ô#Ø.CÔ+àÐr/   c                óŒ  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[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  Nr°  r  r)  rÕ   rØ   r  rK   r  r  r5  r»   )rL   r�   r   r•   r   r   r±   r¸   )r*   r+   s   "€r,   r-   r}  u  sä   ø€ ÷ X
ñ X
á—l‘l TÕ)ðX
ñ —<‘< $Õ&ðX
ñ %*§L¡L°4Õ$7ð	X
ñ
 Ÿ™ tÕ+ðX
ñ  �ðX
ñ —l‘l TÕ)ðX
ñ —|‘| dÕ*ðX
ñ —l‘l TÕ)ðX
ñ ˜$•;ðX
ñ #'ðX
ñ Ñ+Õ,ðX
ñ 
Ñ#Õ	#ñX
r/   c                óJ  € RpRpVf?   Vf   \        R4      hV P                  ! V3RV
RR/VB pVP                  pVP                  pV P                  ! RRVRVRVR	VR
VRVRVRV	RR/	VB p\        VP                  VP                  VP                  VP                  VVVR7      # )a�  
image_embeds_position_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
    Mask to indicate the location in a sequence to insert the image features. Mask values selected in `[0,
    1]`:

    - 1 for places where to put the image features,
    - 0 for places that are not for image features (i.e. for text tokens).
image_embeds (`torch.FloatTensor` of shape `(batch_size, latent_query_num, hidden_size)`, *optional*):
    Sequence of hidden-states at the output of `Kosmos2ImageToTextProjection`.

Examples:

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

>>> model = Kosmos2Model.from_pretrained("microsoft/kosmos-2-patch14-224")
>>> processor = AutoProcessor.from_pretrained("microsoft/kosmos-2-patch14-224")

>>> url = "https://huggingface.co/microsoft/kosmos-2-patch14-224/resolve/main/snowman.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> text = (
...     "<grounding> An image of<phrase> a snowman</phrase><object><patch_index_0044><patch_index_0863>"
...     "</object> warming himself by<phrase> a fire</phrase><object><patch_index_0005><patch_index_0911>"
...     "</object>"
... )

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

>>> last_hidden_state = model(
...     pixel_values=inputs["pixel_values"],
...     input_ids=inputs["input_ids"],
...     attention_mask=inputs["attention_mask"],
...     image_embeds_position_mask=inputs["image_embeds_position_mask"],
... ).last_hidden_state
>>> list(last_hidden_state.shape)
[1, 91, 2048]
```Nú<You have to specify either `pixel_values` or `image_embeds`.r  r  Tr°  r)  rØ   r  rÕ   r  rK   r  )rÔ   rÕ   rÖ   r×   rØ   r°   rÃ   rv   )
r  r–  r�  r°   r  r¸   rÔ   rÕ   rÖ   r×   )rk   r  r°  r  r)  rÕ   rØ   r  rK   r  r  r5  Úimage_featuresr°   rb  s   &&&&&&&&&&&,   r,   r"  ÚKosmos2Model.forwards  s  € ðt ˆØ $ÐØÒØÒ#Ü Ð!_Ó`Ð`Ø!×4Ò4ØñØ7OðØ]aðØekñˆNð *×7Ñ7ˆLØ$2×$HÑ$HÐ!à—/’/ñ 
Øð
à)ð
ð &ð
ð (Bð	
ð
 ,ð
ð (ð
ð &ð
ð  ð
ð ð
ð ñ
ˆô "Ø%×7Ñ7Ø#×3Ñ3Ø!×/Ñ/Ø×)Ñ)Ø%Ø"7Ø .ô
ð 	
r/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rt   ru   )r*   r+   s   "€r,   r-   r}  :  s   ø‡ ‚ ñ Ñò r/   ©r�  r  r€  r$  )
NNNNNNNNNF)ry   rz   r{   r|   r:  rñ   r2  r‹  r   r   r–  r"  r„   r…   r†   r‡   rˆ   s   @@r,   r{  r{  :  sr   ù‡ € ð %€O÷ó ÷2ð 2ò3ð Ø÷ñ ó ó ðð< Ø÷X
ñ X
ó ó ðX
÷w … r/   r{  z�
    KOSMOS-2 Model for generating text and bounding boxes given an image. The model consists of a vision encoder and a
    language model.
    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V3R
 lR lt	R t
]]RV3R lR ll4       4       t]P                  ! 4       RV3R lR ll4       tV3R ltRtVtV ;t# )ÚKosmos2ForConditionalGenerationiÐ  r  ztext_model.lm_head.weightz$text_model.model.embed_tokens.weightc                ó    <€ V ^8„  d   QhRS[ /# rt   ru   )r*   r+   s   "€r,   r-   Ú,Kosmos2ForConditionalGeneration.__annotate__Û  s   ø€ ÷ 	ñ 	™}ñ 	r/   c                óÎ   <€ \         SV `  V4       \        VP                  4      V n        \        VP                  4      V n        \        V4      V n	        V P                  4        R # rR  )r<   rñ   r\   r4   r  r*  r2   r€  r^   r�  rŠ  rû   s   &&€r,   rñ   Ú(Kosmos2ForConditionalGeneration.__init__Û  sN   ø€ Ü‰Ñ˜Ô ä0°×1CÑ1CÓDˆŒÜ.¨v×/CÑ/CÓDˆÔä(DÀVÓ(LˆÔ%ð 	�‰Ör/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   r¢  æ  r„  r/   c                óB   € V P                   P                  P                  # rR  r†  rÐ   s   &r,   r2  Ú4Kosmos2ForConditionalGeneration.get_input_embeddingsæ  rˆ  r/   c                ó:   € WP                   P                  n        R # rR  r†  rŠ  s   &&r,   r‹  Ú4Kosmos2ForConditionalGeneration.set_input_embeddingsé  r�  r/   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rº   r(   )r*   r+   s   "€r,   r-   r¢  ì  s   ø€ ÷ 7ñ 7¡r§y¡yñ 7r/   c                ó6   € V P                   P                  4       # rR  )r  rW  rÐ   s   &r,   rW  Ú5Kosmos2ForConditionalGeneration.get_output_embeddingsì  s   € Ø�‰×4Ñ4Ó6Ð6r/   c                ó<   € V P                   P                  V4       R # rR  )r  Úset_output_embeddings)rk   Únew_embeddingss   &&r,   r®  Ú5Kosmos2ForConditionalGeneration.set_output_embeddingsï  s   € Ø�‰×-Ñ-¨nÖ=r/   c                óØ  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[ P                  R,          R	S[ P                  R,          R
S[ P                  R,          RS[R,          RS[S[ P                  ,          RS[S[,          RS[S[	,          /# )r&   r  Nr°  r  r)  rÕ   rØ   r  rK   rZ  r  r[  r5  r»   )
rL   r�   r   r\  r•   rŽ   r   r   r±   rÛ   )r*   r+   s   "€r,   r-   r¢  ô  s  ø€ ÷ k
ñ k
á—l‘l TÕ)ðk
ñ —<‘< $Õ&ðk
ñ %*§L¡L°4Õ$7ð	k
ñ
 Ÿ™ tÕ+ðk
ñ  �ðk
ñ —l‘l TÕ)ðk
ñ —|‘| dÕ*ðk
ñ —l‘l TÕ)ðk
ñ × Ñ  4Õ'ðk
ñ ˜$•;ðk
ñ ™eŸl™lÕ*ðk
ñ Ñ+Õ,ðk
ñ 
Ñ;Õ	;ñk
r/   c                óê  € RpRpVf‚   Vf   \        R4      hV P                  VR7      pV P                  P                  P                  V^ ,          4      p\        P
                  P                  VRR7      pV P                  V4      w  rnV P                  ! RRVRVRVRVR	VR
VRVRV	RV
RV/
VB p\        VP                  VP                  VP                  VP                  VP                  VVVR7      # )a-
  
image_embeds_position_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
    Mask to indicate the location in a sequence to insert the image features. Mask values selected in `[0,
    1]`:

    - 1 for places where to put the image features,
    - 0 for places that are not for image features (i.e. for text tokens).
image_embeds (`torch.FloatTensor` of shape `(batch_size, latent_query_num, hidden_size)`, *optional*):
    Sequence of hidden-states at the output of `Kosmos2ImageToTextProjection`.
labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
    Labels for computing the left-to-right language modeling loss (next word prediction). Indices should be in
    `[-100, 0, ..., config.vocab_size]` (see `input_ids` docstring) Tokens with indices set to `-100` are
    ignored (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`

Examples:

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

>>> model = Kosmos2ForConditionalGeneration.from_pretrained("microsoft/kosmos-2-patch14-224")
>>> processor = AutoProcessor.from_pretrained("microsoft/kosmos-2-patch14-224")

>>> url = "https://huggingface.co/microsoft/kosmos-2-patch14-224/resolve/main/snowman.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> prompt = "<grounding> An image of"

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

>>> generated_ids = model.generate(
...     pixel_values=inputs["pixel_values"],
...     input_ids=inputs["input_ids"],
...     attention_mask=inputs["attention_mask"],
...     image_embeds=None,
...     image_embeds_position_mask=inputs["image_embeds_position_mask"],
...     use_cache=True,
...     max_new_tokens=64,
... )
>>> generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
>>> processed_text = processor.post_process_generation(generated_text, cleanup_and_extract=False)
>>> processed_text
'<grounding> An image of<phrase> a snowman</phrase><object><patch_index_0044><patch_index_0863></object> warming himself by<phrase> a fire</phrase><object><patch_index_0005><patch_index_0911></object>.'

>>> caption, entities = processor.post_process_generation(generated_text)
>>> caption
'An image of a snowman warming himself by a fire.'

>>> entities
[('a snowman', (12, 21), [(0.390625, 0.046875, 0.984375, 0.828125)]), ('a fire', (41, 47), [(0.171875, 0.015625, 0.484375, 0.890625)])]
```Nrš  )r  r¤   r°  r)  rØ   r  rÕ   r  rK   rZ  r  r[  )rã   rä   rÕ   rÖ   r×   rØ   r°   rÃ   r9   rv   )r  r€  r.  r‰  r   r  r”  r�  r  rÛ   rã   rä   rÕ   rÖ   r×   )rk   r  r°  r  r)  rÕ   rØ   r  rK   rZ  r  r[  r5  rÃ   r°   Ú
lm_outputss   &&&&&&&&&&&&,   r,   r"  Ú'Kosmos2ForConditionalGeneration.forwardò  sP  € ðN #ÐØ $ÐØÒØÒ#Ü Ð!_Ó`Ð`à"&×"3Ñ"3Ø)ð #4ó #Ðð  ×,Ñ,×2Ñ2×AÑAÐBUÐVWÕBXÓYˆLäŸ=™=×2Ñ2°<ÀRÐ2ÓHˆLØ26×2OÑ2OÐP\Ó2]Ñ/ˆLà8<¿ºñ 9
Øð9
à)ð9
ð &ð9
ð (Bð	9
ð
 ,ð9
ð (ð9
ð &ð9
ð ð9
ð  ð9
ð *ð9
ð ñ9
ˆ
ô :Ø—‘Ø×$Ñ$Ø&×6Ñ6Ø$×2Ñ2Ø!×,Ñ,Ø%Ø"7Ø 3ô	
ð 		
r/   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[ P                  R,          /# )r&   r  Nr  r°  r)  rØ   r  r[  )r*   r+   s   "€r,   r-   r¢  b  s}   ø€ ÷ %ñ %á—l‘l TÕ)ð%ñ %*§L¡L°4Õ$7ð%ñ —<‘< $Õ&ð	%ñ
 Ÿ™ tÕ+ð%ñ —l‘l TÕ)ð%ñ —|‘| dÕ*ñ%r/   c                ó¢  € VP                  R R4      pVe   Ve   \        RV R24      hVf   Ve   TpVfr   V P                  V4      p	V P                  P                  P	                  V	^ ,          4      p\
        P                  P                  VR
R7      pV P                  V4      w  rZV P                  P                  ! RRVRVRVRVR	V/VB pV# )ÚinputsNz
`inputs`: zp were passed alongside `pixel_values` which is not allowed.Make sure to either pass `inputs` or pixel_values=...r¤   r°  r)  rØ   r  r  r9   rv   )rh  r  r€  r.  r‰  r   r  r”  r�  r  Úgenerate)rk   r  r  r°  r)  rØ   r  r5  r·  rÃ   r°   Úoutputs   &&&&&&&,    r,   r¸  Ú(Kosmos2ForConditionalGeneration.generatea  s  € ð —‘˜H dÓ+ˆØÒ#¨Ò(:ÜØ˜V˜Hð %Hð Ióð ð Ò FÒ$6Ø!ˆLàÒØ"&×"3Ñ"3°LÓ"AÐà×,Ñ,×2Ñ2×AÑAÐBUÐVWÕBXÓYˆLäŸ=™=×2Ñ2°<ÀRÐ2ÓHˆLØ26×2OÑ2OÐP\Ó2]Ñ/ˆLà—‘×)Ò)ñ 
Øð
à)ð
ð &ð
ð (Bð	
ð
 (ð
ð ñ
ˆð ˆr/   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rt   ru   )r*   r+   s   "€r,   r-   r¢  Ð  s   ø‡ ‚ ñ Ñò r/   rž  )NNNNNNNNNNr‘  )NNNNNN)ry   rz   r{   r|   r:  rn  rñ   r2  r‹  rW  r®  r   r   r"  rL   rƒ   r¸  r„   r…   r†   r‡   rˆ   s   @@r,   r   r   Ð  sŒ   ù‡ € ð %€OØ5Ð7]Ð^Ð÷	ó 	÷2ð 2ò3÷7ð 7ò>ð Ø÷k
ñ k
ó ó ðk
ðZ ‡]‚]ƒ_÷%ñ %ó ð%÷e … r/   r   rR  rÃ  )r5   )r   r{  r"   )Qr´   r¥  r‘  Úcollections.abcr   Údataclassesr   Útypingr   rL   r   Ú r   rB   Úactivationsr   Úcache_utilsr   r	   r
   Ú
generationr   Úmodeling_flash_attention_utilsr   Úmodeling_layersr   Úmodeling_outputsr   r   r   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   r   r   r   Úutils.genericr   Úutils.output_capturingr   r   Úconfiguration_kosmos2r   r   r    Ú
get_loggerry   r^  r"   rœ   r¬   r®   r¸   rÛ   r)   rA   r8  rP   rV   r#   rt  rƒ  re   rZ   r[   r$   ra   r*  r<  r\   r^   r{  r   Ú__all__rv   r/   r,   Ú<module>rÎ     s‹  ðñ ã Û Ý $Ý !Ý ã Ý å &Ý !ß CÑ CÝ )Ý BÝ 9÷ó ÷ GÝ &ß j× jÝ 7ß Eß XÑ Xð 
×	Ò	˜HÓ	%€ð ô=4˜_ó =4ó ð=4÷@[÷\ð" Ø
ô
BÐ.Hó 
Bó ó ð
Bñ ðôð
 ô
˜ó 
ó óð
ñ: ðôð
 ô
°ó 
ó óð
ôFP˜bŸi™iô P÷h%ô,<)˜RŸY™Yô <)ô@�r—y‘yô ô Ð :ô ôB-
˜2Ÿ9™9ô -
ôb,
Ð5ô ,
ô`j8¨r¯y©yô j8ôZo)˜"Ÿ)™)ô o)ôd�R—Y‘Yô ô.VÐ1ô Vôrz
Ð3ô z
ôz
Ð/ô 
ô:3
Ð-ô 3
ñl ðôôHÐ3°_ó HóðHôV + 2§9¡9ô  +ñF ðôô
N
Ð)ó N
óð
N
ñb ðôôqÐ&<¸oó qóðqòh X‚r/   