
    Si                    `    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 S\5      rg)	    )annotationsN)Base)expect)AI_ONNX_PREVIEW_TRAINING_DOMAINc                    U SX-  -   -  nXR-  U-   n	XIU	-  -   n
[         R                  " U
5      U-   nX(U	-  U-  -
  nUR                  UR                  5      U
R                  UR                  5      4$ )N   )npsqrtastypedtype)rtxghnorm_coefficientepsilondecay_factorr_g_regularizedh_newh_sqrtx_news                b/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/adagrad.pyapply_adagradr      sw    	
a!""	#B$(1,M--EWWU^g%F]"V++ELL!5<<#899    c                  <    \ rS rSr\SS j5       r\SS j5       rSrg)Adagrad   c            
     R   Sn SnSn[         R                  R                  S/ SQSS/U UU[        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[        XEXgXX5      u  p[        UXEXgU/X/S[         R                  R                  [        S5      /S9  g )NMbP?h㈵>皙?r   )RTXGHX_newH_newinputsoutputsr   r   r   domainr   r         ?             @test_adagradr   r,   r-   nameopset_importsonnxhelper	make_noder   r	   arrayfloat32int64r   r   make_opsetid)r   r   r   noder   r   r   r   r   r   r   s              r   export_adagradAdagrad.export_adagrad   s    ! {{$$,g&-%2 % 
 HHS

+HHQbhh'HHcU"**-HHdV2::.HHcU"**- %!W

 	!?N(()H!L	
r   c                 T   Sn SnSn[         R                  R                  S/ SQ/ SQU UU[        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"   r#   r   )r$   r%   X1X2G1G2H1H2)X1_newX2_newH1_newH2_newr+   r/   r   r0   r1   r2   g      g      @test_adagrad_multipler   r4   r7   )r   r   r   r?   r   r   x1g1h1x2g2h2x1_newh1_newx2_newh2_news                   r   export_adagrad_multipleAdagrad.export_adagrad_multipleF   sb    !{{$$A<-%2 % 
 HHS

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

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

3 '""
 '""

 	"""1V4((()H!L	
r    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodr@   rX   __static_attributes__rZ   r   r   r   r      s)    &
 &
P -
 -
r   r   )
__future__r   numpyr	   r8   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r   rZ   r   r   <module>rh      s,    #   , . 5:X
d X
r   