+
    œ°³jŒÀ  ã                   óx  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHu 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 ^RIHt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+ ]#PX                  ! ]-4      t. ! R R]P^                  4      t0 ! R R]P^                  4      t1 ! R R]P^                  4      t2 ! R R]P^                  4      t3 ! R R]P^                  4      t4 ! R R]4      t5 ! R R]P^                  4      t6 ! R R]P^                  4      t7 ! R R ]P^                  4      t8]! ! R! R"]4      4       t9]! ! R# R$]94      4       t: ! R% R&]P^                  4      t;]!! R'R(7       ! R) R*]94      4       t<]! ! R+ R,]94      4       t=]!! R-R(7       ! R. R/]94      4       t>. R0Ot?R# )1zPyTorch LayoutLMv3 model.N)ÚBCEWithLogitsLossÚCrossEntropyLossÚMSELoss)Úinitialization)ÚACT2FN)Úcreate_bidirectional_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚQuestionAnsweringModelOutputÚSequenceClassifierOutputÚTokenClassifierOutput)ÚPreTrainedModel)ÚUnpack)Úapply_chunking_to_forward)Úauto_docstringÚcan_return_tupleÚloggingÚ	torch_int)ÚTransformersKwargsÚmerge_with_config_defaults)Úcapture_outputs©ÚLayoutLMv3Configc                   ó@   a a€ ] tR t^3t oRtV 3R ltRR ltRtVtV ;t	# )ÚLayoutLMv3PatchEmbeddingsz€LayoutLMv3 image (patch) embeddings. This class also automatically interpolates the position embeddings for varying
image sizes.c                óN  <€ \         SV `  4        \        VP                  \        P
                  P                  4      '       d   VP                  MVP                  VP                  3p\        VP                  \        P
                  P                  4      '       d   VP                  MVP                  VP                  3pV^ ,          V^ ,          ,          V^,          V^,          ,          3V n        \        P                  ! VP                  VP                  W3R7      V n        R# )é    )Úkernel_sizeÚstrideN)ÚsuperÚ__init__Ú
isinstanceÚ
input_sizeÚcollectionsÚabcÚIterableÚ
patch_sizeÚpatch_shapeÚnnÚConv2dÚnum_channelsÚhidden_sizeÚproj)ÚselfÚconfigÚ
image_sizer&   Ú	__class__s   &&  €Ús/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/layoutlmv3/modeling_layoutlmv3.pyr    Ú"LayoutLMv3PatchEmbeddings.__init__7   sß   ø€ Ü‰ÑÔô ˜&×+Ñ+¬[¯_©_×-EÑ-E×FÒFð ×Òà×#Ñ# V×%6Ñ%6Ð7ð 	ô ˜&×+Ñ+¬[¯_©_×-EÑ-E×FÒFð ×Òà×#Ñ# V×%6Ñ%6Ð7ð 	ð
 ' q�M¨Z¸­]Õ:¸JÀq½MÈZÐXYÍ]Õ<ZÐ[ˆÔÜ—I’I˜f×1Ñ1°6×3EÑ3EÐS]ÔqˆŽ	ó    c                ó”  € V P                  V4      pVe’   VP                  ^V P                  ^ ,          V P                  ^,          R4      pVP                  ^ ^^^4      pVP                  ^,          VP                  ^,          rT\
        P                  ! W$V3RR7      pW2,           pVP                  ^4      P                  ^^4      pV# )NÚbicubic)ÚsizeÚmodeéÿÿÿÿ)	r,   Úviewr'   ÚpermuteÚshapeÚFÚinterpolateÚflattenÚ	transpose)r-   Úpixel_valuesÚposition_embeddingÚ
embeddingsÚpatch_heightÚpatch_widths   &&&   r1   ÚforwardÚ!LayoutLMv3PatchEmbeddings.forwardG   s¾   € Ø—Y‘Y˜|Ó,ˆ
àÒ)à!3×!8Ñ!8¸¸D×<LÑ<LÈQÕ<OÐQU×QaÑQaÐbcÕQdÐfhÓ!iÐØ!3×!;Ñ!;¸A¸qÀ!ÀQÓ!GÐØ(2×(8Ñ(8¸Õ(;¸Z×=MÑ=MÈaÕ=P˜+Ü!"§¢Ð/AÐWbÐHcÐjsÔ!tÐØ#Õ8ˆJà×'Ñ'¨Ó*×4Ñ4°Q¸Ó:ˆ
ØÐr3   )r'   r,   ©N©
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r    rE   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r0   Ú__classdict__s   @@r1   r   r   3   s   ù‡ € ñõr÷ ô r3   r   c                   óR   a a€ ] tR t^Vt oRtV 3R ltR tR tR tRR lt	Rt
VtV ;t# )	ÚLayoutLMv3TextEmbeddingsze
LayoutLMv3 text embeddings. Same as `RobertaEmbeddings` but with added spatial (layout) embeddings.
c                óV  <€ \         SV `  4        \        P                  ! VP                  VP
                  VP                  R 7      V n        \        P                  ! VP                  VP
                  4      V n	        \        P                  ! VP
                  VP                  R7      V n
        \        P                  ! VP                  4      V n        \        P                  ! \         P"                  ! VP$                  4      P'                  R4      RR7      V n        VP                  V n        \        P                  ! VP$                  VP
                  V P*                  R 7      V n        \        P                  ! VP.                  VP0                  4      V n        \        P                  ! VP.                  VP0                  4      V n        \        P                  ! VP.                  VP6                  4      V n        \        P                  ! VP.                  VP6                  4      V n        R# ))Úpadding_idx©ÚepsF©Ú
