
    Ng                     \    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 )    N)Base)expect)AI_ONNX_PREVIEW_TRAINING_DOMAINc                    ||z  |z   }||z  d|z
  |z  z   }|	|z  d|	z
  ||z  z  z   }t          j        |          |
z   }d }|dk    r'| t          j        d|	|z  z
            z  d||z  z
  z  }n| }||||z  z  z
  }d|z
  |z  }|||fS )N   r   )npsqrt)rtxgvhnorm_coefficientnorm_coefficient_postalphabetaepsilong_regularizedv_newh_newh_sqrt
r_adjustedx_newx_finals                     \/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/adam.py
apply_adamr      s    $q(1,MAIUm33E1HD]]%BCCEWU^^g%FJ1uuT1W---UAX>

 

efn--E((E1GE5      c                   >    e Zd Zedd            Zedd            ZdS )AdamreturnNc                     d} d}d}d}t           j                            dg dg d| |||t                    }t	          j        dt          j        	          }t	          j        d
t          j        	          }t	          j        d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          |||||	|
| d|||          \  }}}t          ||||||	|
g|||gdt           j        
                    t          d          g           d S )NMbP?ffffff?皙?gHz>r    )RTXGVH)X_newV_newH_new)inputsoutputsr   r   r   r   domaindtyper   g333333?gffffff@gGzg      g333333?g@        	test_adamr   r/   r0   nameopset_importsonnxhelper	make_noder   r   arrayfloat32int64r   r   make_opsetid)r   r   r   r   noder
   r   r   r   r   r   r   r   r   s                 r   export_adamzAdam.export_adam&   s    ! {$$111///-2 % 	
 	
 HS
+++HQbh'''Hc3Zrz222HeT]"*555Hc3Zrz222Hc3Zrz222 )q!Q1.UD'
 
ue
 	q!Q1%E5)(()H!LL	
 	
 	
 	
 	
 	
r   c                     d} 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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	          j        ddgt          j        
          }t          |||||	|
| d|||          \  }}}t          ||||||| d|||          \  }}}t          ||||||||	||
|g
||||||gdt           j        
                    t          d          g           d S )Nr#   r$   g333333?g{Gz?r    )
r&   r'   X1X2G1G2V1V2H1H2)X1_newX2_newV1_newV2_newH1_newH2_new)r/   r0   r   r   r   r1   r%   r2   r   g      ?g      g       @g      ?g      g      @g      $@r4   test_adam_multipler   r6   r9   )r   r   r   r   rA   r
   r   x1g1v1h1x2g2v2h2x1_newv1_newh1_newx2_newv2_newh2_news                        r   export_adam_multiplezAdam.export_adam_multipleR   s    !{$$MMMPPP-2 % 
 
 HS
+++HQbh'''Xse2:...XtfBJ///Xse2:...Xse2:...XsCj
333XtTl"*555XsCj
333XsDk444 ",q"b"b"2Cg"
 "
 ",q"b"b"2Cg"
 "

 	q"b"b"b"b9VVVVVD%(()H!LL	
 	
 	
 	
 	
 	
r   )r!   N)__name__
__module____qualname__staticmethodrB   ra    r   r   r    r    %   sS        )
 )
 )
 \)
V 0
 0
 0
 \0
 0
 0
r   r    )numpyr   r:   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r    rf   r   r   <module>rk      s   
      , , , , , , . . . . . . 5 5 5 5 5 5! ! !0^
 ^
 ^
 ^
 ^
4 ^
 ^
 ^
 ^
 ^
r   