+
    ˜°³jÛœ  ã                   ó*  € ^ 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HtHtHtHtHt RR.t ! R R]4      tRR	] R
]
 R] R] R] R] R2,           ]n        R R ltR R ltR R lt]	! ]R7      RR R ll4       tR# )é    )ÚcastN)ÚTensor)Ú_capturable_docÚ_default_to_fused_or_foreachÚ_device_dtype_check_for_fusedÚ_differentiable_docÚ_disable_dynamo_if_unsupportedÚ_foreach_docÚ
_fused_docÚ!_get_capturable_supported_devicesÚ_get_scalar_dtypeÚ
_get_valueÚ_maximize_docÚ_params_docÚ_stack_if_compilingÚ
_to_scalarÚ_use_grad_for_differentiableÚ_view_as_realÚ
DeviceDictÚDeviceDtypeDictÚ	OptimizerÚParamsTÚAdamÚadamc                   ó„   a a€ ] tR t^"t oRRRR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ÚdifferentiableÚfusedÚdecoupled_weight_decayc                óÈ   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[S[,          S[S[,          3,          RS[RS[RS[RS[R,          R	S[R
S[RS[RS[R,          RS[RR/# )é   ÚparamsÚlrÚbetasÚepsÚweight_decayÚamsgradr   Nr   r   r   r    r!   Úreturn)r   Úfloatr   ÚtupleÚbool)ÚformatÚ__classdict__s   "€ÚQ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/optim/adam.pyÚ__annotate__ÚAdam.__annotate__#   sÉ   ø€ ÷ NWñ NWáðNWñ ‘F�NðNWñ ‘U™V•^¡U©V¥^Ð3Õ4ð	NWñ
 ðNWñ ðNWñ ðNWñ ˜•ðNWñ ðNWñ ðNWñ ðNWñ �d�{ðNWñ !%ðNWð 
ñNWó    c               óZ  <€ \        V\        4      '       d<   V'       d   V	'       g   \        R 4      h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\        V^ ,          \        4      '       d   \        V^,          \        4      '       gF   \        V^ ,          \        4      '       d   \        V^,          \        4      '       g   \        R	4      h\        V^ ,          \        4      '       dC   V	'       g   V'       d   \        R
4      hV^ ,          P                  4       ^8w  d   \        R4      h\        V^,          \        4      '       dC   V	'       g   V'       d   \        R4      hV^,          P                  4       ^8w  d   \        R4      h\        V^ ,          4      \        V^,          4      3pRVRVRVRVRVRVRVRV	RV
RVRV/p\        SV `  W4       V'       d0   V
'       d   \        R4      hRV n	        V'       d   \        R4      hR# R# )úElr as a Tensor is not supported for capturable=False and foreach=Trueú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: z0betas must be either both floats or both TensorszKbetas[0] as a Tensor is not supported for capturable=False and foreach=Truez!Tensor betas[0] must be 1-elementzKbetas[1] as a Tensor is not supported for capturable=False and foreach=Truez!Tensor betas[1] must be 1-elementr%   r&   r'   r(   r)   r   r   r   r   r    r!   z)`fused` does not support `differentiable`Tz0`fused` and `foreach` cannot be `True` together.N)
Ú
isinstancer   Ú
ValueErrorÚnumelr+   r   ÚsuperÚ__init__ÚRuntimeErrorÚ_step_supports_amp_scaling)Úselfr$   r%   r&   r'   r(   r)   r   r   r   r   r    r!   ÚdefaultsÚ	__class__s   &&&&&&&$$$$$$ €r0   r=   ÚAdam.__init__#   s^  ø€ ô  �bœ&×!Ò!ßŸzÜ Ø[óð ð �x‰x‹z˜QŒÜ Ð!>Ó?Ð?Ø�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ä˜˜a�¤%×(Ò(¬Z¸¸a½Ä%×-HÒ-HÜ˜5 �8¤V×,Ò,´¸EÀ!½HÄf×1MÒ1MäÐOÓPÐPÜ�e˜A•h¤×'Ò'ß§'Ü Øaóð ð �Q�x�~‰~Ó 1Ô$Ü Ð!DÓEÐEÜ�e˜A•h¤×'Ò'ß§'Ü Øaóð ð �Q�x�~‰~Ó 1Ô$Ü Ð!DÓEÐEÜ˜E !�HÓ%¤z°%¸µ(Ó';Ð<ˆð �"Ø�UØ�3Ø˜LØ�wØ˜Ø�wØ˜*Ø˜nØ�UØ$Ð&<ð
ˆô 	‰Ñ˜Ô*çßÜ"Ð#NÓOÐOØ.2ˆDÔ+÷
 Ü"Ð#UÓVÐVñ ñ r3   c           	     ó  <€ \         SV `  V4       V P                   EFe  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P                  RR4       VP                  RR4      p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,          '       g   VR,          '       d.   \        P                  ! V\        VR7      VP                  R7      M\        P                  ! V\        4       R7      VR
&   KØ  	  EKh  	  R# )r)   Fr   r   Nr   r   r!   r    r$   Ústep©Úis_fused©ÚdtypeÚdevice)rI   )r<   Ú__setstate__Úparam_groupsÚ
setdefaultÚstateÚgetÚlenÚtorchÚ	is_tensorr+   Útensorr   rJ   )r@   rN   Úgroupr    ÚpÚp_stateÚstep_valrB   s   &&     €r0   rK   ÚAdam.__setstate__s   s6  ø€ Ü‰Ñ˜UÔ#Ø×&Õ&ˆEØ×Ñ˜Y¨Ô.Ø×Ñ˜Z¨Ô/Ø×Ñ˜Y¨Ô-Ø×Ñ˜\¨5Ô1Ø×ÑÐ-¨uÔ5Ø×ÑÐ5°uÔ=Ø×$Ñ$ W¨dÓ3ˆEØ˜8—_�_�ØŸ*™*Ÿ.™.¨¨BÓ/�Ü�w“< 1Ö$¬U¯_ª_¸WÀV½_×-MÔ-MÜ$ W¨V¥_Ó5�Hð ! ×.Ô.°%¸·.´.ô ŸšØ$Ü"3¸UÔ"CØ#$§8¡8õô #Ÿ\š\¨(Ô:KÓ:MÔNð ˜F“Oô	 %ó 'r3   c                ó†  € 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  Ed   VR,          '       d   \        V	4       VR,          '       g   VR,          '       d5   \        P                  ! R\        VR,          R7      V	P                  R7      M \        P                  ! R\        4       RR7      V
R	&   \        P                  ! V	\        P                  R
7      V
R&   \        P                  ! V	\        P                  R
7      V
R&   VR,          '       d*   \        P                  ! V	\        P                  R
7      V
R&   VP                  V
R,          4       VP                  V
R,          4       VR,          '       d   VP                  V
R,          4       VR,          '       d%   V
R	,          P                  '       d   \        R4      hVR,          '       d>   \        P                   ! VR,          4      '       d   VR,          '       g   \        R4      hVP                  V
R	,          4       EK³  	  V# )Fr$   zJAdam does not support sparse gradients, please consider SparseAdam insteadr    r   rF   rH   r7   ÚcpurE   )Úmemory_formatÚexp_avgÚ
exp_avg_sqr)   Úmax_exp_avg_sqr   zB`requires_grad` is not supported for `step` in differentiable moder   r%   r5   © )ÚgradrQ   Ú
is_complexÚappendÚ	is_sparser>   rN   rP   r   Úzerosr   rJ   rS   Ú
zeros_likeÚpreserve_formatÚrequires_gradrR   )r@   rT   Úparams_with_gradÚgradsÚexp_avgsÚexp_avg_sqsÚmax_exp_avg_sqsÚstate_stepsÚhas_complexrU   rN   s   &&&&&&&&   r0   Ú_init_groupÚAdam._init_group‹   s5  € ð ˆØ�x—‘ˆAØ�v‰vÔ!Øœu×/Ò/°Ó2Õ2�Ø ×'Ñ'¨Ô*Ø—6‘6×#×#Ð#Ü&Ødóð ð —‘˜QŸV™VÔ$àŸ
™
 1��ä�u“: •?Ø˜W—~”~Ü5°aÔ8ð ! ×.Ô.°%¸·.´.ô ŸšØÜ"3¸UÀ7½^Ô"LØ#$§8¡8õô #Ÿ\š\¨#Ô5FÓ5HÐQVÔWð ˜&‘Mô (-×'7Ò'7Ø¬×)>Ñ)>ô(�E˜)Ñ$ô +0×*:Ò*:Ø¬×)>Ñ)>ô+�E˜,Ñ'ð ˜Y×'Ô'ä27×2BÒ2BØ¬U×-BÑ-Bô3˜Ð.Ñ/ð —‘  iÕ 0Ô1Ø×"Ñ" 5¨Õ#6Ô7à˜×#Ô#Ø#×*Ñ*¨5Ð1AÕ+BÔCØÐ)×*Ô*¨u°V­}×/J×/JÐ/JÜ&Ø\óð ð ˜)×$Ô$ÜŸš¨¨d­×4Ò4Ø! ,×/Ô/ä&Ø_óð ð ×"Ñ" 5¨¥=×1ñ{ !ð| Ðr3   c           $     óF  € 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. p	VR,          w  r«V P	                  VVVVVVV	4      p\        VVVVVV	3RVR,          RVRV
RVRVR,          RVR,          R	VR	,          R
VR
,          RVR,          RVR,          RVR,          RVR,          R\        V RR4      R\        V RR4      RVR,          /  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)   rn   Úbeta1Úbeta2r%   r(   r'   r   r   r   r   r    Ú
grad_scaleÚ	found_infr!   )Ú'_accelerator_graph_capture_health_checkrQ   Úenable_gradrL   ro   r   Úgetattr)r@   ÚclosureÚlossrT   rh   ri   rj   rk   rl   rm   rr   rs   rn   s   &&           r0   rE   Ú	Adam.stepÖ   sž  € ð 	×4Ñ4Ô6àˆØÒÜ×"Ò"×$Õ$Ù“y�÷ %ð ×&Ô&ˆEØ-/ÐØ"$ˆEØ%'ˆHØ(*ˆKØ,.ˆOØ(*ˆKØ  �>‰LˆEà×*Ñ*ØØ ØØØØØóˆKô Ø ØØØØØñð ˜iÕ(ðð (ðð ðð ðð ˜•;ðð # >Õ2ðð ˜%•Lðð ˜zÕ*ðð ˜iÕ(ðð  ! Õ.ð!ð"  %Ð%5Õ6ð#ð$ ˜G•nð%ô& # 4¨°tÓ<ð'ô( " $¨°TÓ:ð)ð* (-Ð-EÕ'Fô+ñ' 'ðV ˆ÷] %×$ús   ´DÄD 	)r?   )gü©ñÒMbP?)gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?g:Œ0âŽyE>r   F©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r=   rK   ro   r   rE   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rB   r/   s   @@r0   r   r   "   s�   ù‡ € ñNWð  $ðNWð ðNWð !ðNWð  %ðNWð "ðNWð (-÷NWö NWõ`ò0IðV "ó9ó "÷9ð 9r3   af  Implements Adam 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)}          \\
            &\hspace{13mm}      \lambda \text{ (weight decay)},  \: \textit{amsgrad},
                \:\textit{maximize},  \: \epsilon \text{ (epsilon)}                              \\
            &\textbf{initialize} :  m_0 \leftarrow 0 \text{ ( first moment)},
                v_0\leftarrow 0 \text{ (second moment)},\: v_0^{max}\leftarrow 0          \\[-1.ex]
            &\rule{110mm}{0.4pt}                                                                 \\
            &\textbf{for} \: t=1 \: \textbf{to} \: \ldots \: \textbf{do}                         \\

            &\hspace{5mm}\textbf{if} \: \textit{maximize}:                                       \\
            &\hspace{10mm}g_t           \leftarrow   -\nabla_{\theta} f_t (\theta_{t-1})         \\
            &\hspace{5mm}\textbf{else}                                                           \\
            &\hspace{10mm}g_t           \leftarrow   \nabla_{\theta} f_t (\theta_{t-1})          \\
            &\hspace{5mm}\textbf{if} \: \lambda \neq 0                                           \\
            &\hspace{10mm} g_t \leftarrow g_t + \lambda  \theta_{t-1}                            \\
            &\hspace{5mm}m_t           \leftarrow   \beta_1 m_{t-1} + (1 - \beta_1) g_t          \\
            &\hspace{5mm}v_t           \leftarrow   \beta_2 v_{t-1} + (1-\beta_2) g^2_t          \\
            &\hspace{5mm}\widehat{m_t} \leftarrow   m_t/\big(1-\beta_1^t \big)                   \\
            &\hspace{5mm}\textbf{if} \: amsgrad                                                  \\
            &\hspace{10mm} v_t^{max} \leftarrow \mathrm{max}(v_{t-1}^{max},v_t)                  \\
            &\hspace{10mm}\widehat{v_t} \leftarrow v_t^{max}/\big(1-\beta_2^t \big)              \\
            &\hspace{5mm}\textbf{else}                                                           \\
            &\hspace{10mm}\widehat{v_t} \leftarrow   v_t/\big(1-\beta_2^t \big)                  \\
            &\hspace{5mm}\theta_t \leftarrow \theta_{t-1} - \gamma \widehat{m_t}/
                \big(\sqrt{\widehat{v_t}} + \epsilon \big)                                       \\
            &\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 `Adam: A Method for Stochastic Optimization`_.
    z
    Args:
        a;  
        lr (float, Tensor, optional): learning rate (default: 1e-3). A tensor LR
            is not yet supported for all our implementations. Please use a float
            LR if you are not also specifying fused=True or capturable=True.
        betas (tuple[float | Tensor, float | Tensor], optional):
            coefficients used for computing running averages of gradient and
            its square. If a tensor is provided, must be 1-element. (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): if True, this optimizer is
            equivalent to AdamW and the algorithm will not accumulate weight
            decay in the momentum nor variance. (default: False)
        amsgrad (bool, optional): whether to use the AMSGrad variant of this
            algorithm from the paper `On the Convergence of Adam and Beyond`_
            (default: False)
        z	
        a=  
    .. Note::
        A prototype implementation of Adam and AdamW for MPS supports `torch.float32` and `torch.float16`.
    .. _Adam\: A Method for Stochastic Optimization:
        https://arxiv.org/abs/1412.6980
    .. _On the Convergence of Adam and Beyond:
        https://openreview.net/forum?id=ryQu7f-RZ

    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/# ©r#   r$   ri   rj   rk   rl   rm   rt   Nru   r)   rn   rr   rs   r%   r(   r'   r   r   r   r!   r*   ©Úlistr   r-   r+   )r.   s   "r0   r1   r1   [  s(  € ÷ KKñ KKÜ”�LðKKä”�<ðKKô ”6�lðKKô ”f•ð	KKô
 œ&•\ðKKô ”f•ðKKô ˜•ðKKô ˜�}ðKKô ðKKô ðKKô ”6�>ðKKô ”6�>ðKKô 	”�ðKKô ðKKô  
ð!KKô" ð#KKô$ ð%KKô& ð'KKô( !ð)KKð* 
ñ+KKr3   c          
      ó\  € Vf   Ve   \        R4      h\        P                  P                  4       '       d‰   \	        V\
        4      '       g   \        R\        V4       24      h\	        V
\
        4      '       g   \        R\        V
4       24      h\	        V\
        4      '       g   \        R\        V4       24      hM!\        V4      p\        V
4      p
\        V4      p\	        V
\        4      '       d   V
P                  V
P                  3V
/pMR p\        V 4       EFˆ  w  ppV'       g
   VV,          M	VV,          ) pVV,          pVV,          pVV,          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V^,          pV^ 8w  d    V'       d    VP                  ^WÍ,          ,
          4       MxV'       d^   \	        V\        4      '       dH   VP                   '       d"   VP#                  VP%                  4       V4      pM'VP'                  VVR7      pMVP'                  VVR7      p\        P(                  ! V4      '       d�   \        P*                  ! V4      p\        P*                  ! V4      p\        P*                  ! V4      pV'       d!   \        P*                  ! VV,          4      VV&   \        P*                  ! V4      pVP                  pVe9   VP                  pVV3pVV9  d   V
P-                  VVRR	7      VV&   VV,          pMT
pVP/                  V^V,
          4       V'       d‘   \	        V\        4      '       d{   VP                   '       d0   VP/                  \        P0                  ! V4      ^V,
          R
7       McVP                  V4      P#                  VV\3        \
        ^V,
          4      R7       M*VP                  V4      P#                  VV^V,
          R7       V'       g
   V'       Ed   TpV'       dY   \	        V
\        4      '       dC   V
P                   '       d    ^V
VP%                  4       ,          ,
          p M!^V
V,          ,
          p M^V
V,          ,
          p V'       dY   \	        V\        4      '       dC   VP                   '       d    ^VVP%                  4       ,          ,
          p!M!^VV,          ,
          p!M^VV,          ,
          p!VV ,          p"V"P5                  4       p#V!P7                  4       p$V'       d“   V'       d   VV,          P%                  4       p%M	VV,          p%VV,          P9                  \        P:                  ! V%V4      4       VV,          P7                  4       V$V#,          ,          P=                  VV#,          4      p&M4VP7                  4       V$V#,          ,          P=                  VV#,          4      p&V'       d"   VP?                  VP%                  4       V&4       MèVP?                  VV&4       MÕ\A        V4      p^V
V,          ,
          p ^VV,          ,
          p!VV ,          p"V!R,          p$V'       dV   \        P:                  ! VV,          VVV,          R7       VV,          P7                  4       V$,          P=                  V4      p&M&VP7                  4       V$,          P=                  V4      p&VP?                  VV&V") R7       V'       g   EKB  \        P(                  ! V V,          4      '       g   EKh  \        PB                  ! VV,          4      VV&   EK‹  	  R # )Nú,Expected grad_scale and found_inf to be Nonez#Expected lr to be a float, but got z&Expected beta1 to be a float, but got z&Expected beta2 to be a float, but got úIIf capturable=True, params and state_steps must be on supported devices: Ú.©ÚalphaT)rJ   rI   Únon_blocking)Úweight)Úvalueç      à?)Úout)"ÚAssertionErrorrQ   ÚjitÚis_scriptingr9   r+   Útyper   r   rJ   rI   Ú	enumerateÚcompilerÚis_compilingr   Úmul_rg   Úaddcmul_ÚcloneÚaddra   Úview_as_realÚtoÚlerp_Úsquarer   ÚnegÚsqrtÚcopy_ÚmaximumÚadd_Úaddcdiv_r   Úview_as_complex)'r$   ri   rj   rk   rl   rm   rt   ru   r)   rn   rr   rs   r%   r(   r'   r   r   r   r!   Ú
beta1_dictÚiÚparamr`   r\   r]   Ústep_tÚcapturable_supported_devicesrJ   rI   ÚkeyÚdevice_beta1rE   Úbias_correction1Úbias_correction2Ú	step_sizeÚstep_size_negÚbias_correction2_sqrtr^   Údenoms'   &&&&&&&&$$$$$$$$$$$                    r0   Ú_single_tensor_adamr¶   [  s  € ð, Ò Ò!6ÜÐKÓLÐLä‡y�y×Ñ×Òô ˜"œe×$Ò$Ü Ð#FÄtÈBÃxÀjÐ!QÓRÐRÜ˜%¤×'Ò'Ü Ð#IÌ$ÈuË+ÈÐ!WÓXÐXÜ˜%¤×'Ò'Ü Ð#IÌ$ÈuË+ÈÐ!WÓXÐXð (ô ˜‹^ˆÜ˜5Ó!ˆÜ˜5Ó!ˆô �%œ× Ò Ø/4¯|©|¸U¿[¹[Ð.IÈ5Ð-Q‰
àˆ
ä˜f×%‰ˆˆ5ß'ˆu�QŽx¨e°A­h¨YˆØ˜1•+ˆØ  •^ˆ
Ø˜Q•ˆô �~‰~×*Ñ*×,Ò,·Ü+LÓ+NÐ(à—‘×!Ñ! V§]¡]×%7Ñ%7Ô7Ø—L‘L×%Ñ%Ð)EÔEä$Ø_Ð`|Ð_}Ð}~Ðóð ð
 	�!�ˆà˜1Ôß%à—
‘
˜1˜rÕ0Õ0Õ1÷ "¤j°¼v×&FÒ&FØ#×1×1Ð1Ø#Ÿ}™}¨U¯[©[«]¸LÓI™à#Ÿx™x¨°\˜xÓB™àŸ8™8 E°˜8Ó>�Dä×Ò˜E×"Ò"Ü×%Ò% dÓ+ˆDÜ×(Ò(¨Ó1ˆGÜ×+Ò+¨JÓ7ˆJßÜ%*×%7Ò%7¸ÈÕ8JÓ%K� Ñ"Ü×&Ò& uÓ-ˆEà—‘ˆàÒ!Ø—K‘KˆEð ˜5�/ˆCØ˜*Ô$Ø"'§(¡(Ø!¨¸Tð #+ó #�
˜3‘ð ,6°c­?‰Là ˆLð 	�‰�d˜A Õ,Ô-÷ œj¨´×7Ò7Ø×"×"Ð"ð × Ñ ¤§¢¨dÓ!3¸AÀ½IÐ ÕFà—‘ Ó&×/Ñ/Ø˜$¤d¬5°!°eµ)Ó&<ð 0õ ð �O‰O˜EÓ"×+Ñ+¨D°$¸aÀ%½iÐ+ÔHçŸ˜ØˆD÷ ¤*¨U´F×";Ò";Ø×&×&Ð&Ø'(¨5°D·J±J³LÕ+@Õ'@Ñ$à'(¨5°$­;¥Ñ$à#$ u¨d¥{¥?Ð ÷ ¤*¨U´F×";Ò";Ø×&×&Ð&Ø'(¨5°D·J±J³LÕ+@Õ'@Ñ$à'(¨5°$­;¥Ñ$à#$ u¨d¥{¥?Ð àÐ-Õ-ˆIØ%ŸM™M›OˆMà$4×$9Ñ$9Ó$;Ð!çç!Ø%4°QÕ%7×%=Ñ%=Ó%?‘Nà%4°QÕ%7�Nà Õ"×(Ñ(¬¯ª°~ÀzÓ)RÔSð $ AÕ&×+Ñ+Ó-Ð1FÈÕ1VÕWß‘$�s˜]Õ*Ó+ñ ð
 —O‘OÓ%Ð)>ÀÕ)NÕOß‘$�s˜]Õ*Ó+ð ÷ Ø—‘˜wŸ}™}›°Õ6à—‘˜w¨Õ.ä˜fÓ%ˆDà  5¨$¥;�ÐØ  5¨$¥;�ÐàÐ-Õ-ˆIà$4°cÕ$9Ð!çä—’˜o¨aÕ0°*À/ÐRSÕBTÕUð )¨Õ+×0Ñ0Ó2Ð5JÕJ×PÑPÐQTÓU‘à#Ÿ™Ó*Ð-BÕB×HÑHÈÓM�à�N‰N˜7 E°)°ˆNÔ<÷ Š7”u×'Ò'¨¨q­	×2Õ2Ü!&×!6Ò!6°ÀqÕ7IÓ!JˆO˜AÔóu &r3   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/# r…   r†   )r.   s   "r0   r1   r1   )  s  € ÷ vñ vÜ”�Lðvä”�<ðvô ”6�lðvô ”f•ð	vô
 œ&•\ðvô ”f•ðvô ˜•ðvô ˜�}ðvô ðvô ðvô ”6�>ðvô ”6�>ðvô 	”�ðvô ðvô  
