+
    ˜°³j�/  ã                   ó�   € ^ RI t ^ RIHt ^ RIHt  ! R R]4      t ! R R]4      t ! R R] P                  P
                  4      t	R# )	é    N)ÚFunctionc                   ó@   a € ] tR t^t o ]R 4       t]R 4       tRtV tR# )ÚSyncBatchNormc
           
     óN  € VP                  \        P                  R 7      '       g7   VP                  \        P                  R 7      '       g   VP	                  4       pVe   VP	                  4       p\        VP                  4       VP                  ^4      ,          4      p
V
^8X  d   V	^8  d   \        RV
 24      hVP                  ^,          pVP                  4       ^ 8”  d†   \        P                  ! W4      w  rÍ\        P                  ! RVP                  4       VP                  ^4      ,          VP                  VP                  R7      p\        P                  ! WÍV.^ R7      pM;\        P                  ! ^V,          ^,           VP                  VP                  R7      pVP!                  4       R8w  d•   VP                  4       p\        P"                  ! ^VV	,          VP                  VP                  R7      p\$        P&                  ! VWøRR7       \        P(                  ! VV	V34      p\        P*                  ! Wû^R7      w  pppM{\-        V	4       Uu. uF  p\        P.                  ! V4      NK  	  pp\$        P0                  ! VWøRR7       \        P2                  ! V^ R7      p\        P*                  ! Wû^R7      w  ppp\        P4                  P7                  4       '       d%   \        P4                  P9                  4       '       g0   VP;                  R4      ^8¬  pVV,          pVV,          pVV,          pVP=                  R4      pVe7   VP                  VP                  8w  d   VP?                  VP                  4      p\        P@                  ! VVVVVVVV4      w  rÍV PC                  WWÍVP?                  \        PD                  4      4       W€n#        VP                  4       ^ 8”  d   \        PH                  ! WW<WÖ4      # \        P.                  ! V4      # u upi )	©Úmemory_formatzEExpected more than 1 value per channel when training, got input size ©ÚdtypeÚdevice©ÚdimÚglooF©Úasync_op)é   éÿÿÿÿ)%Úis_contiguousÚtorchÚchannels_lastÚchannels_last_3dÚ
contiguousÚintÚnumelÚsizeÚ
ValueErrorÚshapeÚbatch_norm_statsÚfullr
   r   ÚcatÚzerosÚ_get_backend_nameÚemptyÚdistÚall_gather_singleÚreshapeÚsplitÚrangeÚ
empty_likeÚ
all_gatherÚstackÚcudaÚis_availableÚis_current_stream_capturingÚsqueezeÚviewÚtoÚ#batch_norm_gather_stats_with_countsÚsave_for_backwardÚint32Úprocess_groupÚbatch_norm_elemt)ÚselfÚinputÚweightÚbiasÚrunning_meanÚrunning_varÚepsÚmomentumr4   Ú
world_sizer   Únum_channelsÚmeanÚinvstdÚcountÚcombinedÚcombined_sizeÚcombined_flatÚmean_allÚ
invstd_allÚ	count_allÚ_Úcombined_listÚmaskÚcountss   &&&&&&&&&&               Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/nn/modules/_functions.pyÚforwardÚSyncBatchNorm.forward   sP  € ð ×Ñ¬e×.AÑ.AÐ×BÒBØ×"Ñ"´×1GÑ1GÐ"×HÒHà×$Ñ$Ó&ˆEØÒØ×&Ñ&Ó(ˆFä�5—;‘;“= E§J¡J¨q£MÕ1Ó2ˆØ�1Œ9˜ aœÜØWÐX\ÐW]Ð^óð ð —{‘{ 1•~ˆØ�;‰;‹=˜1Ôä ×1Ò1°%Ó=‰LˆDä—J’JØØ—‘“ §¡¨A£Õ.Ø—j‘jØ—{‘{ô	ˆEô —y’y $°Ð!6¸AÔ>‰Hô —{’{Ø�LÕ  1Õ$¨E¯K©KÀÇÁôˆHð ×*Ñ*Ó,°Ô6à$ŸN™NÓ,ˆMÜ!ŸKšKØØ 
Õ*Ø—n‘nØ—‘ô	ˆMô ×"Ò"Ø˜xÀõô —}’} ]°ZÀÐ4OÓPˆHä.3¯kªk¸(ÐVWÔ.XÑ+ˆH�j¡)ô BGÀzÔARÓSÑAR¸AœU×-Ò-¨hÖ7ÑARˆMÐSÜ�OŠO˜M¨8ÈUÕSÜ—{’{ =°aÔ8ˆHä.3¯kªk¸(ÐVWÔ.XÑ+ˆH�j )ä—
‘
×'Ñ'×)Ò)¬e¯j©j×.TÑ.T×.VÒ.Vð ×$Ñ$ RÓ(¨AÑ-ˆDØ! $�ˆIØ •~ˆHØ# DÕ)ˆJð —‘ Ó#ˆØÒ#¨¯©¸×8JÑ8JÔ(JØ—Y‘Y˜|×1Ñ1Ó2ˆFÜ×@Ò@ØØØØØØØØó	
‰ˆð 	×Ñ˜u¨d¸I¿L¹LÌÏÉÓ<UÔVØ*Ôð �;‰;‹=˜1ÔÜ×)Ò)¨%¸ÀVÓQÐQä×#Ò# EÓ*Ð*ùòU Ts   ÉP"c                ó   € VP                  \        P                  R 7      '       g7   VP                  \        P                  R 7      '       g   VP	                  4       pV P
                  w  r#rEpR;p;r‰V P                  p
