
    Ng                     Z    d dl Zd dlZd dlmZ d dlmZ d dlmZm	Z	  G d de          Z
dS )    N)Base)expect)AI_ONNX_PREVIEW_TRAINING_DOMAINONNX_DOMAINc                   >    e Zd Zedd            Zedd            ZdS )GradientreturnNc                  n   t           j                            dddgdgd          } t           j                            dddgdd	gd
t          ddgd          }t	          j        d                              t          j                  }t	          j        d                              t          j                  }||z   }t	          j        d                              t          j                  }t	          j        d                              t          j                  }t           j                            | |gdt           j        	                    dt           j
        j        g           t           j        	                    dt           j
        j        g           gt           j        	                    dt           j
        j        g           t           j        	                    dt           j
        j        g           t           j        	                    d	t           j
        j        g           g          }t           j                            t          d          t           j                            t          d          g}t           j                            |d|          }	t          |	||g|||gd           d S )NAddabcmy_addnamer   dc_dadc_dbmy_gradientr   domainxsy      ?       @   GradientOfAddnodesr   inputsoutputs   backend-testproducer_nameopset_importstest_gradient_of_addr   r    r   onnxhelper	make_noder   nparrayastypefloat32
make_graphmake_tensor_value_infoTensorProtoFLOATmake_operatorsetidr   make_model_gen_versionr   )
add_nodegradient_noder   r   r   r   r   graphopsetsmodels
             a/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/model/gradient.pyexport_gradient_scalar_addz#Gradient.export_gradient_scalar_add   s=   ;((c
SE(QQ--#Jg2Sz . 
 
 HSMM  ,,HSMM  ,,E""2:..""2:..&&]+ 2238H8NPRSS2238H8NPRSS
 2238H8NPRSS227D<L<RTVWW227D<L<RTVWW ' 
 
 K**;;;K**+JANN
 22v 3 
 
 	1a&1eU*;BX	
 	
 	
 	
 	
 	
    c                  P   t           j                            dddgdgd          } t           j                            dddgdgd	          }t           j                            d
ddgddgdt          ddgd          }t	          j        d                              t          j                  }t	          j        d                              t          j                  }||z   }||z  }d|z  |z                       t          j                  }|}t           j                            | ||gdt           j        	                    dt           j
        j        g           t           j        	                    dt           j
        j        g           gt           j        	                    dt           j
        j        g           t           j        	                    dt           j
        j        g           t           j        	                    dt           j
        j        g           g          }	t           j                            t          d          t           j                            t          d          g}
t           j                            |	d|
          }t          |||g|||gd           d S )Nr   r   r   r   r   r   Muldmy_mulr   dd_dadd_dbr   r   r   r      GradientOfTwoOperatorsr   r!   r   r"   r#   test_gradient_of_add_and_mulr'   r(   )r6   mul_noder7   r   r   r   r@   rB   rC   r8   r9   r:   s               r;   "export_gradient_scalar_add_and_mulz+Gradient.export_gradient_scalar_add_and_mul;   sV   ;((c
SE(QQ;((c
SE(QQ--#Jg2Sz . 
 
 HSMM  ,,HSMM  ,,EEQ""2:..&&X}5)2238H8NPRSS2238H8NPRSS
 2238H8NPRSS227D<L<RTVWW227D<L<RTVWW ' 
 
 K**;;;K**+JANN
 22v 3 
 
 	q6u%/		
 	
 	
 	
 	
 	
r=   )r	   N)__name__
__module____qualname__staticmethodr<   rH    r=   r;   r   r      sS        *
 *
 *
 \*
X 1
 1
 1
 \1
 1
 1
r=   r   )numpyr,   r)   onnx.backend.test.case.baser   onnx.backend.test.case.modelr   	onnx.defsr   r   r   rM   r=   r;   <module>rR      s   
      , , , , , , / / / / / / B B B B B B B B`
 `
 `
 `
 `
t `
 `
 `
 `
 `
r=   