
    bIg4                    `    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y)	    )annotationsN)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kD  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/answerous/venv/lib/python3.12/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WWU^g%FJ1uT1W--UAX>
 

efn--E((E1GE5      c                  0    e Zd Zedd       Zedd       Zy)Adamc                    d} d}d}d}t         j                  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                  j                  t        d      g       y )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)   sE    ! {{$$1/-2 % 	
 HHS

+HHQbhh'HHc3Zrzz2HHeT]"**5HHc3Zrzz2HHc3Zrzz2 )q!Q1.UD'
ue
 	q!Q1%E5)(()H!L	
r   c                 V   d} d}d}d}t         j                  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                  j                  t        d      g       y )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_multipleU   s    !{{$$MP-2 % 
 HHS

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

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

3XXsDk4 ",q"b"b"2Cg"
 ",q"b"b"2Cg"

 	q"b"b"b"b9VVVVVD%(()H!L	
r   N)returnNone)__name__
__module____qualname__staticmethodrB   ra    r   r   r!   r!   (   s)    )
 )
V 0
 0
r   r!   )
__future__r   numpyr	   r:   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r!   rh   r   r   <module>rn      s,    #   , . 5!4^
4 ^
r   