VP                  4       ^ 8”  EdŽ   \        P                  ! VVVVVV P                  ^ ,          V P                  ^,          V P                  ^,          4      w  pppp	V P                  ^ ,          '       dá   VP                  ^ ,          p\        P                  ! W¼.^ R7      p\        P                  P                  V\        P                  P                  P                  V
RR7       \        P                   ! Wí4      w  r¼Ve7   VP"                  VP"                  8w  d   VP%                  VP"                  4      p\        P&                  ! VVVVVVVV4      pVe   V P                  ^,          '       g   RpVe   V P                  ^,          '       g   Rp	M¥VP                  ^,          pV P                  ^ ,          '       dz   \        P(                  ! ^V,          VP"                  VP*                  R7      p\        P                  P                  V\        P                  P                  P                  V
RR7       WxV	RRRRRR3	# )r   Nr   Fr   r	   )r   r   r   r   r   Úsaved_tensorsr4   r   Úbatch_norm_backward_reduceÚneeds_input_gradr   r   ÚdistributedÚ
all_reduceÚReduceOpÚSUMr&   r
   r0   Úbatch_norm_backward_elemtr    r   )r6   Úgrad_outputÚsaved_inputr8   r@   rA   Úcount_tensorÚ
grad_inputÚgrad_weightÚ	grad_biasr4   Úsum_dyÚ
sum_dy_xmur?   rC   s   &&             rM   ÚbackwardÚSyncBatchNorm.backward~   s|  € ð ×%Ñ%´E×4GÑ4GÐ%×HÒHØ×(Ñ(´u×7MÑ7MÐ(×NÒNà%×0Ñ0Ó2ˆKØ:>×:LÑ:LÑ7ˆ˜T¨<Ø/3Ð3ˆ
Ð3�[Ø×*Ñ*ˆà×ÑÓ Õ"ô ×0Ò0ØØØØØØ×%Ñ% aÕ(Ø×%Ñ% aÕ(Ø×%Ñ% aÕ(ó	ñØØØØð ×$Ñ$ Q×'Ô'à%Ÿ|™|¨A��Ü Ÿ9š9 fÐ%9¸qÔA�Ü×!Ñ!×,Ñ,ØÜ×%Ñ%×.Ñ.×2Ñ2Ø!Ø"ð	 -ô ô &+§[¢[°Ó%HÑ"�ð Ò%¨&¯,©,¸$¿*¹*Ô*DØ#ŸY™Y t§z¡zÓ2�FÜ"×<Ò<ØØØØØØØØ ó	�
ð Š~ T×%:Ñ%:¸1×%=Ô%=Ø"�àŠ~ T×%:Ñ%:¸1×%=Ô%=Ø �	øð '×,Ñ,¨QÕ/ˆLØ×$Ñ$ Q×'Ô'ä Ÿ;š;Ø˜Õ$¨K×,=Ñ,=Àk×FXÑFXô�ô ×!Ñ!×,Ñ,ØÜ×%Ñ%×.Ñ.×2Ñ2Ø!Ø"ð	 -ô ð ¨	°4¸¸tÀTÈ4ÐQUÐUÐUó    )r4   N©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚstaticmethodrN   ra   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @rM   r   r      s2   ø‡ € Øñr+ó ðr+ðh ñRVó öRVrc   r   c                   óD   a € ] tR t^Õt o ]RR l4       t]R 4       tRtV tR# )ÚCrossMapLRN2dc                óè  € W n         W0n        W@n        WPn        R V n        VP                  4       ^8w  d   \        RVP                  4        R24      hV P                  ;'       g    VP                  4       V n        VP                  4       pVP                  ^4      pVP                  V4       V P                  P                  V4       Tp\        P                  ! V^VR7       \        V P                   ^,
          ^,          ^,           4      p	\        W—4      p
V P                  P                  ^^ 4      pVP                  4        \        V
4       F$  pVP!                  VP                  ^V4      4       K&  	  \        ^V4       FÌ  pV P                  P                  ^V^,
          4      pV P                  P                  ^V4      pVP#                  V4       WÇV	,
          ^,           8  d3   VP                  ^WÉ,           ^,
          4      pVP!                  V^R7       WÉ8”  g   K¡  VP                  ^WÉ,
          4      pVP!                  VRR7       KÎ  	  V P                  P%                  V P                  V P                   ,          4      P!                  V P                  4       \        P                  ! V P                  V P                  ) VR7       VP%                  V4       V P'                  W4       V# )Nz,CrossMapLRN2d: Expected input to be 4D, got z
D instead.©Úout©Úalphar   )r   rt   ÚbetaÚkÚscaler   r   ÚnewÚ
resize_as_r   Úpowr   ÚminÚselectÚzero_r'   Úadd_Úcopy_Úmul_r2   )Úctxr7   r   rt   ru   rv   ÚoutputÚchannelsÚinput_squareÚpre_padÚpre_pad_cropÚscale_firstÚcÚscale_previousÚscale_currentÚsquare_nextÚsquare_previouss   &&&&&&           rM   rN   ÚCrossMapLRN2d.forwardÖ   sG  € ð ŒØŒ	ØŒØŒØˆŒ	à�9‰9‹;˜!ÔÜØ>¸u¿y¹y»{¸mÈ:ÐVóð ð —I‘I×,Ð, §¡£ˆŒ	Ø—‘“ˆØ—:‘:˜a“=ˆà×Ñ˜%Ô Ø�	‰	×Ñ˜UÔ#ð ˆÜ�	Š	�%˜ Õ-ä�s—x‘x !•| qÕ(¨1Õ,Ó-ˆÜ˜7Ó-ˆà—i‘i×&Ñ& q¨!Ó,ˆØ×ÑÔä�|Ö$ˆAØ×Ñ˜\×0Ñ0°°AÓ6Ö7ñ %ô
 �q˜(Ö#ˆAØ ŸY™Y×-Ñ-¨a°°QµÓ7ˆNØŸI™I×,Ñ,¨Q°Ó2ˆMØ×Ñ Ô/Ø˜gÕ%¨Õ)Ô)Ø*×1Ñ1°!°Qµ[À1µ_ÓE�Ø×"Ñ" ;°aÐ"Ô8àŽ{Ø".×"5Ñ"5°a¸½Ó"E�Ø×"Ñ" ?¸"Ð"Ö=ñ $ð 	�	‰	�‰�s—y‘y 3§8¡8Õ+Ó,×1Ñ1°#·%±%Ô8ä�	Š	�#—)‘)˜cŸh™h˜Y¨FÕ3Ø�‰�EÔà×Ñ˜eÔ,Øˆrc   c           	     ó8  € V P                   w  r#VP                  4       pVP                  ^ 4      pVP                  ^4      pVP                  ^4      pVP                  ^4      pVP                  W`P                  ,           ^,
          Wx4      p	VP                  Wx4      p
^V P                  ,          V P                  ,          V P                  ,          p\        V P                  V P                  ^,
          ^,          ,
          4      pVP                  V4       \        P                  ! V P                  V P                  ) VR7      P                  V4       V	P                  4        V	P                  ^ WÆ4      p\        V4       EF  p\        P                  ! W,          W>,          VR7       VP                  V P                  V,          4       \        P                   ! V	P                  ^ ^ V P                  ^,
          4      ^ RV
