
    [Th                         % S SK Jr  S SKrS SKJs  Jr  S SKJr  S SKJ	r	  / r
\\   \S'   \R                  R                   " S S5      5       rg)    )OptionalN)Tensor)2_scripted_functional_optimizer_deprecation_warning__all__c                   ~    \ rS rSr      SS\\   S\S\\\4   S\\\4   S\S\S\4S	 jjr	S
\\
\      4S jrSrg)_FunctionalRprop   paramslretas
step_sizesforeachmaximize_allow_empty_param_listc                 Z   [        SS9  SU0U l        X0l        X@l        XPl        X`l        [        U5      S:X  a  U(       d  [        S5      eSU0U l        [        R                  R                  [        [        R                  [        [        [        R                  4   4   0 5      U l        g )N   )
stacklevelr   r   z%optimizer got an empty parameter listr
   )r   defaultsr   r   r   r   len
ValueErrorparam_grouptorchjitannotatedictr   strstate)selfr
   r   r   r   r   r   r   s           `/var/www/auris/envauris/lib/python3.13/site-packages/torch/distributed/optim/functional_rprop.py__init___FunctionalRprop.__init__   s     	;aH"
 	$ v;!$;DEE %f-YY''U\\4U\\@Q;R-R(SUWX
    	gradientsc                 $   U R                   S   n/ n/ n/ n/ n/ nU R                  S   nU R                  u  pU R                  u  p[	        U5      [	        U5      :w  a*  [        SS[	        U5       S3-   S[	        U5       3-   5      eSn[        X!5       GH  u  pUc  M  U[        R                  " U5      -  nUR                  U5        UR                  U5        XR                  ;  av  0 U R                  U'   U R                  U   n[        R                  " S5      US	'   [        R                  " U[        R                  S
9US'   [        R                  " X5      US'   U R                  U   nUR                  US   5        UR                  US   5        UR                  US	   5        GM     [        R                  " 5          [         R"                  " UUUUUUUU	U
U R$                  U R&                  US9  S S S 5        g ! , (       d  f       g = f)Nr
   r   zEthe gradients passed in does not equal to the size of the parameters!zParams length: z. zGradients length: Fg        step)memory_formatprev	step_size)step_size_minstep_size_maxetaminusetaplusr   r   has_complex)r   r   r   r   r   r   zipr   
is_complexappendr   tensor
zeros_likepreserve_format	full_likeno_gradFrpropr   r   )r   r#   r
   params_with_gradgradsprevsr   state_stepsr   r+   r,   r)   r*   r-   paramgradientr   s                    r   r%   _FunctionalRprop.step6   s   !!(+
]]4  II'+$v;#i.(W#CK=34&s9~&678  "65OE#u//66 ''.X&

*(*DJJu% JJu-E$)LL$5E&M$)$4$4U-B-B%E&M */)FE+&

5)U6]+!!%"45""5=1%  6( ]]_GG ++!' __s   4H
H)r   r   r   r   r   r   r   N)g{Gz?)g      ?g333333?)gư>2   FFF)__name__
__module____qualname____firstlineno__listr   floattupleboolr    r   r%   __static_attributes__ r"   r   r   r      s    
 $.*4(-YVY Y E5L!	Y
 %,'Y Y Y "&Y85d8F#34 5r"   r   )typingr   r   torch.optim._functionaloptim_functionalr6   r   ,torch.distributed.optim._deprecation_warningr   r   rD   r   __annotations__r   scriptr   rI   r"   r   <module>rQ      sO      # # 
 c  R R Rr"   