
    Si                    f    S SK Jr  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)
    )annotationsN)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               c/var/www/html/ai-image-ml/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&   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 )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#   r2   r   r4   r5   r6   r7   r8   r9   test_nesterov_momentumr	   r;   )r?   r@   rA   r   rB   rC   rD   rE   r   r   rF   rG   s              r   export_nesterov_momentum!Momentum.export_nesterov_momentumO   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#   r2   r   rL   g      g       @g      g      @test_momentum_multipler	   r;   r>   )r   r   r   rH   r   r   x1g1v1x2g2v2x1_newv1_newx2_newv2_news                   r   export_momentum_multiple!Momentum.export_momentum_multiplew   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
   N)returnNone)	__name__
__module____qualname____firstlineno__staticmethodrI   rO   rg   __static_attributes__r
   r   r   r   r   &   s>    %
 %
N %
 %
N *
 *
r   r   )
__future__r   numpyrB   r?   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r   r   r
   r   r   <module>rv      s1    #   , . 5		|
t |
r   