ó
    "EñiËa  ã            $       ó"  • S r SSKJr  SSKrSSKJr  SSKJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJr  SS/r " S	 S\5      rS
S\ S\
 S\ S\ S\ S3-   \l         S\\   S\\   S\\   S\\   S\\   S\S\S\S\S\S\S\S\S\S\SS4 S jrS\\   S\\   S\\   S\\   S\\   S\S\S\S\S\S\S\S\S\S\SS4 S  jr\	" \S!9      S$S\\   S\\   S\\   S\\   S\\   S\S"\S-  S\S\S\S\S\S\S\S\S\SS4"S# jj5       rg)%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                   ó°   ^ • \ rS rSr     SSSSSS.S\S\\-  S\\\4   S\S	\S
\S\S-  S\S\S\SS4U 4S jjjjr	U 4S jr
S r\SS j5       rSrU =r$ )r   é   FN)ÚforeachÚmaximizeÚ
capturableÚdifferentiableÚparamsÚlrÚbetasÚepsÚweight_decayÚdecoupled_weight_decayr   r   r   r   Úreturnc          
      ó¨  >• [        U[        5      (       a  UR                  5       S:w  a  [        S5      eSU::  d  [        SU 35      eSU::  d  [        SU 35      eSUS   s=::  a  S:  d  O  [        SUS    35      eSUS   s=::  a  S:  d  O  [        S	US    35      eSU::  d  [        S
U 35      eUUUUUUU	UU
S.	n[        TU ]  X5        g )Nr   zTensor lr must be 1-elementç        zInvalid learning rate: zInvalid epsilon value: r   ç      ð?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   )Ú
isinstancer   ÚnumelÚ
ValueErrorÚsuperÚ__init__)Úselfr   r   r   r    r!   r"   r   r   r   r   ÚdefaultsÚ	__class__s               €ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/optim/radam.pyr+   ÚRAdam.__init__    sü   ø€ ô �bœ&×!Ñ! b§h¡h£j°A£oÜÐ:Ó;Ð;Ø�b‹yÜÐ6°r°dÐ;Ó<Ð<Ø�c‹zÜÐ6°s°eÐ<Ó=Ð=Ø�e˜A‘hÕ$ Õ$ÜÐBÀ5ÈÁ8À*ÐMÓNÐNØ�e˜A‘hÕ$ Õ$ÜÐBÀ5ÈÁ8À*ÐMÓNÐNØ�lÓ"ÜÐ;¸L¸>ÐJÓKÐKð ØØØ(Ø ØØ$Ø&<Ø,ñ

ˆô 	‰Ñ˜Õ*ó    c                 ót  >• [         TU ]  U5        U R                   GH  nUR                  SS 5        UR                  SS5        UR                  SS5        UR                  SS5        UR                  SS5        US    H°  nU R                  R                  U/ 5      n[        U5      S:w  d  M0  [        R                  " US	   5      (       a  MP  [        US	   5      nUS   (       a(  [        R                  " U[        5       UR                  S
9O[        R                  " U[        5       S9US	'   M²     GM     g )Nr   r   Fr   r"   r   r   r   Ústep©ÚdtypeÚdevice©r5   )r*   Ú__setstate__Úparam_groupsÚ
setdefaultÚstateÚgetÚlenÚtorchÚ	is_tensorÚfloatÚtensorr   r6   )r,   r;   ÚgroupÚpÚp_stateÚstep_valr.   s         €r/   r8   ÚRAdam.__setstate__H   s  ø€ Ü‰Ñ˜UÔ#Ø×&Õ&ˆEØ×Ñ˜Y¨Ô-Ø×Ñ˜Z¨Ô/Ø×ÑÐ-¨uÔ5Ø×ÑÐ5°uÔ=Ø×Ñ˜\¨5Ô1Ø˜8”_�ØŸ*™*Ÿ.™.¨¨BÓ/�Ü�w“< 1Õ$¬U¯_ª_¸WÀV¹_×-MÓ-MÜ$ W¨V¡_Ó5�Hð
 ! ×.ô ŸšØ$Ô,=Ó,?ÈÏÉòô #Ÿ\š\¨(Ô:KÓ:MÑNð ˜F“Oô	 %ò 'r1   c                 ó
  • SnUS    GHv  nUR                   c  M  U[        R                  " U5      -  nUR                  U5        UR                   R                  (       a  [        S5      eUR                  UR                   5        U R                  U   n	[        U	5      S:X  až  US   (       a(  [        R                  " S[        5       UR                  S9O[        R                  " S[        5       S	9U	S
'   [        R                  " U[        R                  S9U	S'   [        R                  " U[        R                  S9U	S'   UR                  U	S   5        UR                  U	S   5        UR                  U	S
   5        GMy     U$ )NFr   z'RAdam does not support sparse gradientsr   r   © r4   r%   r7   r3   )Úmemory_formatÚexp_avgÚ
exp_avg_sq)Úgradr>   Ú
is_complexÚappendÚ	is_sparseÚRuntimeErrorr;   r=   Úzerosr   r6   rA   Ú
zeros_likeÚpreserve_format)
r,   rB   Úparams_with_gradÚgradsÚexp_avgsÚexp_avg_sqsÚstate_stepsÚhas_complexrC   r;   s
             r/   Ú_init_groupÚRAdam._init_group\   sH  € ð ˆØ�x•ˆAØ�v‰vÓ!Øœu×/Ò/°Ó2Ñ2�Ø ×'Ñ'¨Ô*Ø—6‘6×#×#Ü&Ð'PÓQÐQØ—‘˜QŸV™VÔ$àŸ
™
 1™�ä�u“: “?ð ! ×.ô Ÿš BÔ.?Ó.AÈ!Ï(É(ÒSä"Ÿ\š\¨#Ô5FÓ5HÑIð ˜&‘Mô (-×'7Ò'7Ø¬×)>Ñ)>ñ(�E˜)Ñ$ô +0×*:Ò*:Ø¬×)>Ñ)>ñ+�E˜,Ñ'ð —‘  iÑ 0Ô1Ø×"Ñ" 5¨Ñ#6Ô7Ø×"Ñ" 5¨¡=×1ñ7 !ð: Ðr1   c                 ó   • U R                  5         SnUb%  [        R                  " 5          U" 5       nSSS5        U R                   Hr  n/ n/ n/ n/ n/ n[	        [
        [        [        4   US   5      u  pšU R                  X4XVXx5      n[        UUUUUU	U
US   US   US   US   US   US   US	   US
   US9  Mt     U$ ! , (       d  f       N’= f)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"   )Úbeta1Úbeta2r   r!   r    r   r   r   r   r"   rY   )	Ú'_accelerator_graph_capture_health_checkr>   Úenable_gradr9   r   Útupler@   rZ   r   )r,   ÚclosureÚlossrB   rT   rU   rV   rW   rX   r]   r^   rY   s               r/   r3   Ú
RAdam.step   s  € ð 	×4Ñ4Ô6àˆØÑÜ×"Ò"Õ$Ù“y�÷ %ð ×&Ô&ˆEØ-/ÐØ"$ˆEØ%'ˆHØ(*ˆKØ(*ˆKÜ¤¤e¬U lÑ 3°U¸7±^ÓD‰LˆEà×*Ñ*Ø¨¸+óˆKô Ø ØØØØØØØ˜‘;Ø" >Ñ2Ø˜%‘LØ˜zÑ*Ø˜iÑ(Ø  Ñ.Ø$Ð%5Ñ6Ø',Ð-EÑ'FØ'ô!ñ 'ð> ˆ÷E %Õ$ús   «B?Â?
CrH   )gü©ñÒMbP?)gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?g:Œ0âŽyE>r   F©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r@   r   ra   Úboolr+   r8   rZ   r   r3   Ú__static_attributes__Ú__classcell__)r.   s   @r/   r   r      sÎ   ø† ð "Ø%1ØØØ',ð&+ð  $ØØ Ø$ò&+àð&+ð �F‰Nð&+ð �U˜E�\Ñ"ð	&+ð
 ð&+ð ð&+ð !%ð&+ð ˜‘ð&+ð ð&+ð ð&+ð ð&+ð 
÷&+ñ &+õPò(!ðF "ó-ó "ö-r1   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

    r   rU   rV   rW   rX   r]   r^   r   r!   r    r"   r   r   r   rY   r#   c       
         óh  ^	^^^^^• [         R                  R                  5       (       d  [        U5      n[	        U 5       GHn  u  nnU(       d  X   OX   * nX/   nX?   mXO   n[         R
                  R                  5       (       dh  U(       aa  [        5       nUR                  R                  UR                  R                  :X  a  UR                  R                  U;   d  [        SU S35      e[         R                  " U5      (       aX  [         R                  " U5      n[         R                  " U5      n[         R                  " U5      n[         R                  " T5      mUS-  nU(       a  UO
[        U5      nUS:w  a.  U
(       a  UR                  SXx-  -
  5        OUR                  UUS9nUR!                  USU-
  5        TR                  U5      R#                  UUSU-
  S9  SUU-  -
  nSUU-  -
  mUU-  nSSU-
  -  S-
  mTSU-  UU-  -  T-  -
  mUU4S jnUUU	U4S	 jnU(       aA  [         R$                  " TS
:„  U" 5       U" 5       -  S5      nUR'                  UU-  U-  SS9  GM/  TS
:”  a&  UR'                  UU-  U" 5       -  U" 5       -  SS9  GM[  UR'                  UU-  SS9  GMq     g )NúIIf capturable=True, params and state_steps must be on supported devices: Ú.r   r   ©Úalpha)Úvalueé   c                  óD   >• TS-
  TS-
  -  T -  T S-
  T S-
  -  T-  -  S-  $ )Né   rs   ç      à?rH   )Úrho_infÚrho_ts   €€r/   Ú_compute_rectÚ+_single_tensor_radam.<locals>._compute_rectE  sK   ø€ ð ˜‘Ø˜1‘9ñàñð ˜a‘K G¨a¡KÑ0°5Ñ8ñ:ð ñð r1   c                  óˆ   >• TR                  5       n T(       a  U R                  T5      n OU R                  T5      n TS-  U -  $ )Nrv   )ÚsqrtÚaddÚadd_)Úexp_avg_sq_sqrtÚbias_correction2r   r    rK   s    €€€€r/   Ú_compute_adaptive_lrÚ2_single_tensor_radam.<locals>._compute_adaptive_lrN  sD   ø€ Ø(Ÿo™oÓ/ˆOÞØ"1×"5Ñ"5°cÓ":‘à"1×"6Ñ"6°sÓ";�ð % cÑ)¨_Ñ<Ð<r1   ç      @r&   g      ð¿)r>   ÚjitÚis_scriptingr   Ú	enumerateÚcompilerÚis_compilingr   r6   ÚtypeÚAssertionErrorrM   Úview_as_realr   Úmul_r}   Úlerp_Úaddcmul_Úwherer~   )r   rU   rV   rW   rX   r]   r^   r   r!   r    r"   r   r   r   rY   ÚiÚparamrL   rJ   Ústep_tÚcapturable_supported_devicesr3   Úbias_correction1Úbias_corrected_exp_avgry   r�   Úupdater€   rK   rw   rx   s            ` `               @@@@r/   Ú_single_tensor_radamr—      sž  ý€ ô$ �9‰9×!Ñ!×#Ñ#Ü˜‹^ˆä˜f×%‰ˆˆ5Þ'ˆuŠx¨e©h¨YˆØ‘+ˆØ ‘^ˆ
Ø‘ˆô �~‰~×*Ñ*×,Ñ,¶Ü+LÓ+NÐ(à—‘×!Ñ! V§]¡]×%7Ñ%7Ó7Ø—L‘L×%Ñ%Ð)EÓEä$Ø_Ð`|Ð_}Ð}~Ðóð ô ×Ò˜E×"Ñ"Ü×&Ò& uÓ-ˆEÜ×%Ò% dÓ+ˆDÜ×(Ò(¨Ó1ˆGÜ×+Ò+¨JÓ7ˆJð 	�!‰ˆÞ#‰v¬°FÓ);ˆà˜1ÓÞ%Ø—
‘
˜1˜rÑ0Ñ0Õ1à—x‘x ¨\�xÐ:�ð 	�‰�d˜A ™IÔ&Ø�‰˜Ó×'Ñ'¨¨d¸!¸e¹)Ð'ÑDà˜u d™{™?ÐØ˜u d™{™?Ðð ")Ð+;Ñ!;Ðð �q˜5‘y‘/ AÑ%ˆà˜!˜d™( e¨T¡kÑ2Ð5EÑEÑEˆö	÷	=ð 	=ö Ü—[’[Ø˜‘™]›_Ñ/CÓ/EÑEÀsóˆFð �J‰JÐ-°Ñ2°VÑ;À4ˆJÔHà�s‹{Ø—
‘
Ø*Øñá*Ó,ñ-ñ $“oñ&ð ð ô ð —
‘
Ð1°BÑ6¸d�
ÔCòg &r1   c       
         óV  ^*• [        U 5      S:X  a  g U(       a  [        S5      e[        R                  R	                  5       (       dA  U(       a:  [        SS9m*[        U*4S j[        XSS9 5       5      (       d  [        ST* S	35      e[        U5      n[        R                  " XX#U/5      nUR                  5        GH½  u  u  nnnnnn[        [        [           U5      n[        [        [           U5      n[        [        [           U5      n[        [        [           U5      n[        [        [           U5      n[        R                  R	                  5       (       d>  US   R                  (       a*  [        R                   " U[        R"                  " S
SS9S
S9  O[        R                   " US5        U(       a  [%        UUUU5        U(       a  [        R&                  " U5      nSSU-
  -  S-
  nU(       aÐ  [        R(                  " UU5      n[        R*                  " U5        [        R                   " US5        [        R(                  " UU5      n[        R,                  " UU5        [        R,                  " US5        [        R.                  " UU5        [        R*                  " U5        [        R                   " UU5        UnOBU Vs/ s H5  nUS[1        U5      -  U[1        U5      -  -  SU[1        U5      -  -
  -  -
  PM7     nnUS:w  aX  U
(       a  [        R,                  " USXx-  -
  5        O4U(       a  [        R                   " UUUS9  O[        R2                  " UUUS9n[        R4                  " UUSU-
  5        [        R,                  " UU5        [        R6                  " UUUSU-
  5        AU(       GaS  [        R8                  " US5      n [        R8                  " US5      n![        R,                  " U U!5        A![        R,                  " U U5        US-
  US-
  -  n[        R:                  " UU5      n"[        R.                  " U U"5        A"[        R<                  " U 5        [        U USS9 V#V$s/ s H!  u  n#n$[        R>                  " U$S:„  U#S5      PM#     n%n#n$A AU% V%s/ s H  n%[        R>                  " U%S:„  SS
5      PM      n&n%[        R,                  " U&U5        [        R(                  " UU5      n[        R*                  " U5        [        R                   " US5        [        R.                  " U&U5        [        R*                  " U&5        [        R(                  " UU5      n[        R*                  " U5        [        R                   " US5        [        R<                  " U5        [        R,                  " UU5        [        R,                  " UW%5        A%[        R*                  " U5        [        R.                  " UU5        AOÞU V$s/ s H+  n$U$S:”  a   U$S-
  U$S-
  -  U-  US-
  US-
  -  U$-  -  S-  OSPM-     n%n$U% V%s/ s H  n%U%S:”  a  SOS
PM     n'n%U Vs/ s H  nSU[1        U5      -  -
  PM     nn[        U'USS9 V%V(s/ s H  u  n%n(UU%-  U(-  S-  PM     n&n%n([        UW%USS9 VV%V(s/ s H'  u  nn%n(SU[1        U5      -  -
  S-  UU%-  U(-  -  S-  PM)     nn%nn([        R@                  " U5      n)[        R                   " U)U	5        [        R.                  " U)U5        [        RB                  " U)5        [        R                   " U)U&5        [        R6                  " UUU)5        GMÀ     g s  snf s  sn$n#f s  sn%f s  sn$f s  sn%f s  snf s  sn(n%f s  sn(n%nf )Nr   z#_foreach ops don't support autogradF)Úsupports_xlac              3   óÂ   >#   • U  HT  u  pUR                   R                  UR                   R                  :H  =(       a    UR                   R                  T;   v •  MV     g 7fre   )r6   r‰   )Ú.0rC   r3   r“   s      €r/   Ú	<genexpr>Ú&_multi_tensor_radam.<locals>.<genexpr>ˆ  sO   øé € ð 
ò A‘�ð �H‰H�M‰M˜TŸ[™[×-Ñ-Ñ-÷ >Ø—‘—‘Ð!=Ñ=ô>â@ùs   ƒAAT)Ústrictrn   ro   r&   Úcpu)r6   rp   r   rs   ru   rƒ   r%   é   rv   éÿÿÿÿ)"r=   rŠ   r>   r‡   rˆ   r   ÚallÚzipr   r   Ú"_group_tensors_by_device_and_dtypeÚvaluesr   Úlistr   Úis_cpuÚ_foreach_add_rA   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   rU   rV   rW   rX   r]   r^   r   r!   r    r"   r   r   r   rY   Ú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_stepsrw   r”   r€   Ú
rho_t_listr3   ÚnumÚsub2ÚdenomÚnrx   ÚrectÚunrect_step_sizeÚunrectifiedÚbcÚbufferr“   s+                                             @r/   Ú_multi_tensor_radamrÌ   k  sc  ø€ ô$ ˆ6ƒ{�aÓØæÜÐBÓCÐCô �>‰>×&Ñ&×(Ñ(®ZÜ'HØñ(
Ð$ô ô 
ô ˜v¸4Ò@ó
÷ 
ñ 
ô
 !Ø[Ð\xÐ[yÐyzÐ{óð ô 
�B‹€Bä×BÒBØ	˜¨{Ð;ó€Oð ×"Ñ"×$ñ		ñ 	ØØØØØØÜœd¤6™l¨OÓ<ˆÜœT¤&™\¨>Ó:ˆÜ¤¤V¡Ð.?Ó@ÐÜ"¤4¬¡<Ð1EÓFÐÜ"¤4¬¡<Ð1EÓFÐô �~‰~×*Ñ*×,Ñ,Ð1DÀQÑ1G×1N×1NÜ×ÒØ#¤U§\¢\°#¸eÑ%DÈCóô ×ÒÐ 3°QÔ7æÜØ Ð/?ÐATôö Ü!×.Ò.¨}Ó=ˆMð �q˜5‘y‘/ AÑ%ˆö
 Ü$×1Ò1°%Ð9LÓMÐÜ×ÒÐ 0Ô1Ü×ÒÐ 0°!Ô4Ü$×1Ò1°%Ð9LÓMÐÜ×ÒÐ 0Ð2EÔFÜ×ÒÐ 0°!Ô4Ü×ÒÐ 0Ð2BÔCÜ×ÒÐ 0Ô1Ü×ÒÐ 0°'Ô:Ø)‰Jñ 0óò 0�Dð ØÜ˜TÓ"ñ#àœJ tÓ,Ñ,ñ.ð �u¤
¨4Ó 0Ñ0Ñ0ñ2ô2ñ
 0ð ð ð ˜1ÓÞ%Ü×#Ò# N°A¸Ñ8IÑ4IÕJö Ü×'Ò'Ø% ~¸\óô %*×$6Ò$6Ø% ~¸\ñ%�Mô
 	×ÒÐ-¨}¸aÀ%¹iÔHä×ÒÐ/°Ô7Ü×ÒØ °¸qÀ5¹yô	
ð
 çÜ×$Ò$ Z°Ó3ˆCÜ×%Ò% j°!Ó4ˆDÜ×Ò  TÔ*ØÜ×Ò  WÔ-Ø ‘{ w°¡{Ñ3ˆGÜ×&Ò& z°7Ó;ˆEÜ×Ò  UÔ+ØÜ× Ò  Ô%ô
 !$ C¨¸DÒ Aôâ A‘H�A�uô —’˜E C™K¨¨CÖ0Ù Að ñ ð ØÙLPÓQÊDÀD¤§¢¨D°1©H°c¸3Ö ?ÉDÐÐQÜ×ÒÐ 0°"Ô5ä$×1Ò1°%Ð9LÓMÐÜ×ÒÐ 0Ô1Ü×ÒÐ 0°!Ô4ä×ÒÐ 0Ð2BÔCÜ×ÒÐ 0Ô1ä$×1Ò1°%Ð9LÓMÐÜ×ÒÐ 0Ô1Ü×ÒÐ 0°!Ô4Ü× Ò Ð!1Ô2Ü×ÒÐ 0°"Ô5Ü×ÒÐ 0°$Ô7ØÜ×ÒÐ 0Ô1Ü×ÒÐ 0Ð2BÔCÙ ñ (óò (�Eð ˜1“9ð ˜Q‘YØ˜q‘yñ"àñð   !™¨°!©Ñ4°uÑ<ñ>ð
 òð òñ (ð ð ñ ?CÓCºd°d  q£™1¨cÒ1¹dˆKÐCñ ;Nó Ú:M°$��EœZ¨Ó-Ñ-Ô-Ñ:Mð ð  ô
 !$ KÐ1AÈ$Ò Oô â O‘H�D˜"ð �d‘˜R‘ 2Ô%Ù Oð ñ  ô '*Ø'¨Ð/?Èò'õ ò'‘N�D˜$ ð �eœz¨$Ó/Ñ/Ñ/°CÑ7¸BÀ¹IÈ¹NÑKÈbÔPñ'ð ò  ô ×$Ò$Ð%8Ó9ˆÜ×Ò˜F CÔ(Ü×Ò˜FÐ$4Ô5Ü×"Ò" 6Ô*Ü×Ò˜FÐ$4Ô5ô 	×Ò Ð0@À&×Iòs %ùòXùó^ùò  Rùò*ùò Dùò ùó ùô s0   Ë<]?Ñ:(^Ò+%^
Ø2^Ù^Ù(^Ú^Ú>.^$
)Úsingle_tensor_fnr   c                óh  • [        S U 5       5      (       d  [        S5      eUc  [        XSS9u  nnU(       a.  [        R                  R                  5       (       a  [        S5      eU(       a*  [        R                  R                  5       (       d  [        nO[        nU" U UUUUUUUUUU
UUUU	S9  g)zhFunctional API that performs RAdam algorithm computation.

See :class:`~torch.optim.RAdam` for details.
c              3   óV   #   • U  H  n[        U[        R                  5      v •  M!     g 7fre   )r'   r>   r   )r›   Úts     r/   rœ   Úradam.<locals>.<genexpr>R  s   é € Ð@²K¨qŒz˜!œUŸ\™\×*Ð*²Kùs   ‚')zPAPI has changed, `state_steps` argument must contain a list of singleton tensorsNF)Ú	use_fusedz6torch.jit.script not supported with foreach optimizers)
r]   r^   r   r!   r    r   r"   r   r   rY   )r¢   rP   r   r>   r„   r…   rÌ   r—   )r   rU   rV   rW   rX   r"   r   r   r   rY   r   r]   r^   r   r!   r    r¼   Úfuncs                     r/   r   r   8  s¶   € ô4 Ñ@±KÓ@×@Ñ@ÜØ^ó
ð 	
ð �Ü1Ø¨eñ
‰
ˆˆ7ö ”5—9‘9×)Ñ)×+Ñ+ÜÐSÓTÐTæ”u—y‘y×-Ñ-×/Ñ/Ü"‰ä#ˆáØØØØØØØØØ!ØØØ5Ø%ØØór1   )FNFFFF)Ú__doc__Útypingr   r>   r   Ú	optimizerr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Ú__all__r   r¦   r@   rj   r—   rÌ   r   rH   r1   r/   Ú<module>rØ      s7  ðá .å ã Ý ÷÷ ÷ ÷ ñ ð& �GÐ
€ôNˆIô Nðd2ðf	à	ˆð 
	ð 
ˆð 	Ø	ˆð 	Ø	Ðð 	Ø	Ðð 	ðñgKð „ð`hDØ�‰LðhDà�‰<ðhDð �6‰lðhDð �f‘ð	hDð
 �f‘ðhDð ðhDð ðhDð 	ðhDð ðhDð 
ðhDð !ðhDð ðhDð ðhDð ðhDð  ð!hDð" 
ô#hDðVJJØ�‰LðJJà�‰<ðJJð �6‰lð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ñZ  Ð1EÑFð $)ØØ ØØØñ;Ø�‰Lð;à�‰<ð;ð �6‰lð;ð �f‘ð	;ð
 �f‘ð;ð !ð;ð �D‰[ð;ð ð;ð ð;ð ð;ð ð;ð ð;ð  ð!;ð" 	ð#;ð$ ð%;ð& 
ð';ð( 
ô);ó Gñ;r1   