§
    ŠŠtj  ã                   ó’   — U 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dS )é    N)ÚTensor)Ú2_scripted_functional_optimizer_deprecation_warningÚ__all__c                   ó€   — 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dz           fd„Z	dS )Ú_FunctionalAdamaxçü©ñÒMbP?©gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?ç:Œ0âŽyE>ç        FÚparamsÚlrÚbetasÚepsÚweight_decayÚforeachÚmaximizeÚ_allow_empty_param_listc	                 óÂ  — 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                             t          t
          j	        t          t          t
          j	        f         f         i ¦  «        | _        t          |¦  «        dk    r|st          d¦  «        ‚d|i| _        d S )Né   )Ú
stacklevelr   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/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/distributed/optim/functional_adamax.pyÚ__init__z_FunctionalAdamax.__init__   s—  € õ 	;ÀaÐHÑHÔHÐHØ�bŠyˆyÝÐ;°rÐ;Ð;Ñ<Ô<Ð<Ø�cŠzˆzÝÐ<°sÐ<Ð<Ñ=Ô=Ð=Ø�e˜A”hÐ$Ð$Ò$Ð$ Ò$Ð$Ð$Ð$ÝÐMÀ5ÈÄ8ÐMÐMÑNÔNÐNØ�e˜A”hÐ$Ð$Ò$Ð$ Ò$Ð$Ð$Ð$ÝÐMÀ5ÈÄ8ÐMÐMÑNÔNÐNØ�lÒ"Ð"ÝÐJ¸LÐJÐJÑKÔKÐKð ØØ˜1”XØ˜1”XØ(ð
ð 
ˆŒð ˆŒØ ˆŒÝ”Y×'Ò'­­U¬\½4ÅÅUÄ\Ð@QÔ;RÐ-RÔ(SÐUWÑXÔXˆŒ
åˆv‰;Œ;˜!ÒÐÐ$;ÐÝÐDÑEÔEÐEð % fÐ-ˆÔÐÐó    Ú	gradientsNc                 ó„  — | j         d         }g }g }g }g }g }t          |¦  «        t          |¦  «        k    r6t          ddt          |¦  «        › d�z   dt          |¦  «        › �z   ¦  «        ‚d}t          | j         d         |¦  «        D �]%\  }	}
|
��|t	          j        |	¦  «        z  }|                     |	¦  «         |                     |
¦  «         |	| j        vrti | j        |	<   | j        |	         }t	          j        d¦  «        |d<   t	          j	        |	t          j
        ¬	¦  «        |d
<   t	          j	        |	t          j
        ¬	¦  «        |d<   | j        |	         }|                     |d
         ¦  «         |                     |d         ¦  «         |                     |d         ¦  «         �Œ't	          j        ¦   «         5  t          j        |||||| j        d         | j        d         | j        d         | j        d         | j        d         | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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.stepB   sŸ  € ØÔ! (Ô+ˆØÐØˆØˆØˆØ$&ˆåˆv‰;Œ;�#˜i™.œ.Ò(Ð(ÝØWØ3¥C¨¡K¤KÐ3Ð3Ð3ñ4à7¥s¨9¡~¤~Ð7Ð7ñ8ñô ð ð ˆÝ" 4Ô#3°HÔ#=¸yÑIÔIð 	2ñ 	2‰OˆE�8ØÑ#Ø�uÔ/°Ñ6Ô6Ñ6�Ø ×'Ò'¨Ñ.Ô.Ð.Ø—’˜XÑ&Ô&Ð&à ¤
Ð*Ð*Ø(*�D”J˜uÑ%Ø œJ uÔ-�EÝ$)¤L°Ñ$5Ô$5�E˜&‘Må',Ô'7Ø­UÔ-Bð(ñ (ô (�E˜)Ñ$õ (-Ô'7Ø­UÔ-Bð(ñ (ô (�E˜)Ñ$ð œ
 5Ô)�à—’  iÔ 0Ñ1Ô1Ð1Ø—’  iÔ 0Ñ1Ô1Ð1Ø×"Ò" 5¨¤=Ñ1Ô1Ð1ùåŒ]‰_Œ_ð 	ð 	ÝŒHØ ØØØØØ”M %Ô(Ø”m GÔ,Ø”m GÔ,Ø”= Ô&Ø!œ]¨>Ô:ØœØœØ'ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÇA#H5È5H9È<H9)r   r	   r
   r   FFF)
Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚtupleÚboolr&   r*   © r'   r%   r   r      sÄ   € € € € € ð
 Ø%1ØØ!ØØØ(-ð'.ð '.à�V”ð'.ð ð'.ð �U˜E�\Ô"ð	'.ð
 ð'.ð ð'.ð ð'.ð ð'.ð "&ð'.ð '.ð '.ð '.ðR8˜d 6¨D¡=Ô1ð 8ð 8ð 8ð 8ð 8ð 8r'   r   )r   Útorch.optim._functionalÚoptimÚ_functionalr6   r   Ú,torch.distributed.optim._deprecation_warningr   r   rB   r    Ú__annotations__r   Úscriptr   rF   r'   r%   ú<module>rM      sÁ   ðð €€€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð
 €ˆˆcŒÐ Ð Ñ ð „Ôðbð bð bð bð bñ bô bñ Ôðbð bð br'   