+
    Pj5a                        R t ^ 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] R2,           ]n         R R ltR R lt]	! ]R7      RR R ll4       tR# )z'Implementation for the RAdam algorithm.)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RAdamradamc            	       |   a a ] tR t^t oRRRRRRRRR/V3R lV 3R lllltV 3R	 ltR
 t]RR l4       tRt	Vt
V ;t# )r   FforeachNmaximize
capturabledifferentiablec                   < V ^8  d   QhRS[ RS[S[,          RS[S[S[3,          RS[RS[RS[RS[R,          R	S[R
S[RS[RR/# )   paramslrbetasepsweight_decaydecoupled_weight_decayr   Nr   r   r   return)r   floatr   tuplebool)format__classdict__s   "j/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/torch/optim/radam.py__annotate__RAdam.__annotate__    s     &+ &+&+ FN&+ UE\"	&+
 &+ &+ !%&+ &+ &+ &+ &+ 
&+    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^ ,          u;8:  d   R8  g   M \        RV^ ,           24      hRV^,          u;8:  d   R8  g   M \        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-element        zInvalid learning rate: zInvalid epsilon value:       ?z#Invalid beta parameter at index 0: z#Invalid beta parameter at index 1: 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(   r4   RAdam.__init__    s    b&!!bhhjAo:;;by6rd;<<cz6se<==eAh$$B58*MNNeAh$$B58*MNNl";L>JKK "U3Lw*$&<n

 	*r+   c                  < \         SV `  V4       V P                   EF0  pVP                  R R4       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K3  	  R# )r   Nr   Fr   r!   r   r   stepdtypedevicer<   )r3   __setstate__param_groups
setdefaultstategetlentorch	is_tensorr#   tensorr
   r=   )r5   rB   grouppp_statestep_valr7   s   &&    r(   r?   RAdam.__setstate__H   s	   U#&&EY-Z/-u55u=\518__**..B/w<1$U__WV_-M-M$WV_5H
 !.. $,=,? #\\(:K:MN FO	 % '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'RAdam does not support sparse gradientsr   r;   r.   r>   r:   )memory_formatexp_avg
exp_avg_sq )gradrE   
is_complexappend	is_sparseRuntimeErrorrB   rD   zerosr
   r=   rG   
zeros_likepreserve_format)
r5   rH   params_with_gradgradsexp_avgsexp_avg_sqsstate_stepshas_complexrI   rB   s
   &&&&&&&   r(   _init_groupRAdam._init_group\   sP    xAvv!u//22 ''*66###&'PQQQVV$

1u:? !.. B.?.A!((S"\\#5F5HI &M (-'7'7)>)>(E)$ +0*:*:)>)>+E,' i 01""5#67""5=17 !: 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\	        \
        \        \        3,          VR,          4      w  rV P                  W4WVWx4      p\        VVVVVV	V
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)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!   )beta1beta2r   r    r   r   r   r   r   r!   r_   )	'_accelerator_graph_capture_health_checkrE   enable_gradr@   r   r$   r#   r`   r   )r5   closurelossrH   rZ   r[   r\   r]   r^   rc   rd   r_   s   &&          r(   r:   
RAdam.step   s    	446""$$y % &&E-/"$E%'H(*K(*KeUl 3U7^DLE**+K  ;">2%Lz*i( .$%56',-E'F'! '> E %$s   C33D	rQ   )gMbP?)g?g+?g:0yE>    FN)__name__
__module____qualname____firstlineno__r4   r?   r`   r   r:   __static_attributes____classdictcell____classcell__)r7   r'   s   @@r(   r   r      s\     &+  $&+ &+ !&+  %&+ &+P(!F "- "- -r+   a  Implements RAdam algorithm.

    .. math::
       \begin{aligned}
            &\rule{110mm}{0.4pt}                                                                 \\
            &\textbf{input}      : \gamma \text{ (lr)}, \: \beta_1, \beta_2
                \text{ (betas)}, \: \theta_0 \text{ (params)}, \:f(\theta) \text{ (objective)}, \:
                \lambda \text{ (weightdecay)}, \:\textit{maximize}                               \\
            &\hspace{13mm} \epsilon \text{ (epsilon)}, \textit{decoupled\_weight\_decay}         \\
            &\textbf{initialize} :  m_0 \leftarrow 0 \text{ ( first moment)},
                v_0 \leftarrow 0 \text{ ( second moment)},                                       \\
            &\hspace{18mm} \rho_{\infty} \leftarrow 2/(1-\beta_2) -1                      \\[-1.ex]
            &\rule{110mm}{0.4pt}  \\
            &\textbf{for} \: t=1 \: \textbf{to} \: \ldots \: \textbf{do}                         \\
            &\hspace{6mm}\textbf{if} \: \textit{maximize}:                                       \\
            &\hspace{12mm}g_t           \leftarrow   -\nabla_{\theta} f_t (\theta_{t-1})         \\
            &\hspace{6mm}\textbf{else}                                                           \\
            &\hspace{12mm}g_t           \leftarrow   \nabla_{\theta} f_t (\theta_{t-1})          \\
            &\hspace{6mm} \theta_t \leftarrow \theta_{t-1}                                       \\
            &\hspace{6mm} \textbf{if} \: \lambda \neq 0                                          \\
            &\hspace{12mm}\textbf{if} \: \textit{decoupled\_weight\_decay}                       \\
            &\hspace{18mm} \theta_t \leftarrow \theta_{t} - \gamma \lambda \theta_{t}            \\
            &\hspace{12mm}\textbf{else}                                                          \\
            &\hspace{18mm} g_t \leftarrow g_t + \lambda \theta_{t}                               \\
            &\hspace{6mm}m_t           \leftarrow   \beta_1 m_{t-1} + (1 - \beta_1) g_t          \\
            &\hspace{6mm}v_t           \leftarrow   \beta_2 v_{t-1} + (1-\beta_2) g^2_t          \\
            &\hspace{6mm}\widehat{m_t} \leftarrow   m_t/\big(1-\beta_1^t \big)                   \\
            &\hspace{6mm}\rho_t \leftarrow \rho_{\infty} -
                2 t \beta^t_2 /\big(1-\beta_2^t \big)                                    \\[0.1.ex]
            &\hspace{6mm}\textbf{if} \: \rho_t > 5                                               \\
            &\hspace{12mm} l_t \leftarrow \frac{\sqrt{ (1-\beta^t_2) }}{ \sqrt{v_t} +\epsilon  } \\
            &\hspace{12mm} r_t \leftarrow
      \sqrt{\frac{(\rho_t-4)(\rho_t-2)\rho_{\infty}}{(\rho_{\infty}-4)(\rho_{\infty}-2) \rho_t}} \\
            &\hspace{12mm}\theta_t \leftarrow \theta_t - \gamma \widehat{m_t} r_t l_t        \\
            &\hspace{6mm}\textbf{else}                                                           \\
            &\hspace{12mm}\theta_t \leftarrow \theta_t - \gamma \widehat{m_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 `On the variance of the adaptive learning rate and beyond`_.

    This implementation provides an option to use either the original weight_decay implementation as in Adam
    (where the weight_decay is applied to the gradient) or the one from AdamW (where weight_decay is applied
    to the weight) through the decoupled_weight_decay option. When decoupled_weight_decay is set to False
    (default), it uses the original Adam style weight decay, otherwise, it uses the AdamW style which
    corresponds more closely to the `author's implementation`_ in the RAdam paper. Further information
    about decoupled weight decay can be found in `Decoupled Weight Decay Regularization`_.

    z
    Args:
        a  
        lr (float, Tensor, optional): learning rate (default: 1e-3)
        betas (Tuple[float, float], optional): coefficients used for computing
            running averages of gradient and its square (default: (0.9, 0.999))
        eps (float, optional): term added to the denominator to improve
            numerical stability (default: 1e-8)
        weight_decay (float, optional): weight decay (L2 penalty) (default: 0)
        decoupled_weight_decay (bool, optional): whether to decouple the weight
            decay as in AdamW to obtain RAdamW. If True, the algorithm does not
            accumulate weight decay in the momentum nor variance. (default: False)
        z	
        a  

    .. _On the variance of the adaptive learning rate and beyond:
        https://arxiv.org/abs/1908.03265
    .. _author's implementation:
        https://github.com/LiyuanLucasLiu/RAdam
    .. _Decoupled Weight Decay Regularization:
        https://arxiv.org/abs/1711.05101

    c                 >   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^   rc   rd   r   r    r   r!   r   r   r   r_   r"   Nlistr   r#   r%   )r&   s   "r(   r)   r)      s     fD fDLfD<fD 6lfD f	fD
 ffD fD fD 	fD fD 
fD !fD fD fD fD  !fD" 
#fDr+   c       
           a	aaaaa \         P                  P                  4       '       g   \        V4      p\	        V 4       EF   w  ppV'       g	   W,          MW,          ) pW/,          pW?,          oWO,          p\         P
                  P                  4       '       gl   V'       dd   \        4       pVP                  P                  VP                  P                  8X  d   VP                  P                  V9   g   \        R V R24      h\         P                  ! V4      '       dY   \         P                  ! V4      p\         P                  ! V4      p\         P                  ! V4      p\         P                  ! S4      oV^,          pV'       d   TM
\        V4      pV^ 8w  d;   V
'       d    VP                  ^Wx,          ,
          4       MVP                  VVR7      pVP!                  V^V,
          4       SP                  V4      P#                  VV^V,
          R7       ^VV,          ,
          p^VV,          ,
          oVV,          p^^V,
          ,          ^,
          oS^V,          VV,          ,          S,          ,
          oVV3R lpVVV	V3R lpV'       dQ   \         P$                  ! SR8  V! 4       V! 4       ,          R4      pVP'                  VV,          V,          R	R7       EK  SR8  d6   VP'                  VV,          V! 4       ,          V! 4       ,          R	R7       EK  VP'                  VV,          R	R7       EK  	  R# )
IIf capturable=True, params and state_steps must be on supported devices: .alpha)valuec                     < S^,
          S^,
          ,          S ,          S ^,
          S ^,
          ,          S,          ,          R,          # )         ?rQ   )rho_infrho_ts   r(   _compute_rect+_single_tensor_radam.<locals>._compute_rectE  sI    19 aKGaK058:  r+   c                     < SP                  4       p S'       d   V P                  S4      p MV P                  S4      p SR ,          V ,          # )r   )sqrtaddadd_)exp_avg_sq_sqrtbias_correction2r   r   rP   s    r(   _compute_adaptive_lr2_single_tensor_radam.<locals>._compute_adaptive_lrM  sB    (oo/O"1"5"5c":"1"6"6s";$c)_<<r+         @r/   Ng      )rE   jitis_scriptingr   	enumeratecompileris_compilingr	   r=   typeAssertionErrorrS   view_as_realr   mul_r   lerp_addcmul_wherer   )r   r[   r\   r]   r^   rc   rd   r   r    r   r!   r   r   r   r_   iparamrR   rO   step_tcapturable_supported_devicesr:   bias_correction1bias_corrected_exp_avgr   r   updater   rP   r   r   s   &&&&&$$$$d$d$$$            @@@@r(   _single_tensor_radamr      s   $ 99!!##^f%5'uxehY+ ^
 ~~**,,+L+N(!!V]]%7%77LL%%)EE$_`|_}}~  E""&&u-E%%d+D((1G++J7J 	!#vF);1%

1r001xx\x: 	dAI&''d!e)'Dud{?ud{? ")+;!; q5y/A%!d(eTk25EEE		= 	= [[]_/C/EEsF JJ-2V;4JHs{

**,- $o&    

1B6d
Cc &r+   c                 >   V ^8  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        R\        R\        R	\        R
\        R\        R\        R\        R\        R\        RR/# rt   ru   )r&   s   "r(   r)   r)   i  s     JJ JJLJJ<JJ 6lJJ f	JJ
 fJJ JJ JJ 	JJ JJ 
JJ !JJ JJ JJ JJ  !JJ" 
#JJr+   c       
         j  a* \        V 4      ^ 8X  d   R# 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      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\        P                  P	                  4       '       gJ   V^ ,          P                  '       d1   \        P                   ! V\        P"                  ! R
RR7      R
R7       M\        P                   ! V^4       V'       d   \%        VVVV4       V'       d   \        P&                  ! V4      p^^V,
          ,          ^,
          pV'       d   \        P(                  ! VV4      p\        P*                  ! V4       \        P                   ! V^4       \        P(                  ! VV4      p\        P,                  ! VV4       \        P,                  ! V^4       \        P.                  ! VV4       \        P*                  ! V4       \        P                   ! VV4       TpM]V Uu. uFQ  pV^\1        V4      ,          V\1        V4      ,          ,          ^V\1        V4      ,          ,
          ,          ,
          NKS  	  ppV^ 8w  di   V
'       d&   \        P,                  ! V^Wx,          ,
          4       M;V'       d   \        P                   ! VVVR7       M\        P2                  ! VVVR7      p\        P4                  ! VV^V,
          4       \        P,                  ! VV4       \        P6                  ! VVV^V,
          4       ?V'       Edb   \        P8                  ! V^4      p \        P8                  ! V^4      p!\        P,                  ! V V!4       ?!\        P,                  ! V V4       V^,
          V^,
          ,          p\        P:                  ! VV4      p"\        P.                  ! V V"4       ?"\        P<                  ! V 4       \        V VRR7       U#U$u. uF!  w  p#p$\        P>                  ! V$R8  V#R4      NK#  	  p%p#p$? ?V% U%u. uF  p%\        P>                  ! V%^ 8  RR
4      NK   	  p&p%\        P,                  ! V&V4       \        P(                  ! VV4      p\        P*                  ! V4       \        P                   ! V^4       \        P.                  ! V&V4       \        P*                  ! V&4       \        P(                  ! VV4      p\        P*                  ! V4       \        P                   ! V^4       \        P<                  ! V4       \        P,                  ! VV4       \        P,                  ! VX%4       ?%\        P*                  ! V4       \        P.                  ! VV4       ?EM9V U$u. uFT  p$V$^8  dI   V$^,
          V$^,
          ,          V,          V^,
          V^,
          ,          V$,          ,          R,          M^ NKV  	  p%p$V% U%u. uF  p%V%^ 8  d   ^ MR
NK  	  p'p%V Uu. uF  p^V\1        V4      ,          ,
          NK  	  pp\        V'VRR7       U%U(u. uF  w  p%p(VV%,          V(,          R,          NK  	  p&p%p(\        VX%VRR7       UU%U(u. uFC  w  pp%p(^V\1        V4      ,          ,
          R,          VV%,          V(,          ,          R,          NKE  	  pp%pp(\        P@                  ! V4      p)\        P                   ! V)V	4       \        P.                  ! V)V4       \        PB                  ! V)4       \        P                   ! V)V&4       \        P6                  ! VVV)4       EK  	  R# u upi u up$p#i u up%i u up$i u up%i u upi u up(p%i u up(p%pi )rj   Nz#_foreach ops don't support autogradF)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rk   )r=   r   ).0rI   r:   r   s   &  r(   	<genexpr>&_multi_tensor_radam.<locals>.<genexpr>  sT      
 A HHMMT[[--- > >!==>@s
   :A "A T)strictrx   ry   r/   cpu)r=   rz   r   r.   r   )"rD   r   rE   r   r   r	   allzipr   r   "_group_tensors_by_device_and_dtypevaluesr   rv   r   is_cpu_foreach_add_rG   r   _foreach_neg_foreach_pow_foreach_neg__foreach_mul__foreach_div_r   _foreach_add_foreach_lerp__foreach_addcmul__foreach_sub_foreach_mul_foreach_sqrt_r   _foreach_sqrt_foreach_reciprocal_)+r   r[   r\   r]   r^   rc   rd   r   r    r   r!   r   r   r   r_   grouped_tensorsgrouped_params_grouped_grads_grouped_exp_avgs_grouped_exp_avg_sqs_grouped_state_steps__grouped_paramsgrouped_gradsgrouped_exp_avgsgrouped_exp_avg_sqsgrouped_state_stepsr   r   r   
rho_t_listr:   numsub2denomnr   rectunrect_step_sizeunrectifiedbcbufferr   s+   &&&&&$$$$$$$$$$                           @r(   _multi_tensor_radamr   i  s   $ 6{aBCC >>&&((Z'H(
$ s 
 v4@
sss 
 v4@
 
 

 ![\x[yyz{  
BBBB	{;O ""$		 	d6lO<T&\>:V.?@"4<1EF"4<1EF ~~**,,1DQ1G1N1N1N#U\\#e%DC  3Q7/?AT !..}=M q5y/A%
 $11%9LM 01 0!4$11%9LM 02EF 0!4 02BC 01 0':)J 0 0D T"#Jt,,. u
4 00022 2
 0   1%##NA8I4IJ ''%~\ %*$6$6%~\%M
 	-}a%iH/7q5y	

 :$$Z3C%%j!4DT*W-{w{3G&&z7;EU+  %
 !$CD A AHAu ECKC0 A   LPQDDD1Hc3 ?DQ 0"5$11%9LM 01 0!4 02BC 01$11%9LM 01 0!4  !12 0"5 0$7 01 02BC  ( (E 19 QYqy"  !!4u<>
   (   ?CCddq1c1dKC ;N :M$EZ----:M   
 !$K1A$ O  OHD" dR2%% O    '*'/?' 'ND$ ez$///C7BINKbPP'    $$%89FC(F$45""6*F$45 	0@&Is %X^  R* D   s3   7Ab	)'b$bAb$b>"b#3#b(,A	b.
)single_tensor_fnc          "      X   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_   r   rc   rd   r   r    r   r"   )rv   r   r%   r#   )r&   s   "r(   r)   r)   7  s     ; ;L;<; 6l; f	;
 f; !; D[; ; ; ; ; ;  !;" 	#;$ %;& 
';( 
);r+   c                  \         ;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  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# )	zhFunctional API that performs RAdam algorithm computation.

See :class:`~torch.optim.RAdam` for details.
c              3   V   "   T F  p\        V\        P                  4      x  K!  	  R # 5irk   )r0   rE   r   )r   ts   & r(   r   radam.<locals>.<genexpr>P  s     @Kqz!U\\**Ks   ')FTzPAPI has changed, `state_steps` argument must contain a list of singleton tensorsN)	use_fusedz6torch.jit.script not supported with foreach optimizers)
rc   rd   r   r    r   r   r!   r   r   r_   )r   rV   r   rE   r   r   r   r   )r   r[   r\   r]   r^   r!   r   r   r   r_   r   rc   rd   r   r    r   r   funcs   &&&&&&&&&&&$$$$$  r(   r   r   6  s    4 3@K@333@K@@@^
 	
 1e

7 599))++STTuyy--//"#!5%r+   )FNFFFF)__doc__typingr   rE   r   	optimizerr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   __all__r   r   r   r   rQ   r+   r(   <module>r      s    .       & G
NI Nd2f		 
	 
 		 		 		 	gK `fDRJJZ  1EF; G;r+   