ð!vô" ð#vô$ ð%vô& ð'vô( !ð)vð* 
ñ+vr3   c          
      ó   a-€ \        V 4      ^ 8X  d   R# \        V\        4      '       d4   V'       g   \        R4      hVP	                  4       ^8w  d   \        R4      h\        V
\        4      '       d4   V'       g   \        R4      hV
P	                  4       ^8w  d   \        R4      h\        V\        4      '       d4   V'       g   \        R4      hVP	                  4       ^8w  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f   Ve   \        R4      hV'       d   \        R4      h\        V4      p\        V
4      p
\        V4      p\        P                  ! WW#WE.4      p\        V
\        4      '       d)   \!        V
P"                  4      R8w  d   V
P"                  V
/MRpVP%                  4        EF©  w  w  ppppppp\'        \(        \        ,          V4      p\'        \(        \        ,          V4      p\'        \(        \        ,          V4      p\'        \(        \        ,          V4      p\'        \(        \        ,          V4      p V^ ,          P"                  p!Ve   V!V9  d   V
P+                  V!RR7      VV!&   V'       d
   VV!,          MT
p"V	'       dB   V'       d,   \'        \(        \        ,          V4      p#\-        VVVVV#4       M\-        VVVV4       V'       d   \        P.                  ! V4      p\        P                  P                  4       '       gJ   V ^ ,          P0                  '       d1   \        P2                  ! V \        P4                  ! RRR7      RR7       M\        P2                  ! V ^4       V^ 8w  di   V'       d&   \        P6                  ! V^WÍ,          ,
          4       M;V'       d   \        P2                  ! VVVR7       M\        P8                  ! VVVR7      p\        P:                  ! VV\'        \<        ^V",
          4      4       \        P6                  ! VV4       \        V\        P                  4      '       d"   \        P>                  ! V^V,
          4      p$Rp%MTp$^V,
          p%\        P@                  ! VV$VV%4       ??$V'       Ed�   \        PB                  ! V