persistentN©é   r8   )r   r    r(   Ú	EmbeddingÚ
vocab_sizer+   Úpad_token_idÚword_embeddingsÚtype_vocab_sizeÚtoken_type_embeddingsÚ	LayerNormÚlayer_norm_epsÚDropoutÚhidden_dropout_probÚdropoutÚBufferÚtorchÚarangeÚmax_position_embeddingsÚexpandÚposition_idsrV   Úposition_embeddingsÚmax_2d_position_embeddingsÚcoordinate_sizeÚx_position_embeddingsÚy_position_embeddingsÚ
shape_sizeÚh_position_embeddingsÚw_position_embeddings©r-   r.   r0   s   &&€r1   r    Ú!LayoutLMv3TextEmbeddings.__init__[   st  ø€ Ü‰ÑÔÜ!Ÿ|š|¨F×,=Ñ,=¸v×?QÑ?QÐ_e×_rÑ_rÔsˆÔÜ%'§\¢\°&×2HÑ2HÈ&×J\ÑJ\Ó%]ˆÔ"äŸš f×&8Ñ&8¸f×>SÑ>SÔTˆŒÜ—z’z &×"<Ñ"<Ó=ˆŒô ŸIšI¤e§l¢l°6×3QÑ3QÓ&R×&YÑ&YÐZaÓ&bÐotÔuˆÔà!×.Ñ.ˆÔÜ#%§<¢<Ø×*Ñ*¨F×,>Ñ,>ÈD×L\ÑL\ô$
ˆÔ ô &(§\¢\°&×2SÑ2SÐU[×UkÑUkÓ%lˆÔ"Ü%'§\¢\°&×2SÑ2SÐU[×UkÑUkÓ%lˆÔ"Ü%'§\¢\°&×2SÑ2SÐU[×UfÑUfÓ%gˆÔ"Ü%'§\¢\°&×2SÑ2SÐU[×UfÑUfÓ%gˆÖ"r3   c                ó2  €  V P                  VR,          4      pV P                  VR,          4      pV P                  VR,          4      pV P                  VR,          4      pT P                  \        P
                  ! TR,          TR,          ,
          ^ R4      4      pT P                  \        P
                  ! TR,          TR,          ,
          ^ R4      4      p\        P                  ! TTTTTT.R	R7      p	T	#   \         d   p\        R4      ThRp?ii ; i)
ºNNNz;The `bbox` coordinate values should be within 0-1000 range.Niÿ  ©Údim©ry   ry   r   )ry   ry   r\   )ry   ry   é   ©ry   ry   é   r8   )rq   rr   Ú
IndexErrorrt   ri   Úclipru   Úcat)
r-   ÚbboxÚleft_position_embeddingsÚupper_position_embeddingsÚright_position_embeddingsÚlower_position_embeddingsÚert   ru   Úspatial_position_embeddingss
   &&        r1   Ú%calculate_spatial_position_embeddingsÚ>LayoutLMv3TextEmbeddings.calculate_spatial_position_embeddingsp   s  € ð	cØ'+×'AÑ'AÀ$ÀwÅ-Ó'PÐ$Ø(,×(BÑ(BÀ4ÈÅ=Ó(QÐ%Ø(,×(BÑ(BÀ4ÈÅ=Ó(QÐ%Ø(,×(BÑ(BÀ4ÈÅ=Ó(QÐ%ð !%× :Ñ :¼5¿:º:ÀdÈ7ÅmÐVZÐ[bÕVcÕFcÐefÐhlÓ;mÓ nÐØ $× :Ñ :¼5¿:º:ÀdÈ7ÅmÐVZÐ[bÕVcÕFcÐefÐhlÓ;mÓ nÐô ',§i¢ià(Ø)Ø)Ø)Ø%Ø%ðð ô
'
Ð#ð +Ð*øô% ô 	cÜÐZÓ[ÐabÐbûð	cús   ‚A C: Ã:DÄDÄDc                óÊ   € VP                  V4      P                  4       p\        P                  ! V^R7      P	                  V4      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`.
rz   )ÚneÚintri   ÚcumsumÚtype_asÚlong)r-   Ú	input_idsrV   ÚmaskÚincremental_indicess   &&&  r1   Ú"create_position_ids_from_input_idsÚ;LayoutLMv3TextEmbeddings.create_position_ids_from_input_idsŠ   sP   € ð �|‰|˜KÓ(×,Ñ,Ó.ˆÜ$Ÿ|š|¨D°aÔ8×@Ñ@ÀÓFÈ$ÕNÐØ"×'Ñ'Ó)¨KÕ7Ð7r3   c                ó.  € VP                  4       RR pV^,          p\        P                  ! V P                  ^,           W0P                  ,           ^,           \        P                  VP
                  R7      pVP                  ^ 4      P                  V4      # )zq
We are provided embeddings directly. We cannot infer which are padded so just generate sequential position ids.
N©ÚdtypeÚdevicer8   )r6   ri   rj   rV   r‘   rš   Ú	unsqueezerl   )r-   Úinputs_embedsÚinput_shapeÚsequence_lengthrm   s   &&   r1   Ú&create_position_ids_from_inputs_embedsÚ?LayoutLMv3TextEmbeddings.create_position_ids_from_inputs_embeds”   s~   € ð $×(Ñ(Ó*¨3¨BÐ/ˆØ% a�.ˆä—|’|Ø×Ñ˜qÕ  /×4DÑ4DÕ"DÀqÕ"HÔPU×PZÑPZÐcp×cwÑcwô
ˆð ×%Ñ% aÓ(×/Ñ/°Ó<Ð<r3   c                ót  € VfK   Ve6   V P                  WP                  4      P                  VP                  4      pMV P	                  V4      pVe   VP                  4       pMVP                  4       R R pVf<   \        P                  ! V\        P                  V P                  P                  R7      pVf   V P                  V4      pV P                  V4      pWW,           pV P                  V4      p	W‰,          pV P                  V4      p
WŠ,           pV P                  V4      pV P                  V4      pV# )Nr˜   r8   )r•   rV   Útorš   rŸ   r6   ri   Úzerosr‘   rm   r`   rb   rn   rŠ   rc   rg   )r-   r’   rƒ   Útoken_type_idsrm   rœ   r�   rb   rB   rn   r‰   s   &&&&&&     r1   rE   Ú LayoutLMv3TextEmbeddings.forward    s  € ð ÒØÒ$à#×FÑFÀy×RbÑRbÓc×fÑfØ×$Ñ$ó ‘ð  $×JÑJÈ=ÓY�àÒ Ø#Ÿ.™.Ó*‰Kà'×,Ñ,Ó.¨s°Ð3ˆKàÒ!Ü"Ÿ[š[¨¼E¿J¹JÈt×O`ÑO`×OgÑOgÔhˆNàÒ Ø ×0Ñ0°Ó;ˆMØ $× :Ñ :¸>Ó JÐà"Õ:ˆ
Ø"×6Ñ6°|ÓDÐØÕ)ˆ
à&*×&PÑ&PÐQUÓ&VÐ#àÕ=ˆ
à—^‘^ JÓ/ˆ
Ø—\‘\ *Ó-ˆ
ØÐr3   )rc   rg   rt   rV   rn   rm   rb   ru   r`   rq   rr   ©NNNNN)rI   rJ   rK   rL   rM   r    rŠ   r•   rŸ   rE   rN   rO   rP   rQ   s   @@r1   rT   rT   V   s)   ù‡ € ñõhò*+ò48ò
=÷'ô 'r3   rT   c                   óR   a a€ ] tR t^Êt oV 3R ltRR ltRV3R lR lltRtVtV ;t	# )ÚLayoutLMv3SelfAttentionc                óB  <€ \         SV `  4        VP                  VP                  ,          ^ 8w  d9   \	        VR4      '       g'   \        RVP                   RVP                   R24      hVP                  V n        \        VP                  VP                  ,          4      V n        V P                  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                  4      V n        \        P                  ! VP                  4      V n        VP"                  V n        VP$                  V n        R# )r   Úembedding_sizezThe hidden size (z6) is not a multiple of the number of attention heads (Ú)N)r   r    r+   Únum_attention_headsÚhasattrÚ
ValueErrorrŽ   Úattention_head_sizeÚall_head_sizer(   ÚLinearÚqueryÚkeyÚvaluere   Úattention_probs_dropout_probrg   Úhas_relative_attention_biasÚhas_spatial_attention_biasrv   s   &&€r1   r    Ú LayoutLMv3SelfAttention.__init__Ë   s;  ø€ Ü‰ÑÔØ×Ñ × :Ñ :Õ:¸aÔ?ÌÐPVÐXh×HiÒHiÜØ# F×$6Ñ$6Ð#7ð 8Ø ×4Ñ4Ð5°Qð8óð ð
 $*×#=Ñ#=ˆÔ Ü#& v×'9Ñ'9¸F×<VÑ<VÕ'VÓ#WˆÔ Ø!×5Ñ5¸×8PÑ8PÕPˆÔä—Y’Y˜v×1Ñ1°4×3EÑ3EÓFˆŒ
Ü—9’9˜V×/Ñ/°×1CÑ1CÓDˆŒÜ—Y’Y˜v×1Ñ1°4×3EÑ3EÓFˆŒ
ä—z’z &×"EÑ"EÓFˆŒØ+1×+MÑ+MˆÔ(Ø*0×*KÑ*KˆÖ'r3   c                ó¬   € W,          pVP                  RR7      P                  R4      pW4,
          V,          p\        P                  ! RR7      ! V4      # )a¢  
https://huggingface.co/papers/2105.13290 Section 2.4 Stabilization of training: Precision Bottleneck Relaxation
(PB-Relax). A replacement of the original nn.Softmax(dim=-1)(attention_scores). Seems the new attention_probs
will result in a slower speed and a little bias. Can use torch.allclose(standard_attention_probs,
cogview_attention_probs, atol=1e-08) for comparison. The smaller atol (e.g., 1e-08), the better.
rz   r8   )Úamaxr›   r(   ÚSoftmax)r-   Úattention_scoresÚalphaÚscaled_attention_scoresÚ	max_valueÚnew_attention_scoress   &&&   r1   Úcogview_attentionÚ)LayoutLMv3SelfAttention.cogview_attentionß   sN   € ð #3Õ":ÐØ+×0Ñ0°bÐ0Ó:×DÑDÀRÓHˆ	Ø 7Õ CÀuÕLÐÜ�zŠz˜bÕ!Ð"6Ó7Ð7r3   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r}   Úkwargs©r   r   )ÚformatrR   s   "€r1   Ú__annotate__Ú$LayoutLMv3SelfAttention.__annotate__ë   s   ø€ ÷ 5.ñ 5.ñ Ñ+Õ,ñ5.r3   c                óÖ  € VP                   ^ ,          pV P                  V4      P                  VRV P                  V P                  4      P                  ^^4      pV P                  V4      P                  VRV P                  V P                  4      P                  ^^4      pV P                  V4      P                  VRV P                  V P                  4      P                  ^^4      p	\        P                  ! V\        P                  ! V P                  4      ,          VP                  RR4      4      p
V P                  '       dH   V P                  '       d6   W£V,           \        P                  ! V P                  4      ,          ,          p
M?V P                  '       d.   W£\        P                  ! V P                  4      ,          ,          p
Ve	   W¢,           p
V P                  V
4      pV P                  V4      p\        P                  ! W¹4      pVP!                  ^ ^^^4      P#                  4       pVP%                  4       RR V P&                  3,           pVP                  ! V!  pWË3# )r   Nr8   éþÿÿÿ)r;   r²   r9   r¬   r¯   r?   r³   r´   ri   ÚmatmulÚmathÚsqrtr¶   r·   rÁ   rg   r:   Ú
contiguousr6   r°   )r-   Úhidden_statesÚattention_maskÚrel_posÚ
rel_2d_posrÅ   Ú
batch_sizeÚquery_layerÚ	key_layerÚvalue_layerr¼   Úattention_probsÚcontext_layerÚnew_context_layer_shapes   &&&&&,        r1   rE   ÚLayoutLMv3SelfAttention.forwardë   sö  € ð #×(Ñ(¨Õ+ˆ
à�J‰J�}Ó%ß‰T�*˜b $×":Ñ":¸D×<TÑ<TÓUß‰Y�q˜!‹_ð 	ð �H‰H�]Ó#ß‰T�*˜b $×":Ñ":¸D×<TÑ<TÓUß‰Y�q˜!‹_ð 	ð �J‰J�}Ó%ß‰T�*˜b $×":Ñ":¸D×<TÑ<TÓUß‰Y�q˜!‹_ð 	ô !Ÿ<š<¨´d·i²iÀ×@XÑ@XÓ6YÕ(YÐ[d×[nÑ[nÐoqÐsuÓ[vÓwÐà×+×+Ð+°×0O×0OÐ0OØ¨:Õ!5¼¿ºÀ4×C[ÑC[Ó9\Õ \Õ\ÑØ×-×-Ð-Ø¬$¯)ª)°D×4LÑ4LÓ*MÕ MÕMÐàÒ%à/Õ@Ðð ×0Ñ0Ð1AÓBˆð Ÿ,™, Ó7ˆäŸš _ÓBˆà%×-Ñ-¨a°°A°qÓ9×DÑDÓFˆØ"/×"4Ñ"4Ó"6°s¸Ð";¸t×?QÑ?QÐ>SÕ"SÐØ%×*Ò*Ð,CÑDˆàÐ-Ð-r3   )	r°   r¯   rg   r¶   r·   r³   r¬   r²   r´   )é    ©NNN)
rI   rJ   rK   rL   r    rÁ   rE   rN   rO   rP   rQ   s   @@r1   r¨   r¨   Ê   s   ù‡ € õLô(
8÷5.÷ 5.ò 5.r3   r¨   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# )ÚLayoutLMv3SelfOutputi$  c                ó0  <€ \         SV `  4        \        P                  ! VP                  VP                  4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  4      V n
        R# ©rW   N)r   r    r(   r±   r+   Údenserc   rd   re   rf   rg   rv   s   &&€r1   r    ÚLayoutLMv3SelfOutput.__init__%  s`   ø€ Ü‰ÑÔÜ—Y’Y˜v×1Ñ1°6×3EÑ3EÓFˆŒ
ÜŸš f×&8Ñ&8¸f×>SÑ>SÔTˆŒÜ—z’z &×"<Ñ"<Ó=ˆŽr3   c                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# ©r}   rÐ   Úinput_tensorÚreturn©ri   ÚTensor)rÇ   rR   s   "€r1   rÈ   Ú!LayoutLMv3SelfOutput.__annotate__+  ó1   ø€ ÷ ñ ¡U§\¡\ð ÁÇÁð ÑRW×R^ÑR^ñ r3   c                óx   € V P                  V4      pV P                  V4      pV P                  W,           4      pV# rG   ©râ   rg   rc   ©r-   rÐ   ræ   s   &&&r1   rE   ÚLayoutLMv3SelfOutput.forward+  ó5   € ØŸ
™
 =Ó1ˆØŸ™ ]Ó3ˆØŸ™ }Õ'CÓDˆØÐr3   ©rc   râ   rg   ©	rI   rJ   rK   rL   r    rE   rN   rO   rP   rQ   s   @@r1   rß   rß   $  ó   ù‡ € õ>÷÷ ð r3   rß   c                   óH   a a€ ] tR tRt oV 3R ltRV3R lR lltRtVtV ;t# )ÚLayoutLMv3Attentioni3  c                ód   <€ \         SV `  4        \        V4      V n        \	        V4      V n        R # rG   )r   r    r¨   r-   rß   Úoutputrv   s   &&€r1   r    ÚLayoutLMv3Attention.__init__4  s&   ø€ Ü‰ÑÔÜ+¨FÓ3ˆŒ	Ü*¨6Ó2ˆŽr3   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÄ   rÆ   )rÇ   rR   s   "€r1   rÈ   Ú LayoutLMv3Attention.__annotate__9  s   ø€ ÷  ñ  ñ Ñ+Õ,ñ r3   c                ó`   € TpV P                   ! VV3R VRV/VB w  rxV P                  Wv4      pV# ©rÒ   rÓ   )r-   r÷   )	r-   rÐ   rÑ   rÒ   rÓ   rÅ   ÚresidualÚattention_outputÚ_s	   &&&&&,   r1   rE   ÚLayoutLMv3Attention.forward9  sW   € ð !ˆØ"ŸišiØØñ
ð ð
ð "ð	
ð
 ñ
ÑÐð  Ÿ;™;Ð'7ÓBÐØÐr3   )r÷   r-   rÝ   rò   rQ   s   @@r1   rõ   rõ   3  s   ù‡ € õ3÷
 ÷  ò  r3   rõ   c                   óN   a a€ ] tR tRt oV 3R ltRV3R lR lltR tRtVtV ;t	# )ÚLayoutLMv3LayeriN  c                ó´   <€ \         SV `  4        VP                  V n        ^V n        \	        V4      V n        \        V4      V n        \        V4      V n	        R# )r\   N)
r   r    Úchunk_size_feed_forwardÚseq_len_dimrõ   Ú	attentionÚLayoutLMv3IntermediateÚintermediateÚLayoutLMv3Outputr÷   rv   s   &&€r1   r    ÚLayoutLMv3Layer.__init__O  sI   ø€ Ü‰ÑÔØ'-×'EÑ'EˆÔ$ØˆÔÜ,¨VÓ4ˆŒÜ2°6Ó:ˆÔÜ& vÓ.ˆŽr3   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÄ   rÆ   )rÇ   rR   s   "€r1   rÈ   ÚLayoutLMv3Layer.__annotate__W  s   ø€ ÷ ñ ñ Ñ+Õ,ñr3   c                óˆ   € V P                  VVVVR 7      p\        V P                  V P                  V P                  V4      pV# )rü   )r  r   Úfeed_forward_chunkr  r  )	r-   rÐ   rÑ   Úoutput_attentionsrÒ   rÓ   rÅ   rþ   Úlayer_outputs	   &&&&&&,  r1   rE   ÚLayoutLMv3Layer.forwardW  sT   € ð  Ÿ>™>ØØØØ!ð	 *ó 
Ðô 1Ø×#Ñ# T×%AÑ%AÀ4×CSÑCSÐUeó
ˆð Ðr3   c                óJ   € V P                  V4      pV P                  W!4      pV# rG   )r  r÷   )r-   rþ   Úintermediate_outputr  s   &&  r1   r  Ú"LayoutLMv3Layer.feed_forward_chunkm  s)   € Ø"×/Ñ/Ð0@ÓAÐØ—{‘{Ð#6ÓIˆØÐr3   )r  r  r  r÷   r  )NFNN)
rI   rJ   rK   rL   r    rE   r  rN   rO   rP   rQ   s   @@r1   r  r  N  s   ù‡ € õ/÷ò ÷,ò r3   r  c                   ó^   a a€ ] tR tRt oV 3R ltR	R ltR tR tR
V3R lR lltRt	Vt
V ;t# )ÚLayoutLMv3Encoderis  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	        VP                  V n
        VP                  V n        V P                  '       dU   VP                  V n        VP                  V n        \        P                  ! V P                  VP                  R R7      V n        V P                  '       d‰   VP"                  V n        VP$                  V n        \        P                  ! V P$                  VP                  R R7      V n        \        P                  ! V P$                  VP                  R R7      V n        R# R# u upi )F)ÚbiasN)r   r    r.   r(   Ú
ModuleListÚrangeÚnum_hidden_layersr  ÚlayerÚgradient_checkpointingr¶   r·   Úrel_pos_binsÚmax_rel_posr±   r¬   Úrel_pos_biasÚmax_rel_2d_posÚrel_2d_pos_binsÚrel_pos_x_biasÚrel_pos_y_bias)r-   r.   rÿ   r0   s   && €r1   r    ÚLayoutLMv3Encoder.__init__t  s)  ø€ Ü‰ÑÔØŒÜ—]’]ÄUÈ6×KcÑKcÔEdÓ#eÑEdÀ¤O°FÖ$;ÑEdÑ#eÓfˆŒ
Ø&+ˆÔ#à+1×+MÑ+MˆÔ(Ø*0×*KÑ*KˆÔ'à×+×+Ð+Ø &× 3Ñ 3ˆDÔØ%×1Ñ1ˆDÔÜ "§	¢	¨$×*;Ñ*;¸V×=WÑ=WÐ^cÔ dˆDÔà×*×*Ð*Ø"(×"7Ñ"7ˆDÔØ#)×#9Ñ#9ˆDÔ Ü"$§)¢)¨D×,@Ñ,@À&×B\ÑB\ÐchÔ"iˆDÔÜ"$§)¢)¨D×,@Ñ,@À&×B\ÑB\ÐchÔ"iˆDÖñ	 +ùò $fs   ½Fc                ó¦  € ^ pV'       dA   V^,          pWQ^ 8„  P                  4       V,          ,          p\        P                  ! V4      pM,\        P                  ! V) \        P                  ! V4      4      pV^,          pWg8  pV\        P
                  ! VP                  4       V,          4      \        P
                  ! WG,          4      ,          W7,
          ,          P                  \        P                   4      ,           p	\        P                  ! V	\        P                  ! W“^,
          4      4      p	V\        P                  ! W†V	4      ,          pV# )r   )r‘   ri   ÚabsÚmaxÚ
zeros_likeÚlogÚfloatrÍ   r¢   ÚminÚ	full_likeÚwhere)
r-   Úrelative_positionÚbidirectionalÚnum_bucketsÚmax_distanceÚretÚnÚ	max_exactÚis_smallÚval_if_larges
   &&&&&     r1   Úrelative_position_bucketÚ*LayoutLMv3Encoder.relative_position_bucketˆ  sõ   € ØˆßØ˜AÕˆKØ¨Ñ)×/Ñ/Ó1°KÕ?Õ?ˆCÜ—	’	Ð+Ó,‰Aä—	’	Ð,Ð,¬e×.>Ò.>Ð?PÓ.QÓRˆAð   1Õ$ˆ	Ø‘=ˆð !Ü�IŠI�a—g‘g“i )Õ+Ó,¬t¯xªx¸Õ8PÓ/QÕQÐU`ÕUlÕmß
‰"ŒU�Z‰Z‹.õˆô —y’y ¬u¯ª¸|Ð[\Í_Ó/]Ó^ˆàŒu�{Š{˜8¨Ó5Õ5ˆØˆ
r3   c                ó°  € VP                  R4      VP                  R4      ,
          pV P                  VV P                  V P                  R7      p\        P
                  ! 4       ;_uu_ 4        V P                  P                  P                  4       V,          P                  ^ ^^^4      pRRR4       VP                  4       pV#   + '       g   i     L"; i)r}   ©r1  r2  NrË   r8   )r›   r8  r  r  ri   Úno_gradr   ÚweightÚtr:   rÏ   )r-   rm   Úrel_pos_matrÒ   s   &&  r1   Ú_cal_1d_pos_embÚ!LayoutLMv3Encoder._cal_1d_pos_embŸ  s©   € Ø"×,Ñ,¨RÓ0°<×3IÑ3IÈ"Ó3MÕMˆà×/Ñ/ØØ×)Ñ)Ø×)Ñ)ð 0ó 
ˆô �]Š]�_�_Ø×'Ñ'×.Ñ.×0Ñ0Ó2°7Õ;×CÑCÀAÀqÈ!ÈQÓOˆG÷ à×$Ñ$Ó&ˆØˆ÷ �_ús   Á->CÃC	c                ó  € VR,          pVR,          pVP                  R4      VP                  R4      ,
          pVP                  R4      VP                  R4      ,
          pV P                  VV P                  V P                  R7      pV P                  VV P                  V P                  R7      p\        P
                  ! 4       ;_uu_ 4        V P                  P                  P                  4       V,          P                  ^ ^^^4      pV P                  P                  P                  4       V,          P                  ^ ^^^4      pRRR4       VP                  4       pVP                  4       pWg,           pV#   + '       g   i     L:; i)ry   r;  Nr|   r~   rË   r8   )r›   r8  r"  r!  ri   r<  r#  r=  r>  r:   r$  rÏ   )	r-   rƒ   Úposition_coord_xÚposition_coord_yÚrel_pos_x_2d_matÚrel_pos_y_2d_matÚ	rel_pos_xÚ	rel_pos_yrÓ   s	   &&       r1   Ú_cal_2d_pos_embÚ!LayoutLMv3Encoder._cal_2d_pos_emb°  s\  € Ø �=ÐØ �=ÐØ+×5Ñ5°bÓ9Ð<L×<VÑ<VÐWYÓ<ZÕZÐØ+×5Ñ5°bÓ9Ð<L×<VÑ<VÐWYÓ<ZÕZÐØ×1Ñ1ØØ×,Ñ,Ø×,Ñ,ð 2ó 
ˆ	ð
 ×1Ñ1ØØ×,Ñ,Ø×,Ñ,ð 2ó 
ˆ	ô �]Š]�_�_Ø×+Ñ+×2Ñ2×4Ñ4Ó6°yÕA×IÑIÈ!ÈQÐPQÐSTÓUˆIØ×+Ñ+×2Ñ2×4Ñ4Ó6°yÕA×IÑIÈ!ÈQÐPQÐSTÓUˆI÷ ð ×(Ñ(Ó*ˆ	Ø×(Ñ(Ó*ˆ	ØÕ*ˆ
ØÐ÷ �_ús   ÃA;E;Å;F	c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÄ   rÆ   )rÇ   rR   s   "€r1   rÈ   ÚLayoutLMv3Encoder.__annotate__Ë  s    ø€ ÷ @ñ @ñ Ñ+Õ,ñ@r3   c                óð   € V P                   '       d   V P                  V4      MR pV P                  '       d   V P                  V4      MR p	V P                   F  p
V
! VV3RVRV	/VB pK  	  \        VR7      # )NrÒ   rÓ   ©Úlast_hidden_state)r¶   r@  r·   rI  r  r	   )r-   rÐ   rƒ   rÑ   rm   rC   rD   rÅ   rÒ   rÓ   Úlayer_modules   &&&&&&&,   r1   rE   ÚLayoutLMv3Encoder.forwardË  s‰   € ð 9=×8X×8XÐ8X�$×&Ñ& |Ô4Ð^bˆØ37×3R×3RÐ3R�T×)Ñ)¨$Ô/ÐX\ˆ
à ŸJœJˆLÙ(ØØñð  ðð &ð	ð
 ñŠMñ 'ô °Ô?Ð?r3   )r.   r  r¶   r·   r  r!  r  r"  r   r  r#  r$  )TrÜ   é€   r¦   )rI   rJ   rK   rL   r    r8  r@  rI  rE   rN   rO   rP   rQ   s   @@r1   r  r  s  s,   ù‡ € õjô(ò.ò"÷6@÷ @ò @r3   r  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# )r  iå  c                ó"  <€ \         SV `  4        \        P                  ! VP                  VP
                  4      V n        \        VP                  \        4      '       d   \        VP                  ,          V n        R # VP                  V n        R # rG   )r   r    r(   r±   r+   Úintermediate_sizerâ   r!   Ú
