
    /j                    h    d dl mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d Z G d de          ZdS )	    )annotationsN)Base)expect)AI_ONNX_PREVIEW_TRAINING_DOMAINc                    | d||z  z   z  }||z  |z   }	||	|	z  z   }
t          j        |
          |z   }|||	z  |z  z
  }|                    |j                  |
                    |j                  fS )N   )npsqrtastypedtype)rtxghnorm_coefficientepsilondecay_factorr_g_regularizedh_newh_sqrtx_news                h/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/backend/test/case/node/adagrad.pyapply_adagradr      s    	
a!l""	#B$q(1,M--EWU^^g%F]"V++ELL!!5<<#8#899    c                  >    e Zd Zedd            Zedd            ZdS )AdagradreturnNonec            
     f   d} d}d}t           j                            dg dddg| ||t                    }t	          j        dt          j        	          }t	          j        d
t          j        	          }t	          j        dgt          j        	          }t	          j        dgt          j        	          }t	          j        dgt          j        	          }t          |||||| ||          \  }	}
t          ||||||g|	|
gdt           j        
                    t          d          g           d S )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_adagradzAdagrad.export_adagrad   sG    ! {$$,,,g&-%2 % 
 
 HS
+++HQbh'''HcU"*---HdV2:...HcU"*--- %q!Q+Wl
 
u
 	q!Q?EN(()H!LL	
 	
 	
 	
 	
 	
r   c                 n   d} d}d}t           j                            dg dg d| ||t                    }t	          j        dt          j                  }t	          j        d	t          j                  }t	          j        d
gt          j                  }t	          j        dgt          j                  }t	          j        dgt          j                  }t	          j        d
dgt          j                  }	t	          j        ddgt          j                  }
t	          j        dd
gt          j                  }t          |||||| ||          \  }}t          |||	|
|| ||          \  }}t          |||||	||
||g||||gdt           j        
                    t          d          g           d S )Nr"   r#   r$   r   )r%   r&   X1X2G1G2H1H2)X1_newX2_newH1_newH2_newr,   r0   r   r1   r2   r3   g      g      @test_adagrad_multipler   r5   r8   )r   r   r   r@   r   r   x1g1h1x2g2h2x1_newh1_newx2_newh2_news                   r   export_adagrad_multiplezAdagrad.export_adagrad_multipleF   s    !{$$AAA<<<-%2 % 
 
 HS
+++HQbh'''Xse2:...XtfBJ///Xse2:...XsCj
333XtTl"*555XsCj
333 'q"b".
 
 'q"b".
 

 	q"b"b"b1VVV4((()H!LL	
 	
 	
 	
 	
 	
r   N)r   r    )__name__
__module____qualname__staticmethodrA   rX    r   r   r   r      sS        &
 &
 &
 \&
P -
 -
 -
 \-
 -
 -
r   r   )
__future__r   numpyr	   r9   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r   r]   r   r   <module>rc      s    # " " " " "      , , , , , , . . . . . . 5 5 5 5 5 5: : :X
 X
 X
 X
 X
d X
 X
 X
 X
 X
r   