+
    ˜°³j"B  ã                   ó  € ^ RI Ht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 RR.t ! R R]4      tR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# )é    )ÚAnyÚcastN)ÚTensor)Ú_capturable_docÚ_default_to_fused_or_foreachÚ_differentiable_docÚ_disable_dynamo_if_unsupportedÚ_foreach_docÚ!_get_capturable_supported_devicesÚ_get_scalar_dtypeÚ_maximize_docÚ_params_docÚ
_to_scalarÚ_use_grad_for_differentiableÚ_view_as_realÚ	OptimizerÚParamsTÚAdadeltaÚadadeltac                   ó„   a a€ ] tR t^t oRRRRRRR/V3R lV 3R lllltV 3R ltV3R lR	 lt]RR
 l4       tRt	Vt
V ;t# )r   Ú
capturableFÚmaximizeÚdifferentiablec                ór   <€ V ^8„  d   QhRS[ RS[S[,          RS[RS[RS[RS[R,          RS[R	S[R
S[RR/
# )é   ÚparamsÚlrÚrhoÚepsÚweight_decayÚforeachNr   r   r   Úreturn)r   Úfloatr   Úbool)ÚformatÚ__classdict__s   "€ÚU/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/optim/adadelta.pyÚ__annotate__ÚAdadelta.__annotate__   sw   ø€ ÷ "+ñ "+áð"+ñ ‘F�Nð"+ñ ð	"+ñ
 ð"+ñ ð"+ñ ˜•ð"+ñ ð"+ñ ð"+ñ ð"+ð 
ñ"+ó    c               ór  <€ \        V\        4      '       d!   VP                  4       ^8w  d   \        R4      hRV8:  g   \        RV 24      hRTu;8:  d   R8:  g   M \        RV 2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	/p
\        SV `  W4       R# )é   zTensor lr must be 1-elementg        zInvalid learning rate: ç      ð?zInvalid rho value: zInvalid epsilon value: zInvalid weight_decay value: r   r   r   r    r   r   r!   r   N)Ú
isinstancer   ÚnumelÚ
ValueErrorÚsuperÚ__init__)Úselfr   r   r   r   r    r!   r   r   r   ÚdefaultsÚ	__class__s   &&&&&&&$$$ €r'   r2   ÚAdadelta.__init__   sÙ   ø€ ô �bœ&×!Ò! b§h¡h£j°A¤oÜÐ:Ó;Ð;Ø�bŒyÜÐ6°r°dÐ;Ó<Ð<Ø�cÖ ˜SÖ ÜÐ2°3°%Ð8Ó9Ð9Ø�cŒzÜÐ6°s°eÐ<Ó=Ð=Ø�lÔ"ÜÐ;¸L¸>ÐJÓKÐKð �"Ø�3Ø�3Ø˜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,           FÅ  pV P                  P                  V. 4      p\        V4      ^ 8w  g   K1  \        P                  ! VR,          4      '       d   KV  \        VR,          4      pVR,          '       d,   \        P                  ! V\        4       VP                  R7      M\        P                  ! V\        4       R	7      VR&   KÇ  	  EK!  	  R# )
r!   Nr   Fr   r   r   Ústep©ÚdtypeÚdevice©r:   )r1   Ú__setstate__Úparam_groupsÚ
setdefaultÚstateÚgetÚlenÚtorchÚ	is_tensorr#   Útensorr   r;   )r3   r@   ÚgroupÚpÚp_stateÚstep_valr5   s   &&    €r'   r=   ÚAdadelta.__setstate__A   sø   ø€ Ü‰Ñ˜UÔ#Ø×&Õ&ˆEØ×Ñ˜Y¨Ô-Ø×Ñ˜Z¨Ô/Ø×ÑÐ-¨uÔ5Ø×Ñ˜\¨5Ô1Ø˜8—_�_�ØŸ*™*Ÿ.™.¨¨BÓ/�Ü�w“< 1Ö$¬U¯_ª_¸WÀV½_×-MÔ-MÜ$ W¨V¥_Ó5�Hð
 ! ×.Ô.ô ŸšØ$Ô,=Ó,?ÈÏÉõô #Ÿ\š\¨(Ô:KÓ:MÔNð ˜F“Oô	 %ó 'r*   c                ó¤   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          RS[S[,          RS[S[,          RS[S[,          RS[S[,          /# )r   rF   Úparams_with_gradÚgradsÚsquare_avgsÚ
acc_deltasÚstate_steps)ÚdictÚstrr   Úlistr   )r%   r&   s   "€r'   r(   r)   T   sc   ø€ ÷ )ñ )á‘C™�H�~ð)ñ ™v�,ð)ñ ‘F�|ð	)ñ
 ™&•\ð)ñ ™•Lð)ñ ™&•\ñ)r*   c                ób  € 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°   VR,          '       d,   \        P                  ! R
\        4       VP                  R7      M\        P                  ! R
\        4       R7      V	R&   \        P                  ! V\        P                  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       EK¡  	  V# )Fr   z*Adadelta does not support sparse gradientsr   r9   r<   r8   )Úmemory_formatÚ
square_avgÚ	acc_delta© )ÚgradrC   Ú
is_complexÚappendÚ	is_sparseÚRuntimeErrorr@   rB   Úzerosr   r;   Ú
zeros_likeÚpreserve_format)
r3   rF   rL   rM   rN   rO   rP   Úhas_complexrG   r@   s
   &&&&&&&   r'   Ú_init_groupÚAdadelta._init_groupT   sV  € ð ˆà�x—‘ˆAØ�v‰vŠ~ÙØœ5×+Ò+¨AÓ.Õ.ˆKØ×#Ñ# AÔ&Ø�v‰v××ÐÜ"Ð#OÓPÐPØ�L‰L˜Ÿ™Ô à—J‘J˜q•MˆEô �5‹z˜QŒð ˜\×*Ô*ô —K’K Ô*;Ó*=ÀaÇhÁhÕOäŸš RÔ/@Ó/BÔCð �f‘ô ',×&6Ò&6Ø¤U×%:Ñ%:ô'��lÑ#ô &+×%5Ò%5Ø¤U×%:Ñ%:ô&��kÑ"ð ×Ñ˜u \Õ2Ô3Ø×Ñ˜e KÕ0Ô1Ø×Ñ˜u V�}×-ñ9 !ð< Ð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VR,          VR,          VR,          VR,          VR,          VR,          VR,          VR	,          3w  p	p
ppppppV P	                  W4WVWx4      p\        VVVVVV	V
VVVVVV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   ra   )Ú'_accelerator_graph_capture_health_checkrC   Úenable_gradr>   rb   r   )r3   ÚclosureÚlossrF   rL   rM   rN   rO   rP   r   r   r   r    r!   r   r   r   ra   s   &&                r'   r8   ÚAdadelta.step   s#  € ð 	×4Ñ4Ô6àˆØÒÜ×"Ò"×$Õ$Ù“y�÷ %ð ×&Ô&ˆEØ-/ÐØ"$ˆEØ(*ˆKØ')ˆJØ(*ˆKð �d•Ø�e•Ø�e•Ø�nÕ%Ø�iÕ Ø�jÕ!ØÐ&Õ'Ø�lÕ#ð	ñ	ØØØØØØØØð ×*Ñ*Ø¨¸ZóˆKô Ø ØØØØØØØØ)ØØ!Ø-Ø%Ø'÷ñ= 'ð^ ˆ÷e %×$ús   ´CÃC*	rX   )r-   gÍÌÌÌÌÌì?g�íµ ÷Æ°>r   N©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r2   r=   rb   r   r8   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r5   r&   s   @@r'   r   r      sW   ù‡ € ñ"+ð !ð"+ð ð"+ð  %÷"+ö "+õH÷&)ð )ðV "ó=ó "÷=ð =r*   a  Implements Adadelta algorithm.

    .. math::
       \begin{aligned}
            &\rule{110mm}{0.4pt}                                                                 \\
            &\textbf{input}      : \gamma \text{ (lr)}, \: \theta_0 \text{ (params)},
                \: f(\theta) \text{ (objective)}, \: \rho \text{ (decay)},
                \: \lambda \text{ (weight decay)}                                                \\
            &\textbf{initialize} :  v_0  \leftarrow 0 \: \text{ (square avg)},
                \: u_0 \leftarrow 0 \: \text{ (accumulate variables)}                     \\[-1.ex]
            &\rule{110mm}{0.4pt}                                                                 \\
            &\textbf{for} \: t=1 \: \textbf{to} \: \ldots \: \textbf{do}                         \\
            &\hspace{5mm}g_t           \leftarrow   \nabla_{\theta} f_t (\theta_{t-1})           \\
            &\hspace{5mm}if \: \lambda \neq 0                                                    \\
            &\hspace{10mm} g_t \leftarrow g_t + \lambda  \theta_{t-1}                            \\
            &\hspace{5mm} v_t      \leftarrow v_{t-1} \rho + g^2_t (1 - \rho)                    \\
            &\hspace{5mm}\Delta x_t    \leftarrow   \frac{\sqrt{u_{t-1} +
                \epsilon }}{ \sqrt{v_t + \epsilon}  }g_t \hspace{21mm}                           \\
            &\hspace{5mm} u_t  \leftarrow   u_{t-1}  \rho +
                 \Delta x^2_t  (1 - \rho)                                                        \\
            &\hspace{5mm}\theta_t      \leftarrow   \theta_{t-1} - \gamma  \Delta x_t            \\
            &\rule{110mm}{0.4pt}                                                          \\[-1.ex]
            &\bf{return} \:  \theta_t                                                     \\[-1.ex]
            &\rule{110mm}{0.4pt}                                                          \\[-1.ex]
       \end{aligned}

    For further details regarding the algorithm we refer to `ADADELTA: An Adaptive Learning Rate Method`_.
    z
    Args:
        ar  
        lr (float, Tensor, optional): coefficient that scale delta before it is applied
            to the parameters (default: 1.0)
        rho (float, optional): coefficient used for computing a running average
            of squared gradients (default: 0.9). A higher value of `rho` will
            result in a slower average, which can be helpful for preventing
            oscillations in the learning process.
        eps (float, optional): term added to the denominator to improve
            numerical stability (default: 1e-6).
        weight_decay (float, optional): weight decay (L2 penalty) (default: 0)
        z	
        zd

    .. _ADADELTA\: An Adaptive Learning Rate Method:
        https://arxiv.org/abs/1212.5701

    c                ó<  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        \        ,          R\        R\        R	\        R
\        R\        R\        R\        RR/# ©r   r   rM   rN   rO   rP   r   r   r   r    r   r   r   ra   r"   N©rS   r   r#   r$   )r%   s   "r'   r(   r(   õ   s¬   € ÷ 9%ñ 9%Ü”�Lð9%ä”�<ð9%ô ”f•ð9%ô ”V•ð	9%ô
 ”f•ð9%ô 	”�ð9%ô 
ð9%ô 
ð9%ô ð9%ô ð9%ô ð9%ô ð9%ô ð9%ð 
ñ9%r*   c          	      ó  a€ \         P                  P                  4       '       gz   V'       dr   \        R R7      o\        ;QJ d*    V3R l\        WRR7       4       F  '       d   K   R M	  RM! V3R l\        WRR7       4       4      '       g   \        RS R24      h\         P                  P                  4       '       g   \        V4      p\        WW#VRR7       EF¥  w  rÞpppV^,          pV	'       g   TMV) pV^ 8w  d   VP                  WØR7      p\         P                  ! V4      '       dC   \         P                  ! V4      p\         P                  ! V4      p\         P                  ! V4      pVP                  V4      P                  Wî^V,
          R7       VP                  V4      P                  4       pVP                  V4      P                  4       pV
'       d   VP!                  4       pVP#                  V4      P                  V4       VP                  V4      P                  VV^V,
          R7       \         P                  ! V4      '       d   \         P$                  ! V4      pVP'                  VV) R7       EK¨  	  R	# )
F©Úsupports_xlac              3   óÄ   <"  € T FU  w  rVP                   P                  VP                   P                  8H  ;'       d    VP                   P                  S9   x € KW  	  R # 5irj   ©r;   Útype©Ú.0rG   r8   Úcapturable_supported_devicess   &  €r'   Ú	<genexpr>Ú*_single_tensor_adadelta.<locals>.<genexpr>
  óT   øé € ð 
ñ A‘�ð �H‰H�M‰M˜TŸ[™[×-Ñ-Ñ-÷ >ð >Ø—‘—‘Ð!=Ñ=ô>ã@ùó
   ƒ:A ¾"A T©ÚstrictúIIf capturable=True, params and state_steps must be on supported devices: Ú.©Úalpha©ÚvalueN)rC   ÚcompilerÚis_compilingr   ÚallÚzipÚAssertionErrorÚjitÚis_scriptingr   ÚaddrZ   Úview_as_realÚmul_Úaddcmul_Úsqrt_ÚcloneÚdiv_Úview_as_complexÚadd_)r   rM   rN   rO   rP   r   r   r   r    r   r   r   ra   ÚparamrY   rV   rW   r8   ÚstdÚdeltar}   s   &&&&&$$$$$$$$       @r'   Ú_single_tensor_adadeltar�   õ   s  ø€ ô" �>‰>×&Ñ&×(Ò(¯ZÜ'HØô(
Ð$÷ ‹sô 
ô ˜v¸4Õ@ó
�s�sŠsô 
ô ˜v¸4Õ@ó
÷ 
ò 
ô
 !Ø[Ð\xÐ[yÐyzÐ{óð ô �9‰9×!Ñ!×#Ò#Ü˜‹^ˆä47Ø�{°ÀD÷5ð 5Ñ0ˆ�Z ¨Dð 	��	ˆß#‰t¨$¨ˆà˜1ÔØ—8‘8˜E�8Ó6ˆDä×Ò˜E×"Ò"Ü×+Ò+¨JÓ7ˆJÜ×*Ò*¨9Ó5ˆIÜ×%Ò% dÓ+ˆDà�‰˜Ó×%Ñ% d¸¸C½Ð%Ô@Ø�n‰n˜SÓ!×'Ñ'Ó)ˆØ—‘˜cÓ"×(Ñ(Ó*ˆßØ—K‘K“MˆEØ�
‰
�3‹×Ñ˜TÔ"Ø�‰�sÓ×$Ñ$ U¨E¸¸S½Ð$ÔAä×Ò˜E×"Ò"Ü×)Ò)¨%Ó0ˆEØ�
‰
�5  ˆ
×$ó15r*   c                ó<  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        \        ,          R\        R\        R	\        R
\        R\        R\        R\        RR/# rs   rt   )r%   s   "r'   r(   r(   1  sÌ   € ÷ gBñ gBÜ”�LðgBä”�<ðgBô ”f•ðgBô ”V•ð	gBô
 ”f•ðgBô 	”�ðgBô 
ðgBô 
ðgBô ðgBô ðgBô ðgBô ðgBô ðgBð 
ñgBr*   c          	      óò  a€ V
'       d   \        R 4      h\        P                  P                  4       '       gz   V'       dr   \	        RR7      o\
        ;QJ d*    V3R l\        WRR7       4       F  '       d   K   RM	  RM! V3R l\        WRR7       4       4      '       g   \        RS R24      h\        V 4      ^ 8X  d   R# \        V4      p\        P                  ! WW#V.4      pVP                  4        EFú  w  w  pppppp\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      p\        \        \        ,          V4      pV'       d   \        VVVV4       \        P                  P                  4       '       gJ   V^ ,          P                   '       d1   \        P"                  ! V\        P$                  ! R	R
R7      R	R7       M\        P"                  ! V^4       V	'       d   \        P&                  ! V4      pV^ 8w  d<   V	'       d   \        P"                  ! VVVR7       M\        P(                  ! VVVR7      p\        P*                  ! VV4       \        P,                  ! VVV^V,
          R7       \        P(                  ! VV4      p\        P.                  ! V4       \        P(                  ! VV4      p\        P.                  ! V4       \        P0                  ! VV4       \        P*                  ! VV4       \        P*                  ! VV4       \        P,                  ! VVV^V,
          R7       V'       dS   \3        V\        P                  4      '       d3   \        P*                  ! VV) 4       \        P"                  ! VV4       EKà  \        P"                  ! VVV) R7       EKý  	  R# )z#_foreach ops don't support autogradFrv   c              3   óÄ   <"  € T FU  w  rVP                   P                  VP                   P                  8H  ;'       d    VP                   P                  S9   x € KW  	  R # 5irj   ry   r{   s   &  €r'   r~   Ú)_multi_tensor_adadelta.<locals>.<genexpr>I  r€   r�   Tr‚   r„   r…   Nr-   Úcpu)r;   r†   rˆ   )rŽ   rC   rŠ   r‹   r   rŒ   r�   rB   r   r   Ú"_group_tensors_by_device_and_dtypeÚvaluesr   rS   r   r   Úis_cpuÚ_foreach_add_rE   Ú_foreach_negÚ_foreach_addÚ_foreach_mul_Ú_foreach_addcmul_Ú_foreach_sqrt_Ú_foreach_div_r.   )r   rM   rN   rO   rP   r   r   r   r    r   r   r   ra   Úgrouped_tensorsÚdevice_params_Údevice_grads_Údevice_square_avgs_Údevice_acc_deltas_Údevice_state_steps_Ú_Údevice_paramsÚdevice_gradsÚdevice_square_avgsÚdevice_acc_deltasÚdevice_state_stepsr›   Údeltasr}   s   &&&&&$$$$$$$$              @r'   Ú_multi_tensor_adadeltarº   1  s  ø€ ÷  ÜÐBÓCÐCô �>‰>×&Ñ&×(Ò(¯ZÜ'HØô(
Ð$÷ ‹sô 
ô ˜v¸4Õ@ó
�s�sŠsô 
ô ˜v¸4Õ@ó
÷ 
ò 
ô
 !Ø[Ð\xÐ[yÐyzÐ{óð ô ˆ6ƒ{�aÔÙä	�B‹€Bä×BÒBØ	˜°Ð=ó€Oð ×"Ñ"×$ñ		ñ 	ØØØØØØÜœT¤&�\¨>Ó:ˆÜœD¤�L¨-Ó8ˆÜ!¤$¤v¥,Ð0CÓDÐÜ ¤¤f¥Ð/AÓBÐÜ!¤$¤v¥,Ð0CÓDÐßÜØ˜|Ð-?ÐARôô �~‰~×*Ñ*×,Ò,Ð1CÀAÕ1F×1M×1MÐ1MÜ×ÒØ"¤E§L¢L°¸UÔ$CÈ3öô ×ÒÐ 2°AÔ6çÜ ×-Ò-¨lÓ;ˆLà˜1ÔçÜ×#Ò# L°-À|ÖTä$×1Ò1Ø  -°|ô �ô 	×ÒÐ.°Ô4Ü×ÒØ ¨lÀ!ÀcÅ'õ	
ô × Ò Ð!3°SÓ9ˆÜ×Ò˜SÔ!ä×#Ò#Ð$5°sÓ;ˆÜ×Ò˜VÔ$Ü×Ò˜F CÔ(Ü×Ò˜F LÔ1ä×ÒÐ-¨sÔ3Ü×ÒÐ 1°6¸6ÈÈSÍÕQ÷ œ* R¬¯©×6Ò6Ü×Ò ¨¨Ô,Ü×Ò ¨v×6ä×Ò ¨v¸b¸S×AÐAóq %r*   )Úsingle_tensor_fnc                óV  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        R\        R,          R	\        R
\        R\        \        ,          R\        R\        R\        R\        RR/# )r   r   rM   rN   rO   rP   r   r!   Nr   ra   r   r   r   r    r   r"   )rS   r   r$   r#   )r%   s   "r'   r(   r(   œ  sº   € ÷ =ñ =Ü”�Lð=ä”�<ð=ô ”f•ð=ô ”V•ð	=ô
 ”f•ð=ô ð=ô �D�[ð=ô ð=ô ð=ô 	”�ð=ô 
ð=ô 
ð=ô  ð!=ô" ð#=ð$ 
ñ%=r*   c	               ó  € \         P                  P                  4       '       gF   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \	        R4      hVf   \        WRR7      w  ræ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R7       R# )	znFunctional API that performs Adadelta algorithm computation.

See :class:`~torch.optim.Adadelta` for details.
c              3   óV   "  € T F  p\        V\        P                  4      x € K!  	  R # 5irj   )r.   rC   r   )r|   Úts   & r'   r~   Úadadelta.<locals>.<genexpr>¶  s!   é € ð 5Ù-8¨Œ
�1”e—l‘l×#Ð#«[ùs   ‚')FTzPAPI has changed, `state_steps` argument must contain a list of singleton tensorsN)Ú	use_fusedz6torch.jit.script not supported with foreach optimizers)r   r   r   r    r   r   r   ra   )
rC   rŠ   r‹   rŒ   r]   r   r�   r�   rº   r�   )r   rM   rN   rO   rP   r   r!   r   ra   r   r   r   r    r   r³   Úfuncs   &&&&&&&&&$$$$$  r'   r   r   ›  sà   € ô6 �>‰>×&Ñ&×(Ò(·³ñ 5Ù-8ó5··²ñ 5Ù-8ó5÷ 2ò 2ô Ø^ó
ð 	
ð
 ‚Ü1Ø¨eô
‰
ˆ÷ ”5—9‘9×)Ñ)×+Ò+ÜÐSÓTÐTç”u—y‘y×-Ñ-×/Ò/Ü%‰ä&ˆáØØØØØØØØØ!ØØ%ØØ÷r*   )FNFF)Útypingr   r   rC   r   Ú	optimizerr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Ú__all__r   Ú__doc__r�   rº   r   rX   r*   r'   Ú<module>rÇ      s¹   ðç ã Ý ÷÷ ÷ ÷ ð$ �zÐ
"€ôaˆyô aðJð8	à	ˆð 
	ð 
ˆð 	Ø	Ðð 	Ø	ˆð 	Ø	Ðð ðõ90ð 	Ô õj9%õxgBñT  Ð1HÔIö=ó Jò=r*   