V 4      p&\        PB                  ! VV 4      p'\        PD                  ! V&^4       \        PD                  ! V'^4       \        PF                  ! V'4       \        PH                  ! V&V4       \        PJ                  ! V&4       \        PL                  ! V'4       T&p(T'p)V'       dJ   \'        \(        \        ,          V4      p#\        PN                  ! V#V4       \        PP                  ! V#4      p*M\        PP                  ! V4      p*\        PH                  ! V*V)4       \        P2                  ! V*V4       \        PH                  ! V*V(4       \        PR                  ! VVV*4       EKj  V  U+u. uF  p+^V
\U        V+4      ,          ,
          NK  	  p&p+V  U+u. uF  p+^V\U        V+4      ,          ,
          NK  	  p'p+\W        V& U,u. uF  p,VV,,          R,          NK  	  up,4      p(V' U,u. uF  p,V,R,          NK  	  p)p,V'       dJ   \'        \(        \        ,          V4      p#\        PN                  ! V#V4       \        PP                  ! V#4      p*M\        PP                  ! V4      p*\        PH                  ! V*V)4       \        P2                  ! V*V4       \        PR                  ! VVV*V(4       EK¬  	  R# u up+i u up+i u up,i u up,i )r   Nr5   r6   zHbeta1 as a Tensor is not supported for capturable=False and foreach=TruezTensor beta1 must be 1-elementzHbeta2 as a Tensor is not supported for capturable=False and foreach=TruezTensor beta2 must be 1-elementF)Ú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r|   )rJ   r–   )Ú.0rU   rE   r­   s   &  €r0   Ú	<genexpr>Ú%_multi_tensor_adam.<locals>.<genexpr>_  sT   øé € ð 