hidden_actÚstrr   Úintermediate_act_fnrv   s   &&€r1   r    ÚLayoutLMv3Intermediate.__init__æ  s`   ø€ Ü‰ÑÔÜ—Y’Y˜v×1Ñ1°6×3KÑ3KÓLˆŒ
Ü�f×'Ñ'¬×-Ò-Ü'-¨f×.?Ñ.?Õ'@ˆDÖ$à'-×'8Ñ'8ˆDÖ$r3   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r}   rÐ   rç   rè   )rÇ   rR   s   "€r1   rÈ   Ú#LayoutLMv3Intermediate.__annotate__î  s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r3   c                óJ   € V P                  V4      pV P                  V4      pV# rG   ©râ   rX  )r-   rÐ   s   &&r1   rE   ÚLayoutLMv3Intermediate.forwardî  s&   € ØŸ
™
 =Ó1ˆØ×0Ñ0°Ó?ˆØÐr3   r]  rò   rQ   s   @@r1   r  r  å  s   ù‡ € õ9÷÷ ð r3   r  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# )r	  iõ  c                ó0  <€ \         SV `  4        \        P                  ! VP                  VP
                  4      V n        \        P                  ! VP
                  VP                  R 7      V n        \        P                  ! VP                  4      V n        R# rá   )r   r    r(   r±   rU  r+   râ   rc   rd   re   rf   rg   rv   s   &&€r1   r    ÚLayoutLMv3Output.__init__ö  s`   ø€ Ü‰ÑÔÜ—Y’Y˜v×7Ñ7¸×9KÑ9KÓLˆŒ
