§
    ŠŠtjW  ã                   ó’   — 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dedefd„Zdededz  fd„Z	deedz           fd„Z
dS )Ú_FunctionalAdamWçü©ñÒMbP?©gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?ç:Œ0âŽyE>ç{®Gáz„?FÚparamsÚlrÚbetasÚepsÚweight_decayÚamsgradÚmaximizeÚforeachÚfusedÚ_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é   )Ú
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   r   r   ÚtorchÚjitÚannotateÚdictr   ÚstrÚstateÚlenÚparam_group)Úselfr   r   r   r   r   r   r   r   r   r   s              úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/distributed/optim/functional_adamw.pyÚ__init__z_FunctionalAdamW.__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Ð-ˆÔÐÐó    ÚparamÚgradNc                 ó&  — g }g }g }g }g }g }t          j        |¦  «        }	|�*|                     |¦  «         |                     |¦  «         || j        vrži | j        |<   | j        |         }
t          j        d¦  «        |
d<   t          j        |t           j        ¬¦  «        |
d<   t          j        |t           j        ¬¦  «        |
d<   | j        r#t          j        |t           j        ¬¦  «        |
d<   | j        |         }
|                     |
d         ¦  «         |                     |
d         ¦  «         | j        r|                     |
d         ¦  «         |                     |
d         ¦  «         t          j        ¦   «         5  t          j
        ||||||| j        | j        | j        d         | j        d         | j        d	         | j        d
         | j        d         | j        | j        d d |	¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   Ústep©Úmemory_formatÚexp_avgÚ
exp_avg_sqÚmax_exp_avg_sqr   r   r   r   r   ©r   r   r   r   r   r   r   r   r   Ú
grad_scaleÚ	found_infÚhas_complex)r   Ú
is_complexÚappendr$   ÚtensorÚ
zeros_likeÚpreserve_formatr   Úno_gradÚFÚadamwr   r   r   r   )r'   r+   r,   Úparams_with_gradÚgradsÚexp_avgsÚexp_avg_sqsÚmax_exp_avg_sqsÚstate_stepsr7   r$   s              r(   Ú
step_paramz_FunctionalAdamW.step_paramF   st  € ØÐØˆØˆØˆØˆØ$&ˆÝÔ& uÑ-Ô-ˆØÐØ×#Ò# EÑ*Ô*Ð*Ø�LŠL˜ÑÔÐà˜œ
Ð"Ð"Ø "ˆDŒJ�uÑØ”J˜uÔ%ˆEÝ!œL¨Ñ-Ô-ˆE�&‰Må$Ô/Ø¥UÔ%:ð ñ  ô  ˆE�)Ñõ #(Ô"2Ø¥UÔ%:ð#ñ #ô #ˆE�,Ñð Œ|ð å*/Ô*:Ø­Ô)>ð+ñ +ô +�Ð&Ñ'ð ”
˜5Ô!ˆà�Š˜˜iÔ(Ñ)Ô)Ð)Ø×Ò˜5 Ô.Ñ/Ô/Ð/àŒ<ð 	<Ø×"Ò" 5Ð)9Ô#:Ñ;Ô;Ð;à×Ò˜5 œ=Ñ)Ô)Ð)ÝŒ]‰_Œ_ð 	ð 	ÝŒGØ ØØØØØØœØœØ”m GÔ,Ø”m GÔ,Ø”= Ô&Ø!œ]¨>Ô:Ø”M %Ô(ØœØ”jØØØ'ð%ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÆA2HÈH
ÈH
Ú	gradientsc                 ó>  — | j         d         }g }g }g }g }g }g }t          |¦  «        t          |¦  «        k    r6t          ddt          |¦  «        › d�z   dt          |¦  «        › �z   ¦  «        ‚d}	t          | j         d         |¦  «        D �]q\  }
}|��h|	t	          j        |
¦  «        z  }	|                     |
¦  «         |                     |¦  «         |
| j        vrži | j        |
<   | j        |
         }t	          j        d¦  «        |d<   t	          j	        |
t          j
        ¬	¦  «        |d
<   t	          j	        |
t          j
        ¬	¦  «        |d<   | j        r#t	          j	        |
t          j
        ¬	¦  «        |d<   | j        |
         }|                     |d
         ¦  «         |                     |d         ¦  «         | j        r|                     |d         ¦  «         |                     |d         ¦  «         �Œst	          j        ¦   «         5  t          j        ||||||| j        | j        | j        d         | j        d         | j        d         | j        d         | j        d         | j        | j        d d |	¬¦  «         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   r.   r/   r1   r2   r3   r   r   r   r   r   r4   )r&   r%   r   Úzipr   r8   r9   r$   r:   r;   r<   r   r=   r>   r?   r   r   r   r   )r'   rG   r   r@   rA   rB   rC   rD   rE   r7   r+   Úgradientr$   s                r(   r.   z_FunctionalAdamW.stepƒ   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˜)Ñ$õ +0Ô*:Ø­UÔ-Bð+ñ +ô +�E˜,Ñ'ð ”|ð å27Ô2BØ!µÔ1Fð3ñ 3ô 3˜Ð.Ñ/ð œ
 5Ô)�à—’  iÔ 0Ñ1Ô1Ð1Ø×"Ò" 5¨Ô#6Ñ7Ô7Ð7à”<ð DØ#×*Ò*¨5Ð1AÔ+BÑCÔCÐCà×"Ò" 5¨¤=Ñ1Ô1Ð1ùåŒ]‰_Œ_ð 	ð 	ÝŒGØ ØØØØØØœØœØ”m GÔ,Ø”m GÔ,Ø”= Ô&Ø!œ]¨>Ô:Ø”M %Ô(ØœØ”jØØØ'ð%ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÈA2JÊJÊJ)	r   r	   r
   r   FFFFF)Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚtupleÚboolr)   rF   r.   © r*   r(   r   r      s  € € € € € ð
 Ø%1ØØ"ØØØØØ(-ð+.ð +.à�V”ð+.ð ð+.ð �U˜E�\Ô"ð	+.ð
 ð+.ð ð+.ð ð+.ð ð+.ð ð+.ð ð+.ð "&ð+.ð +.ð +.ð +.ðZ; ð ;¨f°t©mð ;ð ;ð ;ð ;ðzG˜d 6¨D¡=Ô1ð Gð Gð Gð Gð Gð Gr*   r   )r   Útorch.optim._functionalÚoptimÚ_functionalr>   r   Ú,torch.distributed.optim._deprecation_warningr   r   rN   r#   Ú__annotations__r    Úscriptr   rR   r*   r(   ú<module>rY      sÁ   ðð €€€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð
 €ˆˆcŒÐ Ð Ñ ð „Ôðrð rð rð rð rñ rô rñ Ôðrð rð rr*   