ñ A‘�ð �H‰H�M‰M˜TŸ[™[×-Ñ-Ñ-÷ >ð >Ø—‘—‘Ð!=Ñ=ô>ã@ùs
   ƒ:A ¾"A T)ÚstrictrŠ   r‹   r‰   z#_foreach ops don't support autogradrZ   ©rJ   rŽ   r8   )rJ   rŒ   r‘   éÿÿÿÿ),rP   r9   r   r>   r;   r:   rQ   r˜   r™   r   ÚallÚzipr“   r   r   Ú"_group_tensors_by_device_and_dtypeÚstrrJ   Úvaluesr   r‡   rŸ   r   Ú_foreach_negÚis_cpuÚ_foreach_add_rS   Ú_foreach_mul_Ú_foreach_addÚ_foreach_lerp_r+   Ú_foreach_mulÚ_foreach_addcmul_Ú_foreach_powÚ_foreach_sub_Ú_foreach_neg_Ú_foreach_div_Ú_foreach_reciprocal_Ú_foreach_sqrt_Ú_foreach_maximum_Ú_foreach_sqrtÚ_foreach_addcdiv_r   r   ).r$   ri   rj   rk   rl   rm   rt   ru   r)   rn   rr   rs   r%   r(   r'   r   r   r   r!   Úgrouped_tensorsr©   Údevice_params_Údevice_grads_Údevice_exp_avgs_Údevice_exp_avg_sqs_Údevice_max_exp_avg_sqs_Údevice_state_steps_Ú_Údevice_paramsÚdevice_gradsÚdevice_exp_avgsÚdevice_exp_avg_sqsÚdevice_state_stepsrJ   r¯   Údevice_max_exp_avg_sqsÚscaled_device_gradsr�   r°   r±   r²   r´   Úexp_avg_sq_sqrtrE   Úbcr­   s.   &&&&&&&&$$$$$$$$$$$                          @r0   Ú_multi_tensor_adamrè   )  s´  ø€ ô, ˆ6ƒ{�aÔÙä�"”f×ÒßÜØWóð ð �8‰8‹:˜Œ?ÜÐ:Ó;Ð;ä�%œ× Ò ßÜØZóð ð �;‰;‹=˜AÔÜÐ=Ó>Ð>ä�%œ× Ò ßÜØZóð ð �;‰;‹=˜AÔÜÐ=Ó>Ð>ô �>‰>×&Ñ&×(Ò(¯ZÜ'HØô(
Ð$÷ ‹sô 
ô ˜v¸4Õ@ó
�s�sŠsô 
ô ˜v¸4Õ@ó
÷ 
ò 
ô
 !Ø[Ð\xÐ[yÐyzÐ{óð ð Ò Ò!6ÜÐKÓLÐLçÜÐBÓCÐCä	�B‹€BÜ�uÓ€EÜ�uÓ€Eä×BÒBØ	˜¨ÐLó€Oô �eœV×$Ò$¬¨U¯\©\Ó):¸eÔ)Cð 
�‰�uÑàð ð ×"Ñ"×$ñ		ñ 	ØØØØØØØÜœT¤&�\¨>Ó:ˆÜœD¤�L¨-Ó8ˆÜœt¤F�|Ð-=Ó>ˆÜ!¤$¤v¥,Ð0CÓDÐÜ!¤$¤v¥,Ð0CÓDÐà˜qÕ!×(Ñ(ˆØÒ! f°JÔ&>Ø!&§¡°Àd Ó!KˆJ�vÑç-7�z &Ö)¸Uˆ÷ ßÜ)-¬d´6­lÐ<SÓ)TÐ&ÜØ!Ø Ø#Ø&Ø*õô Ø! <°ÐBTô÷ Ü ×-Ò-¨lÓ;ˆLô �~‰~×*Ñ*×,Ò,Ð1CÀAÕ1F×1M×1MÐ1MÜ×ÒØ"¤E§L¢L°¸UÔ$CÈ3öô ×ÒÐ 2°AÔ6à˜1Ôß%ä×#Ò# M°1°rÕ7HÕ3HÕI÷ Ü×'Ò'¨°mÈ<ÖXä#(×#5Ò#5Ø$ m¸<ô$�Lô 	×ÒØ˜\¬4´°q¸<Õ7GÓ+Hô	
ô 	×ÒÐ.°Ô6ô �eœUŸ\™\×*Ò*Ü"'×"4Ò"4°\À1ÀuÅ9Ó"MÐØ‰Eà".ÐØ˜•IˆEä×ÒØÐ 3°\À5ô	
ð
 Ø÷ ˆ:Ü$×1Ò1°%Ð9KÓLÐÜ$×1Ò1°%Ð9KÓLÐä×ÒÐ 0°!Ô4Ü×ÒÐ 0°!Ô4ä×ÒÐ 0Ô1ô ×ÒÐ 0°"Ô5Ü×&Ò&Ð'7Ô8ä× Ò Ð!1Ô2ð
 )ˆIØ$4Ð!çÜ)-¬d´6­lÐ<SÓ)TÐ&ä×'Ò'Ð(>Ð@RÔSô #(×"5Ò"5Ð6LÓ"M‘ä"'×"5Ò"5Ð6HÓ"I�ä×Ò Ð1FÔGÜ×Ò °Ô5Ü×Ò °Ô;ô ×#Ò# M°?ÀO×Tñ ;Mó Ù:L°$��EœZ¨Ó-Õ-×-Ð-Ñ:Lð ð  ñ ;Mó Ù:L°$��EœZ¨Ó-Õ-×-Ð-Ñ:Lð ð  ô ,ÑFVÓ,WÑFVÀ¨b°2­g¸¯^¨^ÑFVÑ,WÓXˆIá7GÓ$HÑ7G° R¨§W WÑ7GÐ!Ð$HçÜ)-¬d´6­lÐ<SÓ)TÐ&ä×'Ò'Ð(>Ð@RÔSô #(×"5Ò"5Ð6LÓ"M‘ä"'×"5Ò"5Ð6HÓ"I�ä×Ò Ð1FÔGÜ×Ò °Ô5Ü×#Ò#ØØØØ÷	ók %ùò| ùò ùò -Xùâ$Hs   Ú*"_,Û"_1Û?_6
Ü#_;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/# r…   r†   )r.   s   "r0   r1   r1   "  s  € ÷ añ aÜ”�Lðaä”�<ðaô ”6�lðaô ”f•ð	aô
 œ&•\ðaô ”f•ðaô ˜•ðaô ˜�}ðaô ðaô ðaô ”6�>ðaô ”6�>ðaô 	”�ðaô ðaô  