ÜŸš f×&8Ñ&8¸f×>SÑ>SÔTˆŒÜ—z’z &×"<Ñ"<Ó=ˆŽr3   c                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# rå   rè   )rÇ   rR   s   "€r1   rÈ   ÚLayoutLMv3Output.__annotate__ü  rë   r3   c                óx   € V P                  V4      pV P                  V4      pV P                  W,           4      pV# rG   rí   rî   s   &&&r1   rE   ÚLayoutLMv3Output.forwardü  rð   r3   rñ   rò   rQ   s   @@r1   r	  r	  õ  ró   r3   r	  c                   óz   a a€ ] tR tRt oRtRtR]R]/t]	P                  ! 4       V 3R l4       tV3R ltRtVtV ;t# )	ÚLayoutLMv3PreTrainedModeli  Ú
layoutlmv3rÐ   Ú
attentionsc                ó²  <€ \         SV `  V4       \        V\        4      '       dº   V P                  P
                  '       dA   \        P                  ! VP                  4       \        P                  ! VP                  4       \        VR4      '       dJ   \        P                  ! VP                  VP                  VP                  VP                  3R7      4       R# R# \        V\        4      '       db   \        P                  ! VP                   \"        P$                  ! VP                   P&                  R,          4      P)                  R4      4       R# R# )zInitialize the weightsÚvisual_bbox©r/   Nr8   r[   )r   Ú_init_weightsr!   ÚLayoutLMv3Modelr.   Úvisual_embedÚinitÚzeros_Ú	cls_tokenÚ	pos_embedr­   Úcopy_rk  Úcreate_visual_bboxr6   rT   rm   ri   rj   r;   rl   )r-   Úmoduler0   s   &&€r1   rm  Ú'LayoutLMv3PreTrainedModel._init_weights
  sè   ø€ ô 	‰Ñ˜fÔ%Ü�fœo×.Ò.Ø�{‰{×'×'Ð'Ü—’˜F×,Ñ,Ô-Ü—’˜F×,Ñ,Ô-Ü�v˜}×-Ò-Ü—
’
˜6×-Ñ-¨v×/HÑ/HÐU[×U`ÑU`Ðbh×bmÑbmÐTnÐ/HÓ/oÖpñ .ä˜Ô 8×9Ò9Ü�JŠJ�v×*Ñ*¬E¯LªL¸×9LÑ9L×9RÑ9RÐSUÕ9VÓ,W×,^Ñ,^Ð_fÓ,gÖhñ :r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r}   r.   r   )rÇ   rR   s   "€r1   rÈ   Ú&LayoutLMv3PreTrainedModel.__annotate__  s   ø‡ ‚ áÑò r3   © )ÚimageÚtext)rI   rJ   rK   rL   Úbase_model_prefixÚinput_modalitiesr  r¨   Ú_can_record_outputsri   r<  rm  Ú__annotate_func__rN   rO   rP   rQ   s   @@r1   rg  rg    sD   ù‡ € ð %ÐØ(ÐØ*¨O¸\ÐKbÐcÐà
‡]‚]ƒ_ô
ió ð
i÷ … r3   rg  c                   óˆ   a a€ ] tR tRt oV 3R ltR tR tRR ltR tR t	]
]]RV3R lR	 ll4       4       4       tR
tVtV ;t# )rn  i  c                óª  <€ \         SV `  V4       Wn        VP                  '       d   \	        V4      V n        VP                  '       Edè   \        V4      V n        \        VP                  VP                  ,          4      V n        \        P                  ! \        P                   ! ^^VP"                  4      4      V n        \        P                  ! \        P                   ! ^V P                  V P                  ,          ^,           VP"                  4      4      V n        \        P(                  ! RR7      V n        \        P,                  ! VP"                  VP.                  R7      V n        \        P(                  ! VP0                  4      V n        V P                  P4                  '       g   V P                  P6                  '       dD   \        P8                  ! V P;                  V P                  V P                  3R7      RR7      V n        \        P,                  ! VP"                  RR7      V n        \A        V4      V n!        V PE                  4        R# )	r\   g        )ÚprW   rl  FrY   g�íµ ÷Æ°>N)#r   r    r.   Ú
text_embedrT   rB   ro  r   Úpatch_embedrŽ   r"   r&   r6   r(   Ú	Parameterri   r£   r+   rr  rs  re   Úpos_droprc   rd   rf   rg   r¶   r·   rh   ru  rk  Únormr  ÚencoderÚ	post_initrv   s   &&€r1   r    ÚLayoutLMv3Model.__init__  s„  ø€ Ü‰Ñ˜Ô ØŒà××ÐÜ6°vÓ>ˆDŒOà××Ñô  9¸Ó@ˆDÔä˜F×-Ñ-°×0AÑ0AÕAÓBˆDŒIÜŸ\š\¬%¯+ª+°a¸¸F×<NÑ<NÓ*OÓPˆDŒNÜŸ\š\¬%¯+ª+°a¸¿¹ÀTÇYÁYÕ9NÐQRÕ9RÐTZ×TfÑTfÓ*gÓhˆDŒNÜŸJšJ¨Ô-ˆDŒMäŸ\š\¨&×*<Ñ*<À&×BWÑBWÔXˆDŒNÜŸ:š: f×&@Ñ&@ÓAˆDŒLà�{‰{×6×6Ð6¸$¿+¹+×:`×:`Ð:`Ü#%§9¢9Ø×+Ñ+¸¿	¹	À4Ç9Á9Ð7MÐ+ÓNÐ[`ô$�Ô ô Ÿš V×%7Ñ%7¸TÔBˆDŒIä(¨Ó0ˆŒà�‰Ör3   c                ó.   € V P                   P                  # rG   ©rB   r`   ©r-   s   &r1   Úget_input_embeddingsÚ$LayoutLMv3Model.get_input_embeddings9  s   € Ø�‰×.Ñ.Ð.r3   c                ó&   € WP                   n        R # rG   r�  ©r-   r´   s   &&r1   Úset_input_embeddingsÚ$LayoutLMv3Model.set_input_embeddings<  s   € Ø*/�‰Ö'r3   c           	     ó&  € \         P                  ! \         P                  ! ^ W!^,          ^,           ,          V4      V^,          RR7      p\         P                  ! \         P                  ! ^ W!^ ,          ^,           ,          V4      V^ ,          RR7      p\         P                  ! VRR P	                  V^ ,          ^4      VRR P	                  V^,          ^4      P                  ^ ^4      VR,          P	                  V^ ,          ^4      VR,          P	                  V^,          ^4      P                  ^ ^4      .RR7      P                  R^4      p\         P                  ! ^^V^,
          V^,
          ..4      p\         P                  ! We.^ R7      # )z:
Create the bounding boxes for the visual (patch) tokens.
Útrunc)Úrounding_modeN:r\   NNrz   r8   )	ri   Údivrj   ÚstackÚrepeatr?   r9   Útensorr‚   )r-   r/   Úmax_lenÚvisual_bbox_xÚvisual_bbox_yrk  Úcls_token_boxs   &&&    r1   ru  Ú"LayoutLMv3Model.create_visual_bbox?  sR  € ô Ÿ	š	Ü�LŠL˜˜G°!¥}°qÕ'8Õ9¸7ÓCÀZÐPQÅ]Ðbiô
ˆô Ÿ	š	Ü�LŠL˜˜G°!¥}°qÕ'8Õ9¸7ÓCÀZÐPQÅ]Ðbiô
ˆô —k’kà˜c˜rÐ"×)Ñ)¨*°Q­-¸Ó;Ø˜c˜rÐ"×)Ñ)¨*°Q­-¸Ó;×EÑEÀaÈÓKØ˜bÕ!×(Ñ(¨°A­¸Ó:Ø˜bÕ!×(Ñ(¨°A­¸Ó:×DÑDÀQÈÓJð	ð ô
÷ ‰$ˆr�1‹+ð 	ô Ÿš u¨e°W¸qµ[À'ÈAÅ+Ð&NÐ%OÓPˆÜ�yŠy˜-Ð5¸1Ô=Ð=r3   c                ó€   € V P                   P                  V^^4      pVP                  V4      P                  V4      pV# )r\   )rk  rš  r¢   Útype)r-   rš   r™   rÔ   rk  s   &&&& r1   Úcalculate_visual_bboxÚ%LayoutLMv3Model.calculate_visual_bboxV  s;   € Ø×&Ñ&×-Ñ-¨j¸!¸QÓ?ˆØ!—n‘n VÓ,×1Ñ1°%Ó8ˆØÐr3   c                ó>  € V P                  V4      pVP                  4       w  r4pV P                  P                  VRR4      p\        P
                  ! Wb3^R7      pV P                  e   W P                  ,           pV P                  V4      pV P                  V4      pV# )r\   rz   r8   )	r…  r6   rr  rl   ri   r‚   rs  r‡  rˆ  )r-   r@   rB   rÔ   Úseq_lenrÿ   Ú
cls_tokenss   &&     r1   Úforward_imageÚLayoutLMv3Model.forward_image[  sŠ   € Ø×%Ñ% lÓ3ˆ
ð ",§¡Ó!2Ñˆ
˜QØ—^‘^×*Ñ*¨:°r¸2Ó>ˆ
Ü—Y’Y 
Ð7¸QÔ?ˆ
ð �>‰>Ò%Ø#§n¡nÕ4ˆJà—]‘] :Ó.ˆ
Ø—Y‘Y˜zÓ*ˆ
àÐr3   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[ P                  R,          R	S[S[,          R
S[S[,          /	# )r}   r’   Nrƒ   rÑ   r¤   rm   rœ   r@   rÅ   rç   )ri   Ú
LongTensorÚFloatTensorr   r   Útupler	   )rÇ   rR   s   "€r1   rÈ   ÚLayoutLMv3Model.__annotate__o  sÈ   ø€ ÷ m
ñ m
á×#Ñ# dÕ*ðm
ñ ×Ñ Õ%ðm
ñ ×)Ñ)¨DÕ0ð	m
ñ
 ×(Ñ(¨4Õ/ðm
ñ ×&Ñ&¨Õ-ðm
ñ ×(Ñ(¨4Õ/ðm
ñ ×'Ñ'¨$Õ.ðm
ñ Ñ+Õ,ðm
ñ 
‘Õ	 ñm
r3   c                ó	  € Ve"   VP                  4       p	V	w  r«VP                  pMOVe%   VP                  4       RR p	V	w  r«VP                  pM'Ve   \        V4      p
VP                  pM\        R4      hVf   Ve¥   Vf   \        P
                  ! V
X3VR7      pVf(   \        P                  ! X	\        P                  VR7      pVfB   \        P                  ! \        \        X	4      ^.,           4      \        P                  VR7      pV P                  VVVVVR7      pR;rïR;ppVEei   \        VP                  ^,          V P                  P                  ,          4      \        VP                  ^,          V P                  P                  ,          4      ppV P                  V4      p\        P
                  ! V
VP                  ^,          3\        P                  VR7      pVe   \        P                   ! VV.^R7      pMTpV P                  P"                  '       g   V P                  P$                  '       Ed   V P                  P$                  '       dD   V P'                  V\        P                  V
R7      pVe   \        P                   ! VV.^R7      pMTp\        P(                  ! ^ VP                  ^,          \        P                  VR7      P+                  V
^4      pVf   Ve\   \        P(                  ! ^ X	^,          VR7      P-                  ^ 4      pVP/                  V	4      p\        P                   ! VV.^R7      pMTpVf   Ve   \        P                   ! XV.^R7      pMTpV P1                  V4      pV P3                  V4      pM­V P                  P"                  '       g   V P                  P$                  '       dv   V P                  P$                  '       d   TpV P                  P"                  '       d<   V P                  P4                  RRX	^,          13,          pVP7                  V4      pTp\9        V P                  XVR	7      pV P:                  ! V3R
VRVRVRVRV/VB pVP<                  p\?        VR7      # )a$  
input_ids (`torch.LongTensor` of shape `(batch_size, token_sequence_length)`):
    Indices of input sequence tokens in the vocabulary.

    Note that `sequence_length = token_sequence_length + patch_sequence_length + 1` where `1` is for [CLS]
    token. See `pixel_values` for `patch_sequence_length`.

    Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and
    [`PreTrainedTokenizer.__call__`] for details.

    [What are input IDs?](../glossary#input-ids)
bbox (`torch.LongTensor` of shape `(batch_size, token_sequence_length, 4)`, *optional*):
    Bounding boxes of each input sequence tokens. Selected in the range `[0,
    config.max_2d_position_embeddings-1]`. Each bounding box should be a normalized version in (x0, y0, x1, y1)
    format, where (x0, y0) corresponds to the position of the upper left corner in the bounding box, and (x1,
    y1) represents the position of the lower right corner.

    Note that `sequence_length = token_sequence_length + patch_sequence_length + 1` where `1` is for [CLS]
    token. See `pixel_values` for `patch_sequence_length`.
token_type_ids (`torch.LongTensor` of shape `(batch_size, token_sequence_length)`, *optional*):
    Segment token indices to indicate first and second portions of the inputs. Indices are selected in `[0,
    1]`:

    - 0 corresponds to a *sentence A* token,
    - 1 corresponds to a *sentence B* token.

    Note that `sequence_length = token_sequence_length + patch_sequence_length + 1` where `1` is for [CLS]
    token. See `pixel_values` for `patch_sequence_length`.

    [What are token type IDs?](../glossary#token-type-ids)
position_ids (`torch.LongTensor` of shape `(batch_size, token_sequence_length)`, *optional*):
    Indices of positions of each input sequence tokens in the position embeddings. Selected in the range `[0,
    config.max_position_embeddings - 1]`.

    Note that `sequence_length = token_sequence_length + patch_sequence_length + 1` where `1` is for [CLS]
    token. See `pixel_values` for `patch_sequence_length`.

    [What are position IDs?](../glossary#position-ids)
inputs_embeds (`torch.FloatTensor` of shape `(batch_size, token_sequence_length, hidden_size)`, *optional*):
    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.

Examples:

```python
>>> from transformers import AutoProcessor, AutoModel
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModel.from_pretrained("microsoft/layoutlmv3-base")

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> words = example["tokens"]
>>> boxes = example["bboxes"]

>>> encoding = processor(image, words, boxes=boxes, return_tensors="pt")

>>> outputs = model(**encoding)
>>> last_hidden_states = outputs.last_hidden_state
```NzEYou have to specify either input_ids or inputs_embeds or pixel_values)rš   r˜   )r’   rƒ   rm   r¤   rœ   rz   )r™   rÔ   ry   )r.   rœ   rÑ   rƒ   rm   rÑ   rC   rD   rN  r8   ) r6   rš   Úlenr®   ri   Úonesr£   r‘   r­  ÚlistrB   r   r;   r.   r&   r¨  r‚   r¶   r·   r£  rj   rš  r›   rl   rc   rg   rm   Ú	expand_asr   r‰  rO  r	   )r-   r’   rƒ   rÑ   r¤   rm   rœ   r@   rÅ   r�   rÔ   Ú
seq_lengthrš   Úembedding_outputÚ
final_bboxÚfinal_position_idsrC   rD   Úvisual_embeddingsÚvisual_attention_maskrk  Úvisual_position_idsÚencoder_outputsÚsequence_outputs   &&&&&&&&,               r1   rE   ÚLayoutLMv3Model.forwardl  s   € ðZ Ò Ø#Ÿ.™.Ó*ˆKØ%0Ñ"ˆJØ×%Ñ%‰FØÒ&Ø'×,Ñ,Ó.¨s°Ð3ˆKØ%0Ñ"ˆJØ"×)Ñ)‰FØÒ%Ü˜\Ó*ˆJØ!×(Ñ(‰FäÐdÓeÐeàÒ  MÒ$=ØÒ%Ü!&§¢¨j¸*Ð-EÈvÔ!V�ØÒ%Ü!&§¢¨[ÄÇ
Á
ÐSYÔ!Z�ØŠ|Ü—{’{¤5¬¨kÓ):¸a¸SÕ)@Ó#AÌÏÉÐ\bÔc�à#Ÿ™Ø#ØØ)Ø-Ø+ð  /ó  Ðð +/Ð.ˆ
Ø%)Ð)ˆ�{ØÓ#ä˜,×,Ñ,¨QÕ/°$·+±+×2HÑ2HÕHÓIÜ˜,×,Ñ,¨QÕ/°$·+±+×2HÑ2HÕHÓIð &ˆLð !%× 2Ñ 2°<Ó @ÐÜ$)§J¢JØÐ.×4Ñ4°QÕ7Ð8ÄÇ
Á
ÐSYô%Ð!ð Ò)Ü!&§¢¨NÐ<QÐ+RÐXYÔ!Z‘à!6�à�{‰{×6×6Ð6¸$¿+¹+×:`×:`Ñ:`Ø—;‘;×9×9Ð9Ø"&×"<Ñ"<¸VÌ5Ï:É:ÐblÐ"<Ó"m�KØÒ'Ü%*§Y¢Y°°kÐ/BÈÔ%J™
à%0˜
ä&+§l¢lØÐ(×.Ñ.¨qÕ1¼¿¹ÈFô'ç‘&˜ QÓ'ð $ð Ò(¨MÒ,EÜ#(§<¢<°°;¸qµ>È&Ô#Q×#[Ñ#[Ð\]Ó#^�LØ#/×#6Ñ#6°{Ó#C�LÜ).¯ª°LÐBUÐ3VÐ\]Ô)^Ñ&à)<Ð&àÒ$¨Ò(AÜ#(§9¢9Ð.>Ð@QÐ-RÐXYÔ#ZÑ à#4Ð à#Ÿ~™~Ð.>Ó?ÐØ#Ÿ|™|Ð,<Ó=ÑØ�[‰[×4×4Ð4¸¿¹×8^×8^Ð8^Ø�{‰{×5×5Ð5Ø!�
Ø�{‰{×6×6Ð6Ø#Ÿ™×;Ñ;¸AÐ?OÀÈQÅÐ?OÐ<OÕP�Ø+×5Ñ5°iÓ@�Ø%1Ð"ä2Ø—;‘;Ø*Ø)ô
ˆð Ÿ,š,Øñ
àð
ð ,ð
ð *ð	
ð
 &ð
ð $ð
ð ñ
ˆð *×;Ñ;ˆäØ-ô
ð 	
r3   )rc   rr  r.   rg   rB   r‰  rˆ  r…  r‡  rs  r6   rk  ))é   r¾  iè  )NNNNNNN)rI   rJ   rK   rL   r    r�  r“  ru  r£  r¨  r   r   r   rE   rN   rO   rP   rQ   s   @@r1   rn  rn    sU   ù‡ € õò>/ò0ô>ò.ò
ð"  ØØ÷m
ñ m
ó ó ó  ÷m
ð m
r3   rn  c                   ó@   a a€ ] tR tRt oRtRV 3R lltR tRtVtV ;t	# )ÚLayoutLMv3ClassificationHeadi  zT
Head for sentence-level classification tasks. Reference: RobertaClassificationHead
c                óò  <€ \         SV `  4        W n        V'       d9   \        P                  ! VP
                  ^,          VP
                  4      V n        M0\        P                  ! VP
                  VP
                  4      V n        VP                  e   VP                  MVP                  p\        P                  ! V4      V n
        \        P                  ! VP
                  VP                  4      V n        R# )r   N)r   r    Úpool_featurer(   r±   r+   râ   Úclassifier_dropoutrf   re   rg   Ú
num_labelsÚout_proj)r-   r.   rÂ  rÃ  r0   s   &&& €r1   r    Ú%LayoutLMv3ClassificationHead.__init__$  s«   ø€ Ü‰ÑÔØ(ÔßÜŸš 6×#5Ñ#5¸Õ#9¸6×;MÑ;MÓNˆD�JäŸš 6×#5Ñ#5°v×7IÑ7IÓJˆDŒJà)/×)BÑ)BÒ)NˆF×%Ò%ÐTZ×TnÑTnð 	ô —z’zÐ"4Ó5ˆŒÜŸ	š	 &×"4Ñ"4°f×6GÑ6GÓHˆŽr3   c                óº   € V P                  V4      pV P                  V4      p\        P                  ! V4      pV P                  V4      pV P	                  V4      pV# rG   )rg   râ   ri   ÚtanhrÅ  )r-   Úxs   &&r1   rE   Ú$LayoutLMv3ClassificationHead.forward1  sI   € Ø�L‰L˜‹OˆØ�J‰J�q‹MˆÜ�JŠJ�q‹MˆØ�L‰L˜‹OˆØ�M‰M˜!ÓˆØˆr3   )râ   rg   rÅ  rÂ  )FrH   rQ   s   @@r1   rÀ  rÀ    s   ù‡ € ñ÷I÷ò r3   rÀ  a„  
    LayoutLMv3 Model with a token classification head on top (a linear layer on top of the final hidden states) e.g.
    for sequence labeling (information extraction) tasks such as [FUNSD](https://guillaumejaume.github.io/FUNSD/),
    [SROIE](https://rrc.cvc.uab.es/?ch=13), [CORD](https://github.com/clovaai/cord) and
    [Kleister-NDA](https://github.com/applicaai/kleister-nda).
    )Úcustom_introc                   óh   a a€ ] tR tRt oV 3R ltR tR t]]RV3R lR ll4       4       t	Rt
VtV ;t# )	Ú LayoutLMv3ForTokenClassificationi:  c                óz  <€ \         SV `  V4       VP                  V n        \        V4      V n        \
        P                  ! VP                  4      V n        VP                  ^
8  d2   \
        P                  ! VP                  VP                  4      V n        M\        VRR7      V n        V P                  4        R# )é
   F©rÂ  N)r   r    rÄ  rn  rh  r(   re   rf   rg   r±   r+   Ú
classifierrÀ  rŠ  rv   s   &&€r1   r    Ú)LayoutLMv3ForTokenClassification.__init__C  s„   ø€ Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒä)¨&Ó1ˆŒÜ—z’z &×"<Ñ"<Ó=ˆŒØ×Ñ˜rÔ!Ü Ÿiši¨×(:Ñ(:¸F×<MÑ<MÓNˆD�Oä:¸6ÐPUÔVˆDŒOà�‰Ör3   c                ó6   € V P                   P                  4       # rG   ©rh  r�  rŽ  s   &r1   r�  Ú5LayoutLMv3ForTokenClassification.get_input_embeddingsP  ó   € Ø�‰×3Ñ3Ó5Ð5r3   c                ó<   € V P                   P                  V4       R # rG   ©rh  r“  r’  s   &&r1   r“  Ú5LayoutLMv3ForTokenClassification.set_input_embeddingsS  ó   € Ø�‰×,Ñ,¨UÖ3r3   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[ P                  R,          R	S[ P                  R,          R
S[S[,          RS[S[,          /
# )r}   r’   Nrƒ   rÑ   r¤   rm   rœ   Úlabelsr@   rÅ   rç   )ri   r«  r¬  r   r   r­  r   )rÇ   rR   s   "€r1   rÈ   Ú-LayoutLMv3ForTokenClassification.__annotate__X  sß   ø€ ÷ J
ñ J
á×#Ñ# dÕ*ðJ
ñ ×Ñ Õ%ðJ
ñ ×)Ñ)¨DÕ0ð	J
ñ
 ×(Ñ(¨4Õ/ðJ
ñ ×&Ñ&¨Õ-ðJ
ñ ×(Ñ(¨4Õ/ðJ
ñ × Ñ  4Õ'ðJ
ñ ×&Ñ&¨Õ-ðJ
ñ Ñ+Õ,ðJ
ñ 
Ñ&Õ	&ñJ
r3   c	                óØ  € V P                   ! V3RVRVRVRVRVRV/V	B p
Ve   VP                  4       pMVP                  4       RR
 pV^,          pV
^ ,          RRV13,          pV P                  V4      pV P                  V4      pRpVe=   \	        4       pV! VP                  R
V P                  4      VP                  R
4      4      p\        VVV
P                  V
P                  R	7      # )aa  
bbox (`torch.LongTensor` of shape `(batch_size, sequence_length, 4)`, *optional*):
    Bounding boxes of each input sequence tokens. Selected in the range `[0,
    config.max_2d_position_embeddings-1]`. Each bounding box should be a normalized version in (x0, y0, x1, y1)
    format, where (x0, y0) corresponds to the position of the upper left corner in the bounding box, and (x1,
    y1) represents the position of the lower right corner.
labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
    Labels for computing the token classification loss. Indices should be in `[0, ..., config.num_labels - 1]`.

Examples:

```python
>>> from transformers import AutoProcessor, AutoModelForTokenClassification
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModelForTokenClassification.from_pretrained("microsoft/layoutlmv3-base", num_labels=7)

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> words = example["tokens"]
>>> boxes = example["bboxes"]
>>> word_labels = example["ner_tags"]

>>> encoding = processor(image, words, boxes=boxes, word_labels=word_labels, return_tensors="pt")

>>> outputs = model(**encoding)
>>> loss = outputs.loss
>>> logits = outputs.logits
```rƒ   rÑ   r¤   rm   rœ   r@   Nry   ©ÚlossÚlogitsrÐ   ri  r8   )
rh  r6   rg   rÑ  r   r9   rÄ  r   rÐ   ri  )r-   r’   rƒ   rÑ   r¤   rm   rœ   rÜ  r@   rÅ   Úoutputsr�   r´  r¼  rá  rà  Úloss_fcts   &&&&&&&&&,       r1   rE   Ú(LayoutLMv3ForTokenClassification.forwardV  s  € ðZ —/’/Øñ	
àð	
ð *ð	
ð *ð		
ð
 &ð	
ð (ð	
ð &ð	
ð ñ	
ˆð Ò Ø#Ÿ.™.Ó*‰Kà'×,Ñ,Ó.¨s°Ð3ˆKà  •^ˆ
à! !�* Q¨¨¨ ^Õ4ˆØŸ,™, Ó7ˆØ—‘ Ó1ˆàˆØÒÜ'Ó)ˆHÙ˜FŸK™K¨¨D¯O©OÓ<¸f¿k¹kÈ"»oÓNˆDä$ØØØ!×/Ñ/Ø×)Ñ)ô	
ð 	
r3   )rÑ  rg   rh  rÄ  ©NNNNNNNN©rI   rJ   rK   rL   r    r�  r“  r   r   rE   rN   rO   rP   rQ   s   @@r1   rÍ  rÍ  :  s>   ù‡ € õò6ò4ð Ø÷J
ñ J
ó ó ÷J
ð J
r3   rÍ  c                   óh   a a€ ] tR tRt oV 3R ltR tR t]]RV3R lR ll4       4       t	Rt
VtV ;t# )	ÚLayoutLMv3ForQuestionAnsweringi¥  c                ó¬   <€ \         SV `  V4       VP                  V n        \        V4      V n        \        VR R7      V n        V P                  4        R# ©FrÐ  N)r   r    rÄ  rn  rh  rÀ  Ú
qa_outputsrŠ  rv   s   &&€r1   r    Ú'LayoutLMv3ForQuestionAnswering.__init__§  sA   ø€ Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒä)¨&Ó1ˆŒÜ6°vÈEÔRˆŒà�‰Ör3   c                ó6   € V P                   P                  4       # rG   rÔ  rŽ  s   &r1   r�  Ú3LayoutLMv3ForQuestionAnswering.get_input_embeddings°  rÖ  r3   c                ó<   € V P                   P                  V4       R # rG   rØ  r’  s   &&r1   r“  Ú3LayoutLMv3ForQuestionAnswering.set_input_embeddings³  rÚ  r3   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[ P                  R,          R	S[ P                  R,          R
S[ P                  R,          RS[S[,          RS[S[,          /# )r}   r’   NrÑ   r¤   rm   rœ   Ústart_positionsÚend_positionsrƒ   r@   rÅ   rç   )ri   r«  r¬  r   r   r­  r
   )rÇ   rR   s   "€r1   rÈ   Ú+LayoutLMv3ForQuestionAnswering.__annotate__¸  sõ   ø€ ÷ W
ñ W
á×#Ñ# dÕ*ðW
ñ ×)Ñ)¨DÕ0ðW
ñ ×(Ñ(¨4Õ/ð	W
ñ
 ×&Ñ&¨Õ-ðW
ñ ×(Ñ(¨4Õ/ðW
ñ ×)Ñ)¨DÕ0ðW
ñ ×'Ñ'¨$Õ.ðW
ñ ×Ñ Õ%ðW
ñ ×&Ñ&¨Õ-ðW
ñ Ñ+Õ,ðW
ñ 
Ñ-Õ	-ñW
r3   c
                óô  € V P                   ! V3RVRVRVRVRVRV	/V
B pV^ ,          pV P                  V4      pVP                  ^RR7      w  rïVP                  R4      P	                  4       pVP                  R4      P	                  4       pRpVeÄ   VeÀ   \        VP                  4       4      ^8”  d   VP                  R4      p\        VP                  4       4      ^8”  d   VP                  R4      pVP                  ^4      pVP                  ^ V4      pVP                  ^ V4      p\        VR	7      pV! Wæ4      pV! W÷4      pVV,           ^,          p\        VVVVP                  VP                  R
7      # )aG  
bbox (`torch.LongTensor` of shape `(batch_size, sequence_length, 4)`, *optional*):
    Bounding boxes of each input sequence tokens. Selected in the range `[0,
    config.max_2d_position_embeddings-1]`. Each bounding box should be a normalized version in (x0, y0, x1, y1)
    format, where (x0, y0) corresponds to the position of the upper left corner in the bounding box, and (x1,
    y1) represents the position of the lower right corner.

Examples:

```python
>>> from transformers import AutoProcessor, AutoModelForQuestionAnswering
>>> from datasets import load_dataset
>>> import torch

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModelForQuestionAnswering.from_pretrained("microsoft/layoutlmv3-base")

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> question = "what's his name?"
>>> words = example["tokens"]
>>> boxes = example["bboxes"]

>>> encoding = processor(image, question, words, boxes=boxes, return_tensors="pt")
>>> start_positions = torch.tensor([1])
>>> end_positions = torch.tensor([3])

>>> outputs = model(**encoding, start_positions=start_positions, end_positions=end_positions)
>>> loss = outputs.loss
>>> start_scores = outputs.start_logits
>>> end_scores = outputs.end_logits
```rÑ   r¤   rm   rœ   rƒ   r@   rz   N)Úignore_index)rà  Ústart_logitsÚ
end_logitsrÐ   ri  r8   )rh  rë  ÚsplitÚsqueezerÏ   r°  r6   Úclampr   r
   rÐ   ri  )r-   r’   rÑ   r¤   rm   rœ   rò  ró  rƒ   r@   rÅ   râ  r¼  rá  r÷  rø  Ú
total_lossÚignored_indexrã  Ú
start_lossÚend_losss   &&&&&&&&&&,          r1   rE   Ú&LayoutLMv3ForQuestionAnswering.forward¶  sŸ  € ð` $(§?¢?Øñ	$
à)ð	$
ð *ð	$
ð &ð		$
ð
 (ð	$
ð ð	$
ð &ð	$
ð ñ	$
ˆð " !�*ˆà—‘ Ó1ˆØ#)§<¡<°°r <Ó#:Ñ ˆØ#×+Ñ+¨BÓ/×:Ñ:Ó<ˆØ×'Ñ'¨Ó+×6Ñ6Ó8ˆ
àˆ
ØÒ&¨=Ò+Dä�?×'Ñ'Ó)Ó*¨QÔ.Ø"1×"9Ñ"9¸"Ó"=�Ü�=×%Ñ%Ó'Ó(¨1Ô,Ø -× 5Ñ 5°bÓ 9�à(×-Ñ-¨aÓ0ˆMØ-×3Ñ3°A°}ÓEˆOØ)×/Ñ/°°=ÓAˆMä'°]ÔCˆHÙ! ,Ó@ˆJÙ 
Ó:ˆHØ$ xÕ/°1Õ4ˆJä+ØØ%Ø!Ø!×/Ñ/Ø×)Ñ)ô
ð 	
r3   )rh  rÄ  rë  )	NNNNNNNNNræ  rQ   s   @@r1   rè  rè  ¥  s>   ù‡ € õò6ò4ð Ø÷W
ñ W
ó ó ÷W
ð W
r3   rè  a
  
    LayoutLMv3 Model with a sequence classification head on top (a linear layer on top of the final hidden state of the
    [CLS] token) e.g. for document image classification tasks such as the
    [RVL-CDIP](https://www.cs.cmu.edu/~aharley/rvl-cdip/) dataset.
    c                   óh   a a€ ] tR tRt oV 3R ltR tR t]]RV3R lR ll4       4       t	Rt
VtV ;t# )	Ú#LayoutLMv3ForSequenceClassificationi  c                ó¸   <€ \         SV `  V4       VP                  V n        Wn        \	        V4      V n        \        VR R7      V n        V P                  4        R# rê  )	r   r    rÄ  r.   rn  rh  rÀ  rÑ  rŠ  rv   s   &&€r1   r    Ú,LayoutLMv3ForSequenceClassification.__init__  sF   ø€ Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒØŒÜ)¨&Ó1ˆŒÜ6°vÈEÔRˆŒà�‰Ör3   c                ó6   € V P                   P                  4       # rG   rÔ  rŽ  s   &r1   r�  Ú8LayoutLMv3ForSequenceClassification.get_input_embeddings#  rÖ  r3   c                ó<   € V P                   P                  V4       R # rG   rØ  r’  s   &&r1   r“  Ú8LayoutLMv3ForSequenceClassification.set_input_embeddings&  rÚ  r3   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[ P                  R,          R	S[ P                  R,          R
S[S[,          RS[S[,          /
# )r}   r’   NrÑ   r¤   rm   rœ   rÜ  rƒ   r@   rÅ   rç   )ri   r«  r¬  r   r   r­  r   )rÇ   rR   s   "€r1   rÈ   Ú0LayoutLMv3ForSequenceClassification.__annotate__+  sß   ø€ ÷ T
ñ T
á×#Ñ# dÕ*ðT
ñ ×)Ñ)¨DÕ0ðT
ñ ×(Ñ(¨4Õ/ð	T
ñ
 ×&Ñ&¨Õ-ðT
ñ ×(Ñ(¨4Õ/ðT
ñ × Ñ  4Õ'ðT
ñ ×Ñ Õ%ðT
ñ ×&Ñ&¨Õ-ðT
ñ Ñ+Õ,ðT
ñ 
Ñ)Õ	)ñT
r3   c	                ó  € V P                   ! V3RVRVRVRVRVRV/V	B p
V
^ ,          R,          pV P                  V4      pRpVEe˜   V P                  P                  f–   V P                  ^8X  d   RV P                  n        MrV P                  ^8”  dQ   VP
                  \        P                  8X  g    VP
                  \        P                  8X  d   R	V P                  n        MR
V P                  n        V P                  P                  R8X  dK   \        4       pV P                  ^8X  d'   V! VP                  4       VP                  4       4      pMŽV! WÆ4      pM…V P                  P                  R	8X  d>   \        4       pV! VP                  RV P                  4      VP                  R4      4      pM-V P                  P                  R
8X  d   \        4       pV! WÆ4      p\        VVV
P                  V
P                   R7      # )a§  
bbox (`torch.LongTensor` of shape `(batch_size, sequence_length, 4)`, *optional*):
    Bounding boxes of each input sequence tokens. Selected in the range `[0,
    config.max_2d_position_embeddings-1]`. Each bounding box should be a normalized version in (x0, y0, x1, y1)
    format, where (x0, y0) corresponds to the position of the upper left corner in the bounding box, and (x1,
    y1) represents the position of the lower right corner.

Examples:

```python
>>> from transformers import AutoProcessor, AutoModelForSequenceClassification
>>> from datasets import load_dataset
>>> import torch

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModelForSequenceClassification.from_pretrained("microsoft/layoutlmv3-base")

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> words = example["tokens"]
>>> boxes = example["bboxes"]

>>> encoding = processor(image, words, boxes=boxes, return_tensors="pt")
>>> sequence_label = torch.tensor([1])

>>> outputs = model(**encoding, labels=sequence_label)
>>> loss = outputs.loss
>>> logits = outputs.logits
```rÑ   r¤   rm   rœ   rƒ   r@   NÚ
regressionÚsingle_label_classificationÚmulti_label_classificationrß  )ry   r   ry   r8   )rh  rÑ  r.   Úproblem_typerÄ  r™   ri   r‘   rŽ   r   rú  r   r9   r   r   rÐ   ri  )r-   r’   rÑ   r¤   rm   rœ   rÜ  rƒ   r@   rÅ   râ  r¼  rá  rà  rã  s   &&&&&&&&&,     r1   rE   Ú+LayoutLMv3ForSequenceClassification.forward)  sÁ  € ðX $(§?¢?Øñ	$
à)ð	$
ð *ð	$
ð &ð		$
ð
 (ð	$
ð ð	$
ð &ð	$
ð ñ	$
ˆð " !�* WÕ-ˆØ—‘ Ó1ˆàˆØÓØ�{‰{×'Ñ'Ò/Ø—?‘? aÔ'Ø/;�D—K‘KÕ,Ø—_‘_ qÔ(¨f¯l©l¼e¿j¹jÔ.HÈFÏLÉLÔ\a×\eÑ\eÔLeØ/L�D—K‘KÕ,à/K�D—K‘KÔ,à�{‰{×'Ñ'¨<Ô7Ü"›9�Ø—?‘? aÔ'Ù# F§N¡NÓ$4°f·n±nÓ6FÓG‘Dá# FÓ3‘DØ—‘×)Ñ)Ð-JÔJÜ+Ó-�Ù §¡¨B°·±Ó @À&Ç+Á+ÈbÃ/ÓR‘Ø—‘×)Ñ)Ð-IÔIÜ,Ó.�Ù Ó/�ä'ØØØ!×/Ñ/Ø×)Ñ)ô	
ð 	
r3   )rÑ  r.   rh  rÄ  rå  ræ  rQ   s   @@r1   r  r    s>   ù‡ € õò6ò4ð Ø÷T
ñ T
ó ó ÷T
ð T
r3   r  )rè  r  rÍ  rn  rg  )@rM   r#   rÍ   ri   Útorch.nnr(   Útorch.nn.functionalÚ
functionalr<   r   r   r   Ú r   rp  Úactivationsr   Úmasking_utilsr   Úmodeling_layersr   Úmodeling_outputsr	   r
   r   r   Úmodeling_utilsr   Úprocessing_utilsr   Úpytorch_utilsr   Úutilsr   r   r   r   Úutils.genericr   r   Úutils.output_capturingr   Úconfiguration_layoutlmv3r   Ú
get_loggerrI   ÚloggerÚModuler   rT   r¨   rß   rõ   r  r  r  r	  rg  rn  rÀ  rÍ  rè  r  Ú__all__rz  r3   r1   Ú<module>r$     sÎ  ðñ  ã Û ã Ý ß Ð ß AÑ Aå &Ý !Ý 6Ý 9÷ó õ .Ý &Ý 6÷ó ÷ LÝ 5Ý 6ð 
×	Ò	˜HÓ	%€ô  §	¡	ô  ôFq˜rŸy™yô qôhV.˜bŸi™iô V.ôt˜2Ÿ9™9ô ô ˜"Ÿ)™)ô  ô6"Ð0ô "ôJn@˜Ÿ	™	ô n@ôd˜RŸY™Yô ô �r—y‘yô ð ôi ó ió ðið( ôC
Ð/ó C
ó ðC
ôL 2§9¡9ô ñ6 ðôô`
Ð'@ó `
óð`
ðF ôi
Ð%>ó i
ó ði
ñX ðôôf
Ð*Có f
óðf
òR‚r3   