Ë
    g^(hr  ã                   óž   — 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                   ób   — e Zd Z	 	 	 	 	 	 	 dde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)Ú_FunctionalAdadeltaÚparamsÚlrÚrhoÚepsÚweight_decayÚforeachÚmaximizeÚ_allow_empty_param_listc	                 óF  — t        d¬«       ||||dœ| _        || _        || _        t	        |«      dk(  r|st        d«      ‚d|i| _        t        j                  j                  t        t        j                  t        t        t        j                  f   f   i «      | _        y )Né   )Ú
stacklevel)r
   r   r   r   r   z%optimizer got an empty parameter listr	   )r   Údefaultsr   r   ÚlenÚ
ValueErrorÚparam_groupÚtorchÚjitÚannotateÚdictr   ÚstrÚstate)	Úselfr	   r
   r   r   r   r   r   r   s	            úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/optim/functional_adadelta.pyÚ__init__z_FunctionalAdadelta.__init__   s�   € ô 	;ÀaÕHàØØØ(ñ	
ˆŒð ˆŒØ ˆŒäˆv‹;˜!ÒÑ$;ÜÐDÓEÐEð % fÐ-ˆÔä—Y‘Y×'Ñ'¬¬U¯\©\¼4ÄÄUÇ\Á\Ð@QÑ;RÐ-RÑ(SÐUWÓXˆ�
ó    Ú	gradientsc                 óT  — | j                   d   }g }g }g }g }g }| j                  d   }| j                  d   }	| j                  d   }
| j                  d   }t        |«      t        |«      k7  r*t        ddt        |«      › d�z   d	t        |«      › �z   «      ‚d
}t	        ||«      D �]"  \  }}|€Œ
|t        j                  |«      z  }|j                  |«       |j                  |«       || j                  vr†i | j                  |<   | j                  |   }t        j                  d«      |d<   t        j                  |t
        j                  ¬«      |d<   t        j                  |t
        j                  ¬«      |d<   | j                  |   }|j                  |d   «       |j                  |d   «       |j                  |d   «       �Œ% t        j                  «       5  t        j                  |||||||	|
|| j                  | j                   |¬«       d d d «       y # 1 sw Y   y xY w)Nr	   r
   r   r   r   zEthe gradients passed in does not equal to the size of the parameters!zParams length: z. zGradients length: Fç        Ústep)Úmemory_formatÚ
square_avgÚ	acc_delta)r
   r   r   r   r   r   Úhas_complex)r   r   r   r   Úzipr   Ú
is_complexÚappendr   ÚtensorÚ
zeros_likeÚpreserve_formatÚno_gradÚFÚadadeltar   r   )r   r"   r	   Úparams_with_gradÚgradsÚsquare_avgsÚ
acc_deltasÚstate_stepsr
   r   r   r   r)   ÚparamÚgradientr   s                   r   r%   z_FunctionalAdadelta.step8   s  € Ø×!Ñ! (Ñ+ˆØÐØˆØˆØˆ
ØˆØ�]‰]˜4Ñ ˆØ�m‰m˜EÑ"ˆØ�m‰m˜EÑ"ˆØ—}‘} ^Ñ4ˆäˆv‹;œ#˜i›.Ò(ÜØWØ#¤C¨£K =°Ð3ñ4à&¤s¨9£~Ð&6Ð7ñ8óð ð
 ˆÜ" 6¨9Ó5ó 	2‰OˆE�8ØÑ#Øœu×/Ñ/°Ó6Ñ6�Ø ×'Ñ'¨Ô.Ø—‘˜XÔ&à §
¡
Ñ*Ø(*�D—J‘J˜uÑ%Ø ŸJ™J uÑ-�EÜ$)§L¡L°Ó$5�E˜&‘MÜ*/×*:Ñ*:Ø¬U×-BÑ-Bô+�E˜,Ñ'ô */×)9Ñ)9Ø¬U×-BÑ-Bô*�E˜+Ñ&ð Ÿ
™
 5Ñ)�Ø×"Ñ" 5¨Ñ#6Ô7Ø×!Ñ! %¨Ñ"4Ô5Ø×"Ñ" 5¨¡=Ö1ð)	2ô, �]‰]‹_ñ 	Ü�J‰JØ ØØØØØØØØ)ØŸ™ØŸ™Ø'õ÷	÷ 	ñ 	ús   Ç6HÈH'N)g      ð?gÍÌÌÌÌÌì?g�íµ ÷Æ°>r$   FFF)
Ú__name__Ú
__module__Ú__qualname__Úlistr   ÚfloatÚboolr    r   r%   © r!   r   r   r      s�   „ ð
 ØØØ!ØØØ(-ñYà�V‘ðYð ðYð ð	Yð
 ðYð ðYð ðYð ðYð "&óYð<7˜d 8¨FÑ#3Ñ4ô 7r!   r   )Útypingr   r   Útorch.optim._functionalÚoptimÚ_functionalr1   r   Ú,torch.distributed.optim._deprecation_warningr   r   r=   r   Ú__annotations__r   Úscriptr   r@   r!   r   ú<module>rH      sO   ðæ ã ß #Ð #Ý õð
 €ˆˆc‰Ó ð ‡�×Ñ÷Vð Vó ñVr!   