ð!aô" ð#aô$ ð%aô& ð'aô( !ð)að* 
ñ+ar3   c                óÐ  € V '       g   R # V'       d   \        R4      h\        V
4      p
\        V4      pVe   VP                  V/M/ pVe   VP                  V/M/ p\        V\        4      '       d)   \        VP                  4      R8w  d   VP                  V/MR p\        P                  ! WW#WE.4      pVP                  4        EFœ  w  w  ppw  w  ppppppp\        \        \        ,          V4      p\        \        \        ,          V4      p \        \        \        ,          V4      p!\        \        \        ,          V4      p"\        \        \        ,          V4      p#R R p%p$Ve$   VP                  VVP                  VRR7      4      p$Ve$   VP                  VVP                  VRR7      4      p%Ve'   VV9  d    VP                  VRR7      VV&   VV,          p\        P                  ! V#^4       V'       g   \        P                  M\        P                   p&V&! VV V!V"VV#VVV
VVVVV$V%R7       V%f   EKt  \        P"                  ! V#V%.\%        V#4      ,          4       EKŸ  	  R # )Nz9Adam with fused=True does not support differentiable=TruerZ   T)rŽ   r¿   )	r)   r%   rr   rs   r(   r'   r   rt   ru   )r>   r   rJ   r9   r   rÄ   r   rÃ   Úitemsr   r‡   rM   rŸ   rQ   rÈ   Ú_fused_adam_Ú_fused_adamw_rÏ   rP   )'r$   ri   rj   rk   rl   rm   rt   ru   r)   rn   rr   rs   r%   r(   r'   r   r   r   r!   Úgrad_scale_dictÚfound_inf_dictÚlr_dictr×   rJ   rÞ   rØ   rÙ   rÚ   rÛ   rä   rÝ   rß   rà   rá   râ   rã   Údevice_grad_scaleÚdevice_found_infÚfuncs'   &&&&&&&&$$$$$$$$$$$                    r0   Ú_fused_adamrô   "  sV  € ÷, ÙßÜÐVÓWÐWä�uÓ€EÜ�uÓ€Eð ,6Ò+Aˆ×	Ñ	˜JÑ'Àrð ð *3Ò)>ˆ×	Ñ	˜9Ñ%ÀBð ô & b¬&×1Ò1´c¸"¿)¹)³nÈÔ6Mˆ�‰�B‰ÐSWð ô  ×BÒBØ	˜¨ÐLó€Oð 
×	Ñ	×	 ñ
	‰ˆ�ñ 
