Ë
    g^(h+  ã                   óž   — U d dl mZ d dlZd dlmc mZ d dlmZ d dlm	Z	 g Z
ee   ed<   ej                  j                   G d„ d«      «       Zy)é    )ÚOptionalN)ÚTensor)Ú2_scripted_functional_optimizer_deprecation_warningÚ__all__c                   ól   — e Zd Z	 	 	 	 	 	 	 ddee   dedeeef   dededededefd	„Zd
ee	e      fd„Z
y)Ú_FunctionalAdamaxÚparamsÚlrÚbetasÚepsÚweight_decayÚforeachÚmaximizeÚ_allow_empty_param_listc	                 óJ  — t        d¬«       d|k  st        d|› �«      ‚d|k  st        d|› �«      ‚d|d   cxk  rdk  sn t        d|d   › �«      ‚d|d	   cxk  rdk  sn t        d
|d	   › �«      ‚d|k  st        d|› �«      ‚|||d   |d	   |dœ| _        || _        || _        t
        j                  j                  t        t
        j                  t        t        t
        j                  f   f   i «      | _        t        |«      dk(  r|st        d«      ‚d|i| _        y )Né   )Ú
stacklevelç        zInvalid learning rate: zInvalid epsilon value: r   g      ð?z#Invalid beta parameter at index 0: é   z#Invalid beta parameter at index 1: zInvalid weight_decay value: )r
   r   Úbeta1Úbeta2r   z%optimizer got an empty parameter listr	   )r   Ú
ValueErrorÚdefaultsr   r   ÚtorchÚjitÚannotateÚdictr   ÚstrÚstateÚlenÚparam_group)	Úselfr	   r
   r   r   r   r   r   r   s	            úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/optim/functional_adamax.pyÚ__init__z_FunctionalAdamax.__init__   s<  € ô 	;ÀaÕHØ�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ð ØØ˜1‘XØ˜1‘XØ(ñ
ˆŒð ˆŒØ ˆŒÜ—Y‘Y×'Ñ'¬¬U¯\©\¼4ÄÄUÇ\Á\Ð@QÑ;RÐ-RÑ(SÐUWÓXˆŒ
äˆv‹;˜!ÒÑ$;ÜÐDÓEÐEð % fÐ-ˆÕó    Ú	gradientsc                 óz  — | j                   d   }g }g }g }g }g }t        |«      t        |«      k7  r*t        ddt        |«      › d�z   dt        |«      › �z   «      ‚d}t        | j                   d   |«      D �]"  \  }	}
|
€Œ
|t	        j
                  |	«      z  }|j                  |	«       |j                  |
«       |	| j                  vr†i | j                  |	<   | j                  |	   }t	        j                  d«      |d<   t	        j                  |	t        j                  ¬	«      |d
<   t	        j                  |	t        j                  ¬	«      |d<   | j                  |	   }|j                  |d
   «       |j                  |d   «       |j                  |d   «       �Œ% t	        j                  «       5  t        j                  |||||| j                  d   | j                  d   | j                  d   | j                  d   | j                  d   | j                  | j                   |¬«       d d d «       y # 1 sw Y   y xY w)Nr	   zEthe gradients passed in does not equal to the size of the parameters!zParams length: z. zGradients length: Fr   Ústep)Úmemory_formatÚexp_avgÚexp_infr   r   r   r
   r   )r   r   r   r
   r   r   r   Úhas_complex)r!   r    r   Úzipr   Ú
is_complexÚappendr   ÚtensorÚ
zeros_likeÚpreserve_formatÚno_gradÚFÚadamaxr   r   r   )r"   r&   r	   Úparams_with_gradÚgradsÚexp_avgsÚexp_infsÚstate_stepsr,   ÚparamÚgradientr   s               r#   r(   z_FunctionalAdamax.stepC   s  € Ø×!Ñ! (Ñ+ˆØÐØˆØˆØˆØ$&ˆäˆv‹;œ#˜i›.Ò(ÜØWØ#¤C¨£K =°Ð3ñ4à&¤s¨9£~Ð&6Ð7ñ8óð ð ˆÜ" 4×#3Ñ#3°HÑ#=¸yÓIó 	2‰OˆE�8ØÑ#Øœu×/Ñ/°Ó6Ñ6�Ø ×'Ñ'¨Ô.Ø—‘˜XÔ&à §
¡
Ñ*Ø(*�D—J‘J˜uÑ%Ø ŸJ™J uÑ-�EÜ$)§L¡L°Ó$5�E˜&‘Mä',×'7Ñ'7Ø¬U×-BÑ-Bô(�E˜)Ñ$ô (-×'7Ñ'7Ø¬U×-BÑ-Bô(�E˜)Ñ$ð Ÿ
™
 5Ñ)�à—‘  iÑ 0Ô1Ø—‘  iÑ 0Ô1Ø×"Ñ" 5¨¡=Ö1ð/	2ô2 �]‰]‹_ñ 	Ü�H‰HØ ØØØØØ—M‘M %Ñ(Ø—m‘m GÑ,Ø—m‘m GÑ,Ø—=‘= Ñ&Ø!Ÿ]™]¨>Ñ:ØŸ™ØŸ™Ø'õ÷	÷ 	ñ 	ús   Æ0A8H1È1H:N)gü©ñÒMbP?)gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?g:Œ0âŽyE>r   FFF)Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚtupleÚboolr$   r   r(   © r%   r#   r   r      s�   „ ð
 Ø%1ØØ!ØØØ(-ñ'.à�V‘ð'.ð ð'.ð �U˜E�\Ñ"ð	'.ð
 ð'.ð ð'.ð ð'.ð ð'.ð "&ó'.ðR8˜d 8¨FÑ#3Ñ4ô 8r%   r   )Útypingr   r   Útorch.optim._functionalÚoptimÚ_functionalr4   r   Ú,torch.distributed.optim._deprecation_warningr   r   r@   r   Ú__annotations__r   Úscriptr   rD   r%   r#   ú<module>rL      sO   ðæ ã ß #Ð #Ý õð
 €ˆˆc‰Ó ð ‡�×Ñ÷bð bó ñbr%   