§
    ŠŠ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dededefd„Zdeedz           fd„ZdS )Ú_FunctionalAdagradç{®Gáz„?ç        ç      ð?ç»½×Ùß|Û=TFÚparamsÚlrÚlr_decayÚweight_decayÚinitial_accumulator_valueÚwarmup_lr_multiplierÚwarmup_num_itersÚepsÚcoalesce_gradÚforeachÚfusedÚmaximizeÚ_allow_empty_param_listc                 ó  — t          d¬¦  «         |||||||dœ| _        |	| _        |
| _        || _        || _        t          j                             t          t          j
        t          t          t          j
        f         f         i ¦  «        | _        t          |¦  «        dk    r|st          d¦  «        ‚d|i| _        | j        d         D ]9}t          j        |j        |¦  «        t          j        d¦  «        dœ| j        |<   Œ:d S )	Né   )Ú
stacklevel)r   r   r   r   r   r   r   r   z%optimizer got an empty parameter listr   r	   )ÚsumÚstep)r   Údefaultsr   r   r   r   ÚtorchÚjitÚannotateÚdictr   ÚstrÚstateÚlenÚ
ValueErrorÚparam_groupÚ	full_likeÚdataÚtensor)Úselfr   r   r   r   r   r   r   r   r   r   r   r   r   Úps                  úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/distributed/optim/functional_adagrad.pyÚ__init__z_FunctionalAdagrad.__init__   s  € õ  	;ÀaÐHÑHÔHÐHàØ ØØ(Ø)BØ$8Ø 0ð
ð 
ˆŒð +ˆÔØˆŒØˆŒ
Ø ˆŒÝ”Y×'Ò'­­U¬\½4ÅÅUÄ\Ð@QÔ;RÐ-RÔ(SÐUWÑXÔXˆŒ
åˆv‰;Œ;˜!ÒÐÐ$;ÐÝÐDÑEÔEÐEð % fÐ-ˆÔð Ô! (Ô+ð 	ð 	ˆAå” q¤vÐ/HÑIÔIÝœ SÑ)Ô)ðð ˆDŒJ�q‰MˆMð	ð 	ó    Ú	gradientsNc                 ó\  — | j         d         }g }g }g }g }t          |¦  «        t          |¦  «        k    r6t          ddt          |¦  «        › d�z   dt          |¦  «        › �z   ¦  «        ‚d\  }}t          | j         d         |¦  «        D ]•\  }	}
|
�Ž||
j        z  }|t          j        |	¦  «        z  }|                     |	¦  «         |                     |
¦  «         | j        |	         }|                     |d         ¦  «         |                     |d         ¦  «         Œ–t          j	        ¦   «         5  t          j        ||||| j        d	         | j        d
         | j        d         | j        d         || j        | 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: )FFr   r   r   r   r   r   )r   r   r   r   Úhas_sparse_gradr   r   Úhas_complexr   Ú
grad_scaleÚ	found_inf)r'   r%   r&   ÚzipÚ	is_sparser   Ú
is_complexÚappendr$   Úno_gradÚFÚadagradr   r   r   r   )r+   r0   r   Úparams_with_gradÚgradsÚ
state_sumsÚstate_stepsr2   r3   ÚparamÚgradientr$   s               r-   r   z_FunctionalAdagrad.stepH   s  € ØÔ! (Ô+ˆØÐØˆØˆ
Ø$&ˆåˆv‰;Œ;�#˜i™.œ.Ò(Ð(ÝØWØ3¥C¨¡K¤KÐ3Ð3Ð3ñ4à7¥s¨9¡~¤~Ð7Ð7ñ8ñô ð ð (4Ñ$ˆ˜Ý" 4Ô#3°HÔ#=¸yÑIÔIð 	2ð 	2‰OˆE�8ØÐ#Ø 8Ô#5Ñ5�Ø�uÔ/°Ñ6Ô6Ñ6�Ø ×'Ò'¨Ñ.Ô.Ð.Ø—’˜XÑ&Ô&Ð&Øœ
 5Ô)�Ø×!Ò! %¨¤,Ñ/Ô/Ð/Ø×"Ò" 5¨¤=Ñ1Ô1Ð1øåŒ]‰_Œ_ð 	ð 	ÝŒIØØØØØ”= Ô&Ø!œ]¨>Ô:Øœ zÔ2Ø”M %Ô(Ø /ØœØœØ'Ø”jØØðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Ä5AF!Æ!F%Æ(F%)r   r	   r	   r	   r
   r	   r   TFFFF)	Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚboolr.   r   © r/   r-   r   r      sü   € € € € € ð
 ØØ!Ø+.Ø&)Ø"%ØØ"ØØØØ(-ð-ð -à�V”ð-ð ð-ð ð	-ð
 ð-ð $)ð-ð $ð-ð  ð-ð ð-ð ð-ð ð-ð ð-ð ð-ð "&ð-ð -ð -ð -ð^*˜d 6¨D¡=Ô1ð *ð *ð *ð *ð *ð *r/   r   )r   Útorch.optim._functionalÚoptimÚ_functionalr;   r   Ú,torch.distributed.optim._deprecation_warningr   r   rF   r#   Ú__annotations__r    Úscriptr   rI   r/   r-   ú<module>rP      sÁ   ðð €€€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð
 €ˆˆcŒÐ Ð Ñ ð „ÔðZð Zð Zð Zð Zñ Zô Zñ ÔðZð Zð Zr/   