
    h                     Z    S SK rS SKrS SKJr  S SKJr  S SKJr  S r	S r
 " S S\5      rg)	    N)Base)expect)AI_ONNX_PREVIEW_TRAINING_DOMAINc                 J    XR-  U-   nUS:  a  UOSn	Xd-  X-  -   n
X U
-  -
  nX4$ Nr       rtxgvnorm_coefficientalphabetag_regularizedbeta_adjustedv_newx_news               ^/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/momentum.pyapply_momentumr      s>    $(1,MEDqMI55EE	ME<    c                 T    XR-  U-   nUS:  a  UOSn	Xd-  X-  -   n
X XU
-  -   -  -
  nX4$ r   r	   r
   s               r   apply_nesterovr      sG    $(1,MEDqMI55E]U]233E<r   c                   P    \ rS rSr\SS j5       r\SS j5       r\SS j5       rSrg)Momentum%   Nc                  Z   Sn SnSn[         R                  R                  S/ SQSS/U UUS[        S	9n[        R
                  " S[        R                  S
9n[        R
                  " S[        R                  S
9n[        R
                  " SS/[        R                  S
9n[        R
                  " SS/[        R                  S
9n[        R
                  " SS/[        R                  S
9n[        XEXgXX5      u  p[        UXEXgU/X/S[         R                  R                  [        S5      /S9  g )NMbP?ffffff?皙?r   RTXGVX_newV_newstandardinputsoutputsr   r   r   modedomaindtyper   333333?ffffff@Gz      333333?@test_momentumr   r-   r.   nameopset_importsonnxhelper	make_noder   nparrayfloat32int64r   r   make_opsetidr   r   r   noder   r   r   r   r   r   r   s              r   export_momentumMomentum.export_momentum&   s
    ! {{$$,g&-2 % 	
 HHS

+HHQbhh'HHc3Zrzz2HHeT]"**5HHc3Zrzz2 &aA!uS 	!?N (()H!L	
r   c                  Z   Sn SnSn[         R                  R                  S/ SQSS/U UUS[        S	9n[        R
                  " S
[        R                  S9n[        R
                  " S[        R                  S9n[        R
                  " SS/[        R                  S9n[        R
                  " SS/[        R                  S9n[        R
                  " SS/[        R                  S9n[        XEXgXX5      u  p[        UXEXgU/X/S[         R                  R                  [        S5      /S9  g )Ng{Gz?r!         ?r   r#   r)   r*   nesterovr,   r"   r1   r   r3   r4   r5   r6   r7   r8   test_nesterov_momentumr   r:   )r>   r?   r@   r   rA   rB   rC   rD   r   r   rE   rF   s              r   export_nesterov_momentum!Momentum.export_nesterov_momentumN   s
      {{$$,g&-2 % 	
 HHS

+HHQbhh'HHc3Zrzz2HHeT]"**5HHc3Zrzz2 &aA!uS 	!?N)(()H!L	
r   c                  V   Sn SnSn[         R                  R                  S/ SQ/ SQU UUS[        S9n[        R
                  " S	[        R                  S
9n[        R
                  " S[        R                  S
9n[        R
                  " S/[        R                  S
9n[        R
                  " S/[        R                  S
9n[        R
                  " S/[        R                  S
9n[        R
                  " SS/[        R                  S
9n	[        R
                  " SS/[        R                  S
9n
[        R
                  " SS/[        R                  S
9n[        XEXgXX5      u  p[        XEXXX5      u  p[        UXEXiXzX/XX/S[         R                  R                  [        S5      /S9  g )Nr    r!   g333333?r   )r$   r%   X1X2G1G2H1H2)X1_newX2_newV1_newV2_newr+   r,   r"   r1   r   rK   g      g       @g      g      @test_momentum_multipler   r:   r=   )r   r   r   rG   r   r   x1g1v1x2g2v2x1_newv1_newx2_newv2_news                   r   export_momentum_multiple!Momentum.export_momentum_multiplev   s]    !{{$$A<-2 % 	
 HHS

+HHQbhh'XXse2::.XXtfBJJ/XXse2::.XXsCj

3XXtTl"**5XXsCj

3 (bbEX'bbEX 	"""1V4)(()H!L	
r   r	   )returnN)	__name__
__module____qualname____firstlineno__staticmethodrH   rN   rf   __static_attributes__r	   r   r   r   r   %   s>    %
 %
N %
 %
N *
 *
r   r   )numpyrA   r>   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r   r   r	   r   r   <module>rs      s.   
   , . 5		|
t |
r   