+
    ˜°³j$@  ã                   óö   € ^ RI Ht ^ RIt^ RIHt ^RIHtHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHt RR.t ! R R]4      tR] R	]	 R
] R
] R
] R2]n        R R ltR R lt]! ]R7      RR R ll4       tR# )é    )ÚcastN)ÚTensor)Ú_capturable_docÚ_default_to_fused_or_foreachÚ_differentiable_docÚ_disable_dynamo_if_unsupportedÚ_foreach_docÚ!_get_capturable_supported_devicesÚ_get_scalar_dtypeÚ
_get_valueÚ_maximize_docÚ_params_docÚ
_to_scalarÚ_use_grad_for_differentiableÚ_view_as_realÚ	OptimizerÚParamsTÚASGDÚasgdc                   óh   a a€ ] tR t^t oRV3R lV 3R llltV 3R ltR t]RR l4       tRt	Vt
V ;t# )	r   c                óx   <€ V ^8„  d   QhRS[ RS[S[,          RS[RS[RS[RS[RS[R,          R	S[R
S[RS[RR/# )é   ÚparamsÚlrÚlambdÚalphaÚt0Úweight_decayÚforeachNÚmaximizeÚdifferentiableÚ
capturableÚreturn)r   Úfloatr   Úbool)ÚformatÚ__classdict__s   "€ÚQ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/optim/asgd.pyÚ__annotate__ÚASGD.__annotate__   s�   ø€ ÷ +ñ +áð+ñ ‘F�Nð+ñ ð	+ñ
 ð+ñ ð+ñ ð+ñ ˜•ð+ñ ð+ñ ð+ñ ð+ð 
ñ+ó    c                ó  <€ \        V\        4      '       d!   VP                  4       ^8w  d   \        R4      hRV8:  g   \        RV 24      hRV8:  g   \        RV 24      hRVRVRVRVR	VR
VRVRV	RV
/	p\        SV `  W4       R# )é   zTensor lr must be 1-elementg        zInvalid learning rate: zInvalid weight_decay value: r   r   r   r   r   r   r    r!   r"   N)Ú
isinstancer   ÚnumelÚ
ValueErrorÚsuperÚ__init__)Úselfr   r   r   r   r   r   r   r    r!   r"   ÚdefaultsÚ	__class__s   &&&&&&&&&&& €r(   r2   ÚASGD.__init__   s¤   ø€ ô �bœ&×!Ò! b§h¡h£j°A¤oÜÐ:Ó;Ð;Ø�bŒyÜÐ6°r°dÐ;Ó<Ð<Ø�lÔ"ÜÐ;¸L¸>ÐJÓKÐKð �"Ø�UØ�UØ�"Ø˜LØ�wØ˜Ø˜nØ˜*ð

ˆô 	‰Ñ˜Ö*r+   c                óŒ  <€ \         SV `  V4       V P                   EF¢  pVP                  R R4       VP                  RR4       VP                  RR4       VP                  RR4       VR,           EFH  pV P                  P                  V. 4      p\        V4      ^ 8w  g   K2  \        P                  ! VR,          4      '       gA   \        VR,          4      p\        P                  ! V\        4       VP                  R7      VR&   \        P                  ! VR	,          4      '       g6   \        P                  ! VR	,          \        4       VP                  R7      VR	&   \        P                  ! VR
,          4      '       d   EK  \        P                  ! VR
,          \        4       VP                  R7      VR
&   EKK  	  EK¥  	  R# )r   Nr    Fr!   r"   r   Ústep)ÚdtypeÚdeviceÚetaÚmu)r1   Ú__setstate__Úparam_groupsÚ
setdefaultÚstateÚgetÚlenÚtorchÚ	is_tensorr$   Útensorr   r:   )r3   r@   ÚgroupÚpÚp_stateÚstep_valr5   s   &&    €r(   r=   ÚASGD.__setstate__?   sG  ø€ Ü‰Ñ˜UÔ#Ø×&Õ&ˆEØ×Ñ˜Y¨Ô-Ø×Ñ˜Z¨Ô/Ø×ÑÐ-¨uÔ5Ø×Ñ˜\¨5Ô1Ø˜8—_‘_�ØŸ*™*Ÿ.™.¨¨BÓ/�Ü�w“< 1Ö$Ü Ÿ?š?¨7°6­?×;Ò;Ü#(¨°­Ó#9˜Ü*/¯,ª,Ø$Ô,=Ó,?ÈÏÉô+˜ ™ô !Ÿ?š?¨7°5­>×:Ò:Ü).¯ªØ# E�NÔ2CÓ2EÈaÏhÉhô*˜ ™ô !Ÿ?š?¨7°4­=×9Õ9Ü(-¯ªØ# D�MÔ1BÓ1DÈQÏXÉXô)˜ œô %ó 'r+   c                óò  € R pVR,           EFæ  p	V	P                   f   K  V\        P                  ! V	4      ,          pVP                  V	4       V	P                   P                  '       d   \        R4      hVP                  V	P                   4       V P                  V	,          p
\        V
4      ^ 8X  dà   \        P                  ! R
V	P                  \        4       R7      V
R&   \        P                  ! \        VR,          4      V	P                  \        4       R7      P                  4       P                  4       V
R&   \        P                  ! R
V	P                  \        4       R7      V
R&   \        P                   ! V	\        P"                  R7      V
R	&   VP                  V
R,          4       VP                  V
R	,          4       VP                  V
R,          4       VP                  V
R,          4       EKé  	  V# )Fr   z&ASGD does not support sparse gradients)r:   r9   r8   r   r;   r<   )Úmemory_formatÚax© )ÚgradrC   Ú
is_complexÚappendÚ	is_sparseÚRuntimeErrorr@   rB   Úzerosr:   r   Ú	as_tensorr   ÚcloneÚdetachÚonesÚ
zeros_likeÚpreserve_format)r3   rF   Úparams_with_gradÚgradsÚmusÚaxsÚetasÚstate_stepsÚhas_complexrG   r@   s   &&&&&&&&   r(   Ú_init_groupÚASGD._init_groupW   s{  € ØˆØ�x—‘ˆAØ�v‰vÔ!Øœu×/Ò/°Ó2Õ2�Ø ×'Ñ'¨Ô*Ø—6‘6×#×#Ð#Ü&Ð'OÓPÐPØ—‘˜QŸV™VÔ$àŸ
™
 1��ä�u“: ”?Ü$)§K¢KØ 1§8¡8Ô3DÓ3Fô%�E˜&‘Mô ŸšÜ& u¨T¥{Ó3Ø#$§8¡8Ü"3Ó"5ô÷
 ™›ß™›ð ˜%‘Lô #(§*¢*Ø 1§8¡8Ô3DÓ3Fô#�E˜$‘Kô #(×"2Ò"2Ø¬×)>Ñ)>ô#�E˜$‘Kð —
‘
˜5 �;Ô'Ø—
‘
˜5 �;Ô'Ø—‘˜E %�LÔ)Ø×"Ñ" 5¨¥=×1ñC !ðD Ðr+   c                óÌ  € V P                  4        RpVe.   \        P                  ! 4       ;_uu_ 4        V! 4       pRRR4       V P                   F}  p. p. p. p. p. p. p	V P	                  W4WVWxV	4      p
\        VVVVVV	VR,          VR,          VR,          VR,          VR,          VR,          VR,          VR	,          VR
,          V
R7       K  	  V#   + '       g   i     LŸ; i)z�Perform a single optimization step.

Args:
    closure (Callable, optional): A closure that reevaluates the model
        and returns the loss.
Nr   r   r   r   r   r   r    r!   r"   )
r   r   r   r   r   r   r    r!   r"   ra   )Ú'_accelerator_graph_capture_health_checkrC   Úenable_gradr>   rb   r   )r3   ÚclosureÚlossrF   r[   r\   r]   r^   r_   r`   ra   s   &&         r(   r8   Ú	ASGD.step}   sõ   € ð 	×4Ñ4Ô6àˆØÒÜ×"Ò"×$Õ$Ù“y�÷ %ð ×&Ô&ˆEØ-/ÐØ"$ˆEØ "ˆCØ "ˆCØ!#ˆDØ(*ˆKà×*Ñ*Ø¨°SÀóˆKô Ø ØØØØØØ˜G•nØ˜•;Ø˜•;Ø˜G•nØ" >Õ2Ø˜iÕ(Ø˜zÕ*Ø$Ð%5Õ6Ø  Õ.Ø'÷!ñ 'ð> ˆ÷E %×$ús   ´CÃC#	rN   )	g{®Gáz„?g-Cëâ6?g      è?g    €„.Ar   NFFF©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r2   r=   rb   r   r8   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r5   r'   s   @@r(   r   r      s4   ù‡ € ÷+õ +õBò0$ðL "ó-ó "÷-ð -r+   zŸImplements Averaged Stochastic Gradient Descent.

    It has been proposed in `Acceleration of stochastic approximation by
    averaging`_.

    Args:
        am  
        lr (float, Tensor, optional): learning rate (default: 1e-2)
        lambd (float, optional): decay term (default: 1e-4)
        alpha (float, optional): power for eta update (default: 0.75)
        t0 (float, optional): point at which to start averaging (default: 1e6)
        weight_decay (float, optional): weight decay (L2 penalty) (default: 0)
        z	
        zn

    .. _Acceleration of stochastic approximation by averaging:
        https://doi.org/10.1137/0330046

    c                 ój  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        R\        \        ,          R	\        R
\        R\        R\        R\        R\        R\        RR/# ©r   r   r\   r^   r]   r_   r`   r   r   r   r   r   r    r!   r"   ra   r#   N©Úlistr   r$   r%   )r&   s   "r(   r)   r)   Å   sÖ   € ÷ Mñ MÜ”�LðMä”�<ðMô 
Œf�ðMô 
Œf�ð	Mô
 Œv�,ðMô ”f•ðMô ðMô 	”�ðMô 	ðMô ðMô ðMô ðMô ðMô ðMô  ð!Mð" 
ñ#Mr+   c       	   
      ót  € \         P                  P                  4       '       g   \        V4      p\	        V 4       EFx  w  ppW,          pV'       g   TMV) pW?,          pW/,          pWO,          pW_,          p\         P
                  P                  4       '       g§   V'       dŸ   \        4       pVP                  P                  VP                  P                  u;8X  d8   VP                  P                  u;8X  d   VP                  P                  8X  d   M MVP                  P                  V9   g   \        R V R24      h\         P                  ! V4      '       dC   \         P                  ! V4      p\         P                  ! V4      p\         P                  ! V4      pV^,          pV
^ 8w  d   VP                  VV
R7      pV'       d5   VP                  ^VV,          ,
          4       VP                  VVRR7       M>\!        V4      pVP                  ^VV,          ,
          4       VP#                  VV) R7       V'       g   VP%                  4       ^8w  d1   VP#                  VP'                  V4      P                  V4      4       MVP)                  V4       V'       d   VP)                  V^Wg,          V,          ,           V	,          ,          4       VP)                  ^\         P*                  ! VV,
          \         P,                  ! V4      4      ,          4       EKå  \!        V4      p\         P.                  ! V^Wg,          V,          ,           V	,          ,          4      pVP)                  V4       \         P.                  ! ^\1        ^VV,
          4      ,          4      pVP)                  V4       EK{  	  R# )úUIf capturable=True, params, mus, etas, and state_steps must be on supported devices: Ú.©r   ©ÚvalueNéÿÿÿÿ)rC   ÚjitÚis_scriptingr   Ú	enumerateÚcompilerÚis_compilingr
   r:   ÚtypeÚAssertionErrorrP   Úview_as_realÚaddÚmul_Úaddcmul_r   Úadd_ÚitemÚsubÚcopy_ÚmaximumÚ	ones_likerU   Úmax)r   r\   r^   r]   r_   r`   r   r   r   r   r   r    r!   r"   ra   ÚiÚparamrO   r<   rM   r;   Ústep_tÚcapturable_supported_devicesÚ	eta_valuer8   Únew_etaÚnew_mus   &&&&&&$$$$$$$$$            r(   Ú_single_tensor_asgdr–   Å   s§  € ô$ �9‰9×!Ñ!×#Ò#Ü˜‹^ˆä˜f×%‰ˆˆ5Ø�xˆß#‰t¨$¨ˆØ�VˆØ�VˆØ�gˆØ•ˆô �~‰~×*Ñ*×,Ò,·Ü+LÓ+NÐ(à—‘×!Ñ!Ø—9‘9—>‘>ö&à—:‘:—?‘?ö&ð —=‘=×%Ñ%÷&ð —L‘L×%Ñ%Ð)EÔEä$ð-Ø-IÐ,JÈ!ðMóð ô
 ×Ò˜E×"Ò"Ü×%Ò% dÓ+ˆDÜ×&Ò& uÓ-ˆEÜ×#Ò# BÓ'ˆBð 	�!�ˆà˜1ÔØ—8‘8˜E¨�8Ó6ˆDçØ�J‰J�q˜5 3�;•Ô'Ø�N‰N˜4 ¨BˆNÕ/ä" 3›ˆIØ�J‰J�q˜5 9Õ,Õ,Ô-Ø�J‰J�t I :ˆJÔ.÷ ˜Ÿ™› aœØ�G‰G�E—I‘I˜b“M×&Ñ& rÓ*Õ+à�H‰H�UŒOçØ�I‰I�b˜Q ¥¨fÕ!4Õ4¸Õ>Õ?Ô@Ø�H‰H�QœŸš v°¥{´E·O²OÀFÓ4KÓLÕL×Mä˜fÓ%ˆDÜ—o’o b¨Q°µ¸dÕ1BÕ-BÀuÕ,LÕ&MÓNˆGØ�I‰I�gÔÜ—_’_ Q¬¨Q°°rµ	Ó):Õ%:Ó;ˆFØ�H‰H�V×óq &r+   c                 ój  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        R\        \        ,          R	\        R
\        R\        R\        R\        R\        R\        RR/# rs   rt   )r&   s   "r(   r)   r)     sÖ   € ÷ O7ñ O7Ü”�LðO7ä”�<ðO7ô 
Œf�ðO7ô 
Œf�ð	O7ô
 Œv�,ðO7ô ”f•ðO7ô ðO7ô 	”�ðO7ô 	ðO7ô ðO7ô ðO7ô ðO7ô ðO7ô ðO7ô  ð!O7ð" 
ñ#O7r+   c       	         ó
  a"€ \        V 4      ^ 8X  d   R# V'       d   \        R4      h\        P                  P	                  4       '       g|   V'       dt   \        RR7      o"\        ;QJ d+    V"3R l\        WWERR7       4       F  '       d   K   RM 	  RM! V"3R l\        WWERR7       4       4      '       g   \        RS" R	24      h\        V4      p\        P                  ! WW#WE.4      pVP                  4        EFö  w  w  ppw  w  ppppppp\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      pV'       d   \        VVV4       V'       d   \        P                   ! V4      p\        P                  P	                  4       '       gJ   V^ ,          P"                  '       d1   \        P$                  ! V\        P&                  ! R
RR7      R
R7       M\        P$                  ! V^4       V
^ 8w  dX   V'       d   \        P$                  ! VVV
R7       TpM\        P(                  ! VVV
R7      p\        P$                  ! VVVR7       M\        P(                  ! VVVR7      p\        P*                  ! VVVRR7       ?\        P,                  ! VV4      p\        P*                  ! VVV4       ?V'       Ed    \        P,                  ! VV4      p\        P.                  ! VR
4       \        P0                  ! V4       \        P2                  ! VV4       ?\        P4                  ! VV4      p \        P6                  ! V V4       \        P$                  ! V ^4       \        P8                  ! V V	4       \        P0                  ! V 4       \        P6                  ! V V4       \        P2                  ! VV 4       EK7  V U!u. uF=  p!\        P:                  ! V^Wg,          V!,          ,           V	,          ,          VR7      NK?  	  p p!V U!u. uF<  p!\        P:                  ! ^\=        ^\?        V!4      V,
          4      ,          VR7      NK>  	  pp!\        P2                  ! VV 4       \        P2                  ! VV4       EKù  	  R# u up!i u up!i )r   Nz#_foreach ops don't support autogradF)Úsupports_xlac              3   óT  <"  € T F�  w  rr4VP                   P                  VP                   P                  u;8H  ;'       d<    VP                   P                  u;8H  ;'       d    VP                   P                  8H  Mu ;'       d    VP                   P                  S9   x € KŸ  	  R # 5irj   )r:   r‚   )Ú.0rG   r<   r;   r8   r’   s   &    €r(   Ú	<genexpr>Ú%_multi_tensor_asgd.<locals>.<genexpr>2  sw   øé € ð 
ñ %UÑ ��sð �H‰H�M‰M˜RŸY™YŸ^™^×RÔR¨s¯z©z¯©×RÔRÀ$Ç+Á+×BRÑBRÔR÷ >ð >Ø—‘—‘Ð!=Ñ=ô>ã$Tùs   ƒAB(Á#"B(Â"B(T)Ústrictrw   rx   g      ð?Úcpu)r:   ry   rz   r|   ) rB   rƒ   rC   r€   r�   r
   ÚallÚzipr   r   Ú"_group_tensors_by_device_and_dtypeÚitemsr   ru   r   r   Ú_foreach_negÚis_cpuÚ_foreach_add_rE   Ú_foreach_addÚ_foreach_addcmul_Ú_foreach_subÚ_foreach_maximum_Ú_foreach_reciprocal_Ú_foreach_copy_Ú_foreach_mulÚ_foreach_mul_Ú_foreach_pow_rU   rŽ   r   )#r   r\   r^   r]   r_   r`   r   r   r   r   r   r    r!   r"   ra   Úgrouped_tensorsr:   Ú_Úgrouped_params_Úgrouped_grads_Úgrouped_axs_Úgrouped_mus_Úgrouped_etas_Úgrouped_state_steps_Úgrouped_paramsÚgrouped_gradsÚgrouped_axsÚgrouped_musÚgrouped_etasÚgrouped_state_stepsÚintermediateÚnew_musÚnew_etasr8   r’   s#   &&&&&&$$$$$$$$$                   @r(   Ú_multi_tensor_asgdrÁ     s  ø€ ô$ ˆ6ƒ{�aÔÙçÜÐBÓCÐCô �>‰>×&Ñ&×(Ò(¯ZÜ'HØô(
Ð$÷ ‹sô 
ô %(¨°TÈtÕ$Tó
�s�sŠsô 
ô %(¨°TÈtÕ$Tó
÷ 
ò 
ô
 !ð&Ø&BÐ%CÀ1ðFóð ô
 
�B‹€Bä×BÒBØ	˜ $Ð4ó€Oð 
×	Ñ	×	 ñ
	‰ˆ�ñ 
ñ	
ØØØØØØ à	äœd¤6�l¨OÓ<ˆÜœT¤&�\¨>Ó:ˆÜœ4¤�<¨Ó6ˆÜœ4¤�<¨Ó6ˆÜœD¤�L¨-Ó8ˆÜ"¤4¬¥<Ð1EÓFÐçÜ˜.¨-¸ÔEçÜ!×.Ò.¨}Ó=ˆMô �~‰~×*Ñ*×,Ò,Ð1DÀQÕ1G×1N×1NÐ1NÜ×ÒØ#¤U§\¢\°#¸eÔ%DÈCöô ×ÒÐ 3°QÔ7ð ˜1ÔßÜ×#Ò# M°>ÈÕVØ,‘ä$×1Ò1Ø! >¸ô �ô ×Ò ¨nÀEÖJä ×-Ò-Ø˜~°UôˆLô 	×Ò °¸lÐRTÕUØô ×)Ò)¨.¸+ÓFˆÜ×Ò ¨\¸;ÔGØ÷ ˆ:ä×(Ò(Ð)<¸bÓAˆGÜ×#Ò# G¨SÔ1Ü×&Ò& wÔ/Ü× Ò  ¨gÔ6Øô ×)Ò)Ð*=¸uÓEˆHÜ×Ò ¨"Ô-Ü×Ò ¨!Ô,Ü×Ò ¨%Ô0Ü×&Ò& xÔ0Ü×Ò ¨"Ô-Ü× Ò  ¨x×8ñ 0óá/�Dô —’  q¨5­:¸Õ+<Õ'<ÀÕ&FÕ GÐPV×WÙ/ð ð ñ 0óá/�Dô —’ ¤C¨¬:°dÓ+;¸bÕ+@Ó$AÕ AÈ&×QÙ/ð ð ô × Ò  ¨xÔ8Ü× Ò  ¨g×6ós 
!ùò`ùòs   Ð5AS7Ñ>AS<)Úsingle_tensor_fnc          "      ó„  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        R,          R	\        R
\        R\        R\        R\        R\        \        ,          R\        R\        R\        RR/# )r   r   r\   r^   r]   r_   r`   r   Nr    r!   r"   ra   r   r   r   r   r   r#   )ru   r   r%   r$   )r&   s   "r(   r)   r)   ¨  sÒ   € ÷ 6ñ 6Ü”�Lð6ä”�<ð6ô 
Œf�ð6ô 
Œf�ð	6ô
 Œv�,ð6ô ”f•ð6ô �D�[ð6ô ð6ô ð6ô ð6ô ð6ô ð6ô  	”�ð!6ô" 	ð#6ô$ ð%6ô& ð'6ð( 
ñ)6r+   c               ó<  € Vf   \        WRR7      w  ppV'       d0   \        P                  P                  4       '       d   \	        R4      hV'       d,   \        P                  P                  4       '       g   \
        pM\        pV! V VVVVVVVVVVVVV	V
R7       R# )zfFunctional API that performs asgd algorithm computation.

See :class:`~torch.optim.ASGD` for details.
NF)Ú	use_fusedz6torch.jit.script not supported with foreach optimizers)	r   r   r   r   r   r    r!   r"   ra   )r   rC   r}   r~   rS   rÁ   r–   )r   r\   r^   r]   r_   r`   r   r    r!   r"   ra   r   r   r   r   r   r±   Úfuncs   &&&&&&&&&&&$$$$$  r(   r   r   §  s“   € ð4 ‚Ü1Ø¨eô
‰
ˆˆ7÷ ”5—9‘9×)Ñ)×+Ò+ÜÐSÓTÐTç”u—y‘y×-Ñ-×/Ò/Ü!‰ä"ˆáØØØØØØØØØØØ!ØØ%ØØ÷r+   )NFFFF)Útypingr   rC   r   Ú	optimizerr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Ú__all__r   Ú__doc__r–   rÁ   r   rN   r+   r(   Ú<module>rË      s±   ðå ã Ý ÷÷ ÷ ÷ ñ ð& �6Ð
€ôNˆ9ô Nðb	ð 
ˆð 	ð 
ˆð 	Ø	ˆð 	Ø	Ðð 	Ø	Ðð ð€„õ.Mõ`O7ñd  Ð1DÔEö6ó Fò6r+   