R7       \        V4       Fy  pV
P#                  WŸV P                  ,           ^,
          ,          4       WN,          V,          P%                  W.,          V,          W«) R7       V
P#                  WŸ,          RR7       K{  	  EK  	  VRRRR3# )r   rq   F)Úkeepdimrr   )Úvaluers   Nr   )rQ   rx   r   rt   ru   r   ry   r   rz   rw   r€   r}   Únarrowr'   ÚmulÚdiv_Úsumr~   Úaddcmul_)r�   rY   r7   r‚   r\   Ú
batch_sizerƒ   Úinput_heightÚinput_widthÚpaddded_ratioÚaccum_ratioÚcache_ratio_valueÚinversePrePadÚpadded_ratio_centerÚnrˆ   s   &&              rM   ra   ÚCrossMapLRN2d.backward  s÷  € ð ×)Ñ)‰ˆØ —_‘_Ó&ˆ
à—Z‘Z “]ˆ
Ø—:‘:˜a“=ˆØ—z‘z !“}ˆØ—j‘j “mˆàŸ	™	 (¯X©XÕ"5¸Õ"9¸<ÓUˆØ—i‘i Ó:ˆà §	¡	�M¨C¯H©HÕ4°s·x±xÕ?ÐÜ˜CŸH™H¨¯©°1­¸Õ'9Õ9Ó:ˆà×Ñ˜eÔ$Ü�	Š	�#—)‘)˜cŸh™h˜Y¨JÔ7×<Ñ<¸[ÔIà×ÑÔØ+×2Ñ2°1°mÓNÐÜ�z×"ˆAÜ�IŠI�k•n f¥iÐ5HÕIØ×$Ñ$ S§Y¡Y¨q¥\Ô2Ü�IŠIØ×$Ñ$ Q¨¨3¯8©8°a­<Ó8ØØØõ	ô ˜8–_�Ø× Ñ  °3·8±8­|¸aÕ/?Õ!@ÔAØ•˜aÕ ×)Ñ)Ø•H˜Q•K Ð4Fð *ô ð × Ñ  Õ!1¸Ð Ö<ô %ñ #ð  ˜4  t¨TÐ1Ð1rc   © N)g-Cëâ6?g      è?r   rd   rl   s   @rM   ro   ro   Õ   s,   ø‡ € Øó4ó ð4ðl ñ$2ó ö$2rc   ro   c                   ó@   a € ] tR tRt o ]R 4       t]R 4       tRtV tR# )ÚBackwardHookFunctioni7  c                óv   € V P                   ! V Uu. uF  q"P                  '       d   K  VNK  	  up!   V# u upi ©N)Úmark_non_differentiableÚrequires_grad)r�   ÚargsÚargs   &* rM   rN   ÚBackwardHookFunction.forward8  s4   € ð 	×#Ò#±TÓ%S±T¨c×ARÕAR§c c±TÑ%SÒTØˆùò &Ts   ‘6©6c                ó   € V# r¤   r    )r�   r§   s   &*rM   ra   ÚBackwardHookFunction.backward>  s   € àˆrc   r    Nrd   rl   s   @rM   r¢   r¢   7  s+   ø‡ € Øñó ðð ñó örc   r¢   )
r   Útorch.distributedrT   r#   Útorch.autograd.functionr   r   ro   Úautogradr¢   r    rc   rM   Ú<module>r¯      sD   ðã Ý  Ý ,ôKV�Hô KVô\_2�Hô _2ôD	˜5Ÿ>™>×2Ñ2ö 	rc   