ñ	
ØØØØØ"Øà	äœT¤&�\¨>Ó:ˆÜœD¤�L¨-Ó8ˆÜœt¤F�|Ð-=Ó>ˆÜ!¤$¤v¥,Ð0CÓDÐÜ!¤$¤v¥,Ð0CÓDÐà.2°DÐ+ÐØÒ!Ø /× :Ñ :Ø˜
Ÿ™ f¸4˜Ó@ó!Ðð Ò Ø-×8Ñ8Ø˜	Ÿ™ V¸$˜Ó?ó Ðð Ò 6°Ô#8Ø Ÿe™e¨6À˜eÓEˆG�F‰OØ˜•ˆBÜ×ÒÐ.°Ô2ß)?Œu×!Ò!ÄU×EXÑEXˆáØØØØØ"ØØØØØØ%ØØØ(Ø&õ	
ð" Õ'Ü×ÒØ"Ð%5Ð$6¼Ð=OÓ9PÕ$P÷óQ 
!r3   )Ú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\        R\        \        ,          R\        \        ,          R\        \        ,          R\        R\        R\        RR/# )r#   r$   ri   rj   rk   rl   rm   r   Nr   r   r    rt   ru   rn   r!   r)   rr   rs   r%   r(   r'   r   r*   r†   )r.   s   "r0   r1   r1   ‡  s0  € ÷ Wñ WÜ”�LðWä”�<ðWô ”6�lðWô ”f•ð	Wô
 œ&•\ðWô ”f•ðWô �D�[ðWô ðWô ðWô �$�;ðWô ˜•ðWô ˜�}ðWô ðWô  !ð!Wô$ ð%Wô& ”6�>ð'Wô( ”6�>ð)Wô* 	”�ð+Wô, ð-Wô. 
