+
    &jOD                        ^ 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# )    )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Adamaxadamaxc                   x   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R t]RR	 l4       tR
t	Vt
V ;t# )r   maximizeFdifferentiable
capturablec                   < V ^8  d   QhRS[ RS[S[,          RS[S[S[3,          RS[RS[RS[R,          RS[R	S[R
S[RR/
# )   paramslrbetasepsweight_decayforeachNr   r   r   return)r   floatr   tuplebool)format__classdict__s   "j/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/optim/adamax.py__annotate__Adamax.__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	/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   N)
isinstancer   numel
ValueErrorsuper__init__)selfr   r   r   r   r    r!   r   r   r   defaults	__class__s   &&&&&&&$$$ r(   r4   Adamax.__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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<   )r3   __setstate__param_groups
setdefaultstategetlentorch	is_tensorr#   tensorr   r=   )r5   rB   grouppp_statestep_valr7   s   &&    r(   r?   Adamax.__setstate__D   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                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(Adamax does not support sparse gradientsr   r;   r.   r>   r:   )memory_formatexp_avgexp_inf )gradrE   
is_complexappend	is_sparseRuntimeErrorrB   rD   zerosr   r=   rG   
zeros_likepreserve_format)
r5   rH   params_with_gradgradsexp_avgsexp_infsstate_stepshas_complexrI   rB   s
   &&&&&&&   r(   _init_groupAdamax._init_groupW   sR    xAvv~5++A..K##A&vv"#MNNLL JJqME 5zQ \** KK*;*=ahhOc1B1DE f
 $)#3#3U%:%:$i  $)#3#3U%:%:$i  OOE),-OOE),-uV}-7 !: 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,          w  rVR,          pVR,          pVR,          pVR,          pVR,          pVR,          pVR	,          pV P	                  W4WVWx4      p\        VVVVVVV	V
VVVVVVVR
7       K  	  V#   + '       g   i     L; i)zPerforms 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_   )'_accelerator_graph_capture_health_checkrE   enable_gradr@   r`   r   )r5   closurelossrH   rZ   r[   r\   r]   r^   rc   rd   r   r   r    r!   r   r   r   r_   s   &&                 r(   r:   Adamax.stepz   s    	446""$$y % &&E-/"$E%'H%'H(*K >LE,CtB 0LI&GZ(H"#34N|,J**(K  )!-%') 'L S %$s   CC*	rQ   )gMb`?)g?g+?g:0yE>r   NN)__name__
__module____qualname____firstlineno__r4   r?   r`   r   r:   __static_attributes____classdictcell____classcell__)r7   r'   s   @@r(   r   r      sR     $+ $+  %$+ !$+ $+L&!F "4 "4 4r+   a  Implements Adamax algorithm (a variant of Adam based on infinity norm).

    .. 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{ (weight decay)},                                                \\
            &\hspace{13mm}    \epsilon \text{ (epsilon)}                                          \\
            &\textbf{initialize} :  m_0 \leftarrow 0 \text{ ( first moment)},
                u_0 \leftarrow 0 \text{ ( infinity norm)}                                 \\[-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}m_t      \leftarrow   \beta_1 m_{t-1} + (1 - \beta_1) g_t               \\
            &\hspace{5mm}u_t      \leftarrow   \mathrm{max}(\beta_2 u_{t-1}, |g_{t}|+\epsilon)   \\
            &\hspace{5mm}\theta_t \leftarrow \theta_{t-1} - \frac{\gamma m_t}{(1-\beta^t_1) u_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 `Adam: A Method for Stochastic Optimization`_.
    z
    Args:
        a  
        lr (float, Tensor, optional): learning rate (default: 2e-3)
        betas (Tuple[float, float], optional): coefficients used for computing
            running averages of gradient and its square
        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)
        z	
        zd

    .. _Adam\: A Method for Stochastic Optimization:
        https://arxiv.org/abs/1412.6980

    c                2   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"   Nlistr   r#   r%   )r&   s   "r(   r)   r)      s     M9 M9LM9<M9 6lM9 6l	M9
 fM9 
M9 M9 M9 	M9 M9 M9 M9 M9 M9  
!M9r+   c       	   	         \         P                  P                  4       '       g   \        V4      p\	        V 4       EF  w  rW,          pV
'       g   TMV) pW.,          pW>,          pWN,          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P                  WR7      p\         P                  ! V4      '       dY   \         P                  ! V4      p\         P                  ! V4      p\         P                  ! V4      p\         P                  ! V4      pVP                  V^V,
          4       V'       gG   \         P                  ! VP!                  V4      VP#                  4       P%                  V4      VR7       M\         P&                  ! VP!                  V4      P)                  ^ 4      VP#                  4       P%                  V4      P+                  ^ 4      .^ 4      pVP-                  \         P.                  ! V^ RR7      4       V'       d@   VV,          ^,
          pVP1                  V4       VV,          pVP3                  VV4       EK  ^V\5        V4      ,          ,
          pVV,          pVP3                  VVV) R7       EK  	  R# )IIf capturable=True, params and state_steps must be on supported devices: .alpha)outF)keepdim)valueN)rE   jitis_scriptingr   	enumeratecompileris_compilingr
   r=   typeAssertionErroraddrS   view_as_reallerp_maximummul_absadd_cat	unsqueeze
unsqueeze_copy_amaxdiv_addcdiv_r   )r   r[   r\   r]   r^   r   rc   rd   r   r    r   r   r   r_   iparamrR   rO   rP   step_tcapturable_supported_devicesnorm_bufneg_bias_correctiondenombias_correctionclrs   &&&&&$$$$$$$$$            r(   _single_tensor_adamaxr      sN   " 99!!##^f%x#t$++ ~~**,,+L+N(!!V]]%7%77LL%%)EE$_`|_}}~ 
 	!188E86DE""&&u-E%%d+D((1G((1G 	dAI&MMU#
$ yye$..q1488:??33G3R3RST3UVH MM%**Xq%@A #(-!"3$$R(11ENN7E*%:f+="==O&CNN7GC4N8s &r+   c                2   V ^8  d   QhR\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\         \        ,          R\        R\        R\        R	\        R
\        R\        R\        R\        R\        RR/# rs   rt   )r&   s   "r(   r)   r)   2  s     s sLs<s 6ls 6l	s
 fs 
s s s 	s s s s s s  
!sr+   c       	   	      >  a V'       d   \        R 4      h\        V 4      ^ 8X  d   R# \        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V'       d   \        VVVV4       V
'       d   \        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	^ 8w  d<   V
'       d   \        P$                  ! VVV	R7       M\        P(                  ! VVV	R7      p\        P*                  ! VV^V,
          4       \        P,                  ! VV4       V
'       g   V	^ 8X  d   \        P.                  ! V4      pM\        P0                  ! V4       \        P$                  ! VV4       \        P2                  ! VV4       V'       dx   \        P4                  ! VV4      p\        P6                  ! V^4       \        P8                  ! VV4       \        P:                  ! VV4      p\        P<                  ! VVV4       EK  V Uu. uF  p^V\?        V4      ,          ,
          NK  	  ppV Uu. uF  p\?        V4      V,          R,          NK  	  pp\        P<                  ! VVVV4       EK  	  R# u upi u upi )z#_foreach ops don't support autogradNF)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=   r   ).0rI   r:   r   s   &  r(   	<genexpr>'_multi_tensor_adamax.<locals>.<genexpr>N  sT      
 A HHMMT[[--- > >!==>@s
   :A "A T)strictrw   rx   r/   cpu)r=   ry   ) r   rD   rE   r   r   r
   allzipr   r   "_group_tensors_by_device_and_dtypevaluesr   ru   r   r   _foreach_negis_cpu_foreach_add_rG   _foreach_add_foreach_lerp__foreach_mul__foreach_abs_foreach_abs__foreach_maximum__foreach_pow_foreach_sub__foreach_div__foreach_mul_foreach_addcdiv_r   ) r   r[   r\   r]   r^   r   rc   rd   r   r    r   r   r   r_   grouped_tensorsgrouped_params_grouped_grads_grouped_exp_avgs_grouped_exp_infs_grouped_state_steps__grouped_paramsgrouped_gradsgrouped_exp_avgsgrouped_exp_infsgrouped_state_stepsbias_correctionsr   r:   bc	step_sizer   s    &&&&&$$$$$$$$$                 @r(   _multi_tensor_adamaxr   2  sf   " BCC
6{a >>&&((Z'H(
$ s 
 v4@
sss 
 v4@
 
 

 ![\x[yyz{  
BBBB	K8O ""$		 	d6lO<T&\>:V.?@V.?@"4<1EF/?AQ !..}=M ~~**,,1DQ1G1N1N1N#U\\#e%DC  3Q71##M>V % 2 2!>!
 	-}a%iH 	,e4 LA-!..}=M.M3/ 0-@ $11%9LM 0!4 0"5&&'79IJE##N4DeL ;N :M$EZ----:M    ?OO>N*R.2-33>NIO## 02BIC %z  Ps   )"P"P)single_tensor_fnc                 L   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!   Nr   r   r   r_   r   rc   rd   r   r    r"   )ru   r   r%   r#   )r&   s   "r(   r)   r)     s     < <L<<< 6l< 6l	<
 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	VR7       R# )	zjFunctional API that performs adamax algorithm computation.

See :class:`~torch.optim.Adamax` for details.
c              3   V   "   T F  p\        V\        P                  4      x  K!  	  R # 5irj   )r0   rE   r   )r   ts   & r(   r   adamax.<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   rc   rd   r   r    r   r   r_   r   )
rE   r   r   r   rV   r   r~   r   r   r   )r   r[   r\   r]   r^   r!   r   r   r   r_   r   rc   rd   r   r    r   funcs   &&&&&&&&&&$$$$$  r(   r   r     s    4 >>&&(( 5-85 5-85 2 2 ^
 	
 1e

 599))++STTuyy--//#$!%r+   )NFFFF)typingr   rE   r   	optimizerr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   __all__r   __doc__r   r   r   rQ   r+   r(   <module>r      s          & X
RY Rl4		 	 
 		 		 		 5+ `M9`sl  1FG< H<r+   