+
    –°³já  ã                   ód   a € R t0 t ^ RIt^ RIHu Ht ^ RIHt ^ RIHt . t	] ^ k  ! R R4      t
R# )é    N©ÚTensor)Ú2_scripted_functional_optimizer_deprecation_warningc                   óZ   a € ] tR t^t o R	V 3R lR lltV 3R lR ltV 3R lR ltRtV tR# )
Ú_FunctionalSGDc                óf   <€ V ^8„  d   QhRS[ S[,          RS[RS[RS[RS[RS[RS[RS[R	S[R
S[/
# )é   ÚparamsÚlrÚmomentumÚ	dampeningÚweight_decayÚnesterovÚmaximizeÚforeachÚfusedÚ_allow_empty_param_list)Úlistr   ÚfloatÚbool)ÚformatÚ__classdict__s   "€Úg/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributed/optim/functional_sgd.pyÚ__annotate__Ú_FunctionalSGD.__annotate__   ss   ø€ ÷ .ñ .á‘V•ð.ñ ð.ñ ð	.ñ
 ð.ñ ð.ñ ð.ñ ð.ñ ð.ñ ð.ñ "&ñ.ó    c                ó‚  € \        ^R7       RVRVRVRV/V n        W`n        Wpn        W€n        W�n        \        P                  P                  \        \        P                  \        \        \        P                  3,          3,          / 4      V n        \        V4      ^ 8X  d   V
'       g   \        R4      hRV/V n        R# )	r	   )Ú
stacklevelr   r   r   r   z%optimizer got an empty parameter listr
   N)r   Údefaultsr   r   r   r   ÚtorchÚjitÚannotateÚdictr   ÚstrÚstateÚlenÚ
ValueErrorÚparam_group)Úselfr
   r   r   r   r   r   r   r   r   r   s   &&&&&&&&&&&r   Ú__init__Ú_FunctionalSGD.__init__   sž   € ô 	;ÀaÕHà�"Ø˜Ø˜Ø˜Lð	
ˆŒð !ŒØ ŒØŒØŒ
Ü—Y‘Y×'Ñ'¬¬U¯\©\¼4ÄÄUÇ\Á\Ð@QÕ;RÐ-RÕ(SÐUWÓXˆŒ
äˆv‹;˜!Ô×$;ÜÐDÓEÐEð % fÐ-ˆÖr   c                ó4   <€ V ^8„  d   QhRS[ RS[ R,          /# )r	   ÚparamÚgradNr   )r   r   s   "€r   r   r   9   s   ø€ ÷ 07ñ 07¡ð 07©f°t­mñ 07r   c                ó  € V P                   R,          pV P                   R,          pV P                   R,          pV P                   R,          pV.p. p. p	Rp
Ve‰   V	P                  V4       VP                  '       d   Rp
WP                  9  d   / V P                  V&   V P                  V,          pRV9  d   VP                  R4       MVP                  VR,          4       \        P
                  ! 4       ;_uu_ 4        \        P                  ! VV	VVVVVV P                  V P                  V
V P                  V P                  RRR	7       RRR4       V P                  V,          pV^ ,          pVe   WËR&   R# R#   + '       g   i     L8; i)
zKSimilar to self.step, but operates on a single parameter and
its gradient.
r   r   r   r   FNTÚmomentum_buffer©r   r   r   r   r   r   Úhas_sparse_gradr   r   Ú
grad_scaleÚ	found_inf)r   ÚappendÚ	is_sparser%   r    Úno_gradÚFÚsgdr   r   r   r   )r)   r-   r.   r   r   r   r   r
   Úmomentum_buffer_listÚgradsr2   r%   r0   s   &&&          r   Ú
step_paramÚ_FunctionalSGD.step_param9   sO  € ð —}‘} ^Õ4ˆØ—=‘= Õ,ˆØ—M‘M +Õ.ˆ	Ø�]‰]˜4Õ ˆØ�ˆØ46ÐØˆàˆØÒØ�L‰L˜ÔØ�~�~ˆ~Ø"&�ØŸJ™JÔ&Ø$&�—
‘
˜5Ñ!Ø—J‘J˜uÕ%ˆEØ ¨Ô-Ø$×+Ñ+¨DÕ1à$×+Ñ+¨EÐ2CÕ,DÔEä�]Š]�_�_Ü�EŠEØØØ$Ø)Ø!ØØ#ØŸ™ØŸ™Ø /ØŸ™Ø—j‘jØØõ÷ ð$ —
‘
˜5Õ!ˆØ.¨qÕ1ˆØÒ&Ø'6Ð#Ó$ñ '÷) �_ús   Ã?AE<Å<F	c                ó>   <€ V ^8„  d   QhRS[ S[R,          ,          /# )r	   Ú	gradientsN)r   r   )r   r   s   "€r   r   r   k   s   ø€ ÷ 9;ñ 9;™d¡6¨D¥=Õ1ñ 9;r   c                óP  € V P                   R ,          p. p. p. pV P                  R,          pV P                  R,          pV P                  R,          pV P                  R,          p	\        V4      \        V4      8w  d3   \        RR\        V4       R2,           R\        V4       2,           4      hR	p
\	        W!4       F¥  w  r¼Vf   K  VP                  V4       VP                  V4       VP                  '       d   Rp
W°P                  9  d   / V P                  V&   V P                  V,          pRV9  d   VP                  R
4       K�  VP                  VR,          4       K§  	  \        P                  ! 4       ;_uu_ 4        \        P                  ! VVVVVVV	V P                  V P                  V
V P                  V P                  R
R
R7       R
R
R
4       \!        V4       F+  w  rïV P                  V,          pW^,          pVf   K&  VVR&   K-  	  R
#   + '       g   i     LL; i)r
   r   r   r   r   zEthe gradients passed in does not equal to the size of the parameters!zParams length: z. zGradients length: FNTr0   r1   )r(   r   r&   r'   Úzipr5   r6   r%   r    r7   r8   r9   r   r   r   r   Ú	enumerate)r)   r?   r
   Úparams_with_gradr;   r:   r   r   r   r   r2   r-   Úgradientr%   ÚiÚpr0   s   &&               r   ÚstepÚ_FunctionalSGD.stepk   s×  € Ø×!Ñ! (Õ+ˆØÐØˆØ46ÐØ�]‰]˜4Õ ˆØ—}‘} ^Õ4ˆØ—=‘= Õ,ˆØ—M‘M +Õ.ˆ	äˆv‹;œ#˜i›.Ô(ÜØWØ#¤C¨£K =°Ð3õ4à&¤s¨9£~Ð&6Ð7õ8óð ð  ˆÜ" 6Ö5‰OˆEØÔ#Ø ×'Ñ'¨Ô.Ø—‘˜XÔ&Ø×%×%Ð%Ø&*�Oà§