ð/Wô0 ð1Wð2 
ñ3Wr3   c               óp  € V	f=   Vf9   \        WRR7      w  ppV'       d!   \        V\        4      '       d   V'       g   RpV	f   Rp	Vf   Rp\        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'       d0   \        P                  P                  4       '       d   \        R4      hV	'       d0   \        P                  P                  4       '       d   \        R4      hV	'       d,   \        P                  P                  4       '       g   \        pM9V'       d,   \        P                  P                  4       '       g   \        pM\        pV! V VVVVV3R	VR
VRVRVRVRVRVRVRVRVRV
RVRV/  R# )zfFunctional API that performs Adam algorithm computation.

See :class:`~torch.optim.Adam` for details.
NF)Ú	use_fusedc              3   óV   "  € T F  p\        V\        P                  4      x € K!  	  R # 5ir|   )r9   rQ   r   )r»   Úts   & r0   r¼   Úadam.<locals>.<genexpr>·  s!   é € ð 5Ù-8¨Œ
�1”e—l‘l×#Ð#«[ùs   ‚')TzPAPI has changed, `state_steps` argument must contain a list of singleton tensorsz6torch.jit.script not supported with foreach optimizersz4torch.jit.script not supported with fused optimizersr)   rn   rr   rs   r%   r(   r'   r   r   r   rt   ru   r!   )r   r9   r   rQ   r˜   r™   rÁ   r>   r”   r•   rô   rè   r¶   )r$   ri   rj   rk   rl   rm   r   r   r   r    rt   ru   rn   r!   r)   rr   rs   r%   r(   r'   r   rÞ   ró   s   &&&&&&&&&&&&&&$$$$$$$  r0   r   r   †  s»  € ðF ‚}˜šÜ1Ø¨eô
‰
ˆˆ7÷ ”z "¤f×-Ò-·jØˆGØ‚}ØˆØ‚Øˆô �>‰>×&Ñ&×(Ò(·³ñ 5Ù-8ó5··²ñ 5Ù-8ó5÷ 2ò 2ô Ø^ó
ð 	
÷ ”5—9‘9×)Ñ)×+Ò+ÜÐSÓTÐTß”—‘×'Ñ'×)Ò)ÜÐQÓRÐRç”U—Y‘Y×+Ñ+×-Ò-Ü‰ß	œŸ™×/Ñ/×1Ò1Ü!‰ä"ˆáØØØØØØñð ðð  ðð ðð ðð ðð "ðð ðð ðð ðð  &ð!ð" ð#ð$ ð%ð&  6ô'r3   )NFFNNNFF) Útypingr   rQ   r   Ú	optimizerr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú__all__r   Ú__doc__r¶   rè   rô   r   r_   r3   r0   Ú<module>r      sÙ   ðå ã Ý ÷÷ ÷ ÷ ÷ ó ð0 �6Ð
€ônˆ9ô nðd$ðJ	à	ˆð 	ð  
ˆð 	Ø	ˆð 	Ø	Ðð 	Ø	Ðð 	Ø	ˆð ð-õKCð „õPKKõ\võrañH  Ð1DÔEöWó FòWr3   