
    hp                     T    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)    N)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X4$ )N   )npsqrt)rtxghnorm_coefficientepsilondecay_factorr_g_regularizedh_newh_sqrtx_news                ]/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/adagrad.pyapply_adagradr      sZ    	
a!""	#B$(1,M--EWWU^g%F]"V++E>    c                   <    \ rS rSr\SS j5       r\SS j5       rSrg)Adagrad   Nc            
      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dtyper         ?             @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   r.   r/   r0   g      g      @test_adagrad_multipler   r2   r5   )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_multipleE   sb    !{{$$A<-%2 % 
 HHS

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

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

3 '""
 '""

 	"""1V4((()H!L	
r    )returnN)__name__
__module____qualname____firstlineno__staticmethodr>   rV   __static_attributes__rX   r   r   r   r      s)    &
 &
P -
 -
r   r   )numpyr   r6   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r   rX   r   r   <module>rd      s)   
   , . 5X
d X
r   