§
    ŠŠ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d	ed
edededededefd„Zdeedz           fd„ZdS )Ú_FunctionalRMSpropç{®Gáz„?ç®Gáz®ï?ç:Œ0âŽyE>ç        FÚparamsÚlrÚalphaÚepsÚweight_decayÚmomentumÚcenteredÚforeachÚmaximizeÚ_allow_empty_param_listc                 ót  — t          d¬¦  «         |||||dœ| _        || _        || _        |	| _        t          |¦  «        dk    r|
st          d¦  «        ‚d|i| _        t          j	         
                    t          t          j        t          t          t          j        f         f         i ¦  «        | _        d S )Né   )Ú
stacklevel)r   r   r   r   r   r   z%optimizer got an empty parameter listr   )r   Údefaultsr   r   r   ÚlenÚ
ValueErrorÚparam_groupÚtorchÚjitÚannotateÚdictr   ÚstrÚstate)Úselfr   r   r   r   r   r   r   r   r   r   s              úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/distributed/optim/functional_rmsprop.pyÚ__init__z_FunctionalRMSprop.__init__   s´   € õ 	;ÀaÐHÑHÔHÐHàØØØ(Ø ð
ð 
ˆŒð !ˆŒØˆŒØ ˆŒåˆv‰;Œ;˜!ÒÐÐ$;ÐÝÐDÑEÔEÐEð % fÐ-ˆÔå”Y×'Ò'­­U¬\½4ÅÅUÄ\Ð@QÔ;RÐ-RÔ(SÐUWÑXÔXˆŒ
ˆ
ˆ
ó    Ú	gradientsNc                 óD  — | j         d         }g }g }g }g }g }g }| j        d         }	| j        d         }
| j        d         }| j        d         }| j        d         }t          |¦  «        t          |¦  «        k    r6t          ddt          |¦  «        › d	�z   d
t          |¦  «        › �z   ¦  «        ‚d}t	          ||¦  «        D �]}\  }}|��t|t          j        |¦  «        z  }|                     |¦  «         |                     |¦  «         || j        vr¤i | j        |<   | j        |         }t          j	        d¦  «        |d<   t          j
        |t
          j        ¬¦  «        |d<   |dk    r#t          j
        |t
          j        ¬¦  «        |d<   | j        r#t          j
        |t
          j        ¬¦  «        |d<   | j        |         }|                     |d         ¦  «         |dk    r|                     |d         ¦  «         | j        r|                     |d         ¦  «         |                     |d         ¦  «         �Œt          j        ¦   «         5  t          j        |||||||	|
|||| j        | j        | j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   zEthe gradients passed in does not equal to the size of the parameters!zParams length: z. zGradients length: Fr   Ústep)Úmemory_formatÚ
square_avgr   Úmomentum_bufferÚgrad_avg)	r   r   r   r   r   r   r   r   Úhas_complex)r   r   r   r   Úzipr   Ú
is_complexÚappendr"   ÚtensorÚ
zeros_likeÚpreserve_formatr   Úno_gradÚFÚrmspropr   r   )r#   r'   r   Úparams_with_gradÚgradsÚsquare_avgsÚ	grad_avgsÚmomentum_buffer_listÚstate_stepsr   r   r   r   r   r.   ÚparamÚgradientr"   s                     r$   r)   z_FunctionalRMSprop.step;   s)  € ØÔ! (Ô+ˆØÐØˆØˆØˆ	Ø!ÐØˆØŒ]˜4Ô ˆØ”˜gÔ&ˆØŒm˜EÔ"ˆØ”= Ô,ˆØ”} ^Ô4ˆåˆv‰;Œ;�#˜i™.œ.Ò(Ð(ÝØWØ3¥C¨¡K¤KÐ3Ð3Ð3ñ4à7¥s¨9¡~¤~Ð7Ð7ñ8ñô ð ð ˆÝ" 6¨9Ñ5Ô5ð 	2ñ 	2‰OˆE�8ØÑ#Ø�uÔ/°Ñ6Ô6Ñ6�Ø ×'Ò'¨Ñ.Ô.Ð.Ø—’˜XÑ&Ô&Ð&à ¤
Ð*Ð*Ø(*�D”J˜uÑ%Ø œJ uÔ-�EÝ$)¤L°Ñ$5Ô$5�E˜&‘MÝ*/Ô*:Ø­UÔ-Bð+ñ +ô +�E˜,Ñ'ð   !’|�|Ý38Ô3CØ!µÔ1Fð4ñ 4ô 4˜Ð/Ñ0ð ”}ð Ý,1Ô,<Ø!µÔ1Fð-ñ -ô -˜˜jÑ)ð œ
 5Ô)�Ø×"Ò" 5¨Ô#6Ñ7Ô7Ð7Ø˜a’<�<Ø(×/Ò/°Ð6GÔ0HÑIÔIÐIØ”=ð 8Ø×$Ò$ U¨:Ô%6Ñ7Ô7Ð7à×"Ò" 5¨¤=Ñ1Ô1Ð1ùåŒ]‰_Œ_ð 	ð 	ÝŒIØ ØØØØ$ØØØØØ)Ø!ØœØœØœØ'ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   É3JÊJÊJ)	r   r	   r
   r   r   FFFF)	Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚboolr%   r)   © r&   r$   r   r      së   € € € € € ð
 ØØØ!ØØØØØ(-ð Yð  Yà�V”ð Yð ð Yð ð	 Yð
 ð Yð ð Yð ð Yð ð Yð ð Yð ð Yð "&ð Yð  Yð  Yð  YðDF˜d 6¨D¡=Ô1ð Fð Fð Fð Fð Fð Fr&   r   )r   Útorch.optim._functionalÚoptimÚ_functionalr6   r   Ú,torch.distributed.optim._deprecation_warningr   r   rC   r!   Ú__annotations__r   Úscriptr   rF   r&   r$   ú<module>rM      sÁ   ðð €€€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð
 €ˆˆcŒÐ Ð Ñ ð „Ôðið ið ið ið iñ iô iñ Ôðið ið ir&   