Ë
    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                   ó€   — 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e      fd„Z	y)Ú_FunctionalAdagradÚ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                  j                  t        t        j                  t        t        t        j                  f   f   i «      | _        t        |«      dk(  r|st        d«      ‚d|i| _        | j                  d   D ]E  }t        j                   |j"                  |«      t        j$                  d«      dœ| j                  |<   ŒG y )	Né   )Ú
stacklevel)r
   r   r   r   r   r   r   r   z%optimizer got an empty parameter listr	   ç        )Ú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/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/optim/functional_adagrad.pyÚ__init__z_FunctionalAdagrad.__init__   sò   € ô  	;ÀaÕHàØ ØØ(Ø)BØ$8Ø 0ñ
ˆŒð +ˆÔØˆŒØˆŒ
Ø ˆŒÜ—Y‘Y×'Ñ'¬¬U¯\©\¼4ÄÄUÇ\Á\Ð@QÑ;RÐ-RÑ(SÐUWÓXˆŒ
äˆv‹;˜!ÒÑ$;ÜÐDÓEÐEð % fÐ-ˆÔð ×!Ñ! (Ñ+ò 	ˆAä—‘ q§v¡vÐ/HÓIÜŸ™ SÓ)ñˆD�J‰J�qŠMñ	ó    Ú	gradientsc                 óD  — | j                   d   }g }g }g }g }t        |«      t        |«      k7  r*t        ddt        |«      › d�z   dt        |«      › �z   «      ‚d\  }}t        | j                   d   |«      D ]ˆ  \  }	}
|
€Œ	||
j                  z  }|t        j                  |	«      z  }|j                  |	«       |j                  |
«       | j                  |	   }|j                  |d   «       |j                  |d   «       ŒŠ t        j                  «       5  t        j                  ||||| j                  d	   | j                  d
   | j                  d   | j                  d   || j                  | j                  || j                  d d ¬«       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: )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)   r.   r	   Úparams_with_gradÚgradsÚ
state_sumsÚstate_stepsr0   r1   ÚparamÚgradientr"   s               r+   r   z_FunctionalAdagrad.stepI   s¡  € Ø×!Ñ! (Ñ+ˆØÐØˆØˆ
Ø$&ˆäˆv‹;œ#˜i›.Ò(ÜØWØ#¤C¨£K =°Ð3ñ4à&¤s¨9£~Ð&6Ð7ñ8óð ð (4Ñ$ˆ˜Ü" 4×#3Ñ#3°HÑ#=¸yÓIò 	2‰OˆE�8ØÑ#Ø 8×#5Ñ#5Ñ5�Øœu×/Ñ/°Ó6Ñ6�Ø ×'Ñ'¨Ô.Ø—‘˜XÔ&ØŸ
™
 5Ñ)�Ø×!Ñ! %¨¡,Ô/Ø×"Ñ" 5¨¡=Õ1ð	2ô �]‰]‹_ñ 	Ü�I‰IØØØØØ—=‘= Ñ&Ø!Ÿ]™]¨>Ñ:ØŸ™ zÑ2Ø—M‘M %Ñ(Ø /ØŸ™ØŸ™Ø'Ø—j‘jØØõ÷	÷ 	ñ 	ús   ÄA7FÆFN)g{®Gáz„?r   r   r   g      ð?r   g»½×Ùß|Û=TFFFF)
Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚboolr,   r   r   © r-   r+   r   r      sÈ   „ ð
 ØØ!Ø+.Ø&)Ø"%ØØ"ØØØØ(-ñ-à�V‘ð-ð ð-ð ð	-ð
 ð-ð $)ð-ð $ð-ð  ð-ð ð-ð ð-ð ð-ð ð-ð ð-ð "&ó-ð^*˜d 8¨FÑ#3Ñ4ô *r-   r   )Útypingr   r   Útorch.optim._functionalÚoptimÚ_functionalr9   r   Ú,torch.distributed.optim._deprecation_warningr   r   rD   r!   Ú__annotations__r   Úscriptr   rG   r-   r+   ú<module>rO      sO   ðæ ã ß #Ð #Ý õð
 €ˆˆc‰Ó ð ‡�×Ñ÷Zð Zó ñZr-   