+
    &jA                        ^ 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   "l/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/optim/adadelta.py__annotate__Adadelta.__annotate__   sw     "+ "+"+ FN"+ 	"+
 "+ "+ "+ "+ "+ "+ 
"+    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&!!bhhjAo:;;by6rd;<<c S 23%899cz6se<==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__WV_-M-M$WV_5H
 !.. $,=,? #\\(:K:MN FO	 % '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vv~5++A..K##A&vv"#OPPLL JJqME 5zQ \** KK*;*=ahhOR/@/BC f ',&6&6U%:%:'l# &+%5%5U%:%:&k" u\23eK01uV}-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)zPerform 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  rpppV^,          pV	'       g   TMV) pV^ 8w  d   VP                  WR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 HHMMT[[--- > >!==>@
   :A "A TstrictIIf 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 
 v4@
sss 
 v4@
 
 

 ![\x[yyz{  99!!##^47{D5 50ZD 		#t$188E86DE""++J7J**95I%%d+D%%dC%@nnS!'')c"((*KKME

3T"s$$UES$AE""))%0E

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 
 v4@
sss 
 v4@
 
 

 ![\x[yyz{  6{a	BBBB	=O ""$		 	T&\>:DL-8!$v,0CD f/AB!$v,0CD|-?AR ~~**,,1CA1F1M1M1M"ELLU$C3  2A6 --l;L1##L-|T$11 -|  	.4l!c'	
   !3S9S!##$5s;V$FC(FL1-s3 166SQ *R66,v6vbSAAq %r*   )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   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  rV'       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
1ell##[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

 599))++STTuyy--//%&!%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*   