¡
Ô*Ø(*�D—J‘J˜uÑ%àŸ
™
 5Õ)�Ø$¨EÔ1Ø(×/Ñ/°Ö5à(×/Ñ/°Ð6GÕ0HÖIñ  6ô  �]Š]�_�_Ü�EŠEØ ØØ$Ø)Ø!ØØ#ØŸ™ØŸ™Ø /ØŸ™Ø—j‘jØØõ÷ ô& Ð.Ö/‰DˆAØ—J‘J˜q•MˆEØ2Õ5ˆOØÔ*Ø+:�Ð'Ó(ó	 0÷' �_ús   ÆAHÈH%	)r   r   r   r   r   r(   r%   N)	g{®Gáz„?ç        rI   rI   FFFFF)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r*   r<   rG   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s%   ø‡ € ÷.ò .÷B07ð 07÷d9;ö 9;r   r   c                óV   € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r	   Ú__all__)Ú__conditional_annotations__r   r$   )r   s   "r   r   r      s   € ‡�÷ Ò ŒŒc�Ñ ò r   )rR   r    Útorch.optim._functionalÚoptimÚ_functionalr8   r   Ú,torch.distributed.optim._deprecation_warningr   rQ   r   r   )rR   s   @r   Ú<module>rW      s1   øð÷ €ß #Ð #Ý õð
 €Ó ÷M;ó M;r   