ó
    þSÎiª  ã                  ó^   • S SK Jr  S SKrS SKrS SKJr  S SKJr  S SK	J
r
Jr   " S S\5      rg)é    )ÚannotationsN)ÚBase)Úexpect)ÚAI_ONNX_PREVIEW_TRAINING_DOMAINÚONNX_DOMAINc                  ó<   • \ rS rSr\SS j5       r\SS j5       rSrg)ÚGradienté   c                 ó¢  • [         R                  R                  SSS/S/SS9n [         R                  R                  SSS/SS	/S
[        SS/SS9n[        R
                  " S5      R                  [        R                  5      n[        R
                  " S5      R                  [        R                  5      nX#-   n[        R
                  " S5      R                  [        R                  5      n[        R
                  " S5      R                  [        R                  5      n[         R                  R                  X/S[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      /[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      [         R                  R                  S	[         R                  R                  / 5      /S9n[         R                  R                  [        S5      [         R                  R                  [        S5      /n[         R                  R                  USUS9n	[        X’U/XEU/SS9  g )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
             Úd/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/model/gradient.pyÚexport_gradient_scalar_addÚ#Gradient.export_gradient_scalar_add   s%  € ä—;‘;×(Ñ(¨°°c°
¸S¸EÈÐ(ÐQˆÜŸ™×-Ñ-ØØ#ˆJØgÐØÜ2ØSˆzØð .ð 
ˆô HŠHS‹M× Ñ ¤§¡Ó,ˆÜHŠHS‹M× Ñ ¤§¡Ó,ˆØ‰Eˆä—’˜“×"Ñ"¤2§:¡:Ó.ˆä—’˜“×"Ñ"¤2§:¡:Ó.ˆä—‘×&Ñ&ØÐ+Ø ä—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSðô
 —‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWðð 'ð 
ˆô K‰K×*Ñ*¬;¸Ó;ÜK‰K×*Ñ*Ô+JÈAÓNð
ˆô —‘×2Ñ2Ø ¸vð 3ð 
ˆô 	Ø˜a˜&¨1°UÐ*;ÐBXó	
ó    c                 ót  • [         R                  R                  SSS/S/SS9n [         R                  R                  SSS/S/S	S9n[         R                  R                  S
SS/SS/S[        SS/SS9n[        R
                  " S5      R                  [        R                  5      n[        R
                  " S5      R                  [        R                  5      nX4-   nX5-  nSU-  U-   R                  [        R                  5      nUn[         R                  R                  XU/S[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      /[         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      [         R                  R                  S[         R                  R                  / 5      /S9n	[         R                  R                  [        S5      [         R                  R                  [        S5      /n
[         R                  R                  U	SU
S9n[        UX4/XgU/SS9  g )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)   )r7   Úmul_noder8   r   r   r   rB   rD   rE   r9   r:   r;   s               r<   Ú"export_gradient_scalar_add_and_mulÚ+Gradient.export_gradient_scalar_add_and_mul<   s<  € ä—;‘;×(Ñ(¨°°c°
¸S¸EÈÐ(ÐQˆÜ—;‘;×(Ñ(¨°°c°
¸S¸EÈÐ(ÐQˆÜŸ™×-Ñ-ØØ#ˆJØgÐØÜ2ØSˆzØð .ð 
ˆô HŠHS‹M× Ñ ¤§¡Ó,ˆÜHŠHS‹M× Ñ ¤§¡Ó,ˆØ‰Eˆà‰EˆàQ‘˜‘×"Ñ"¤2§:¡:Ó.ˆàˆä—‘×&Ñ&Ø }Ð5Ø)ä—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSðô
 —‘×2Ñ2°3¼×8HÑ8H×8NÑ8NÐPRÓSÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWÜ—‘×2Ñ2°7¼D×<LÑ<L×<RÑ<RÐTVÓWðð 'ð 
ˆô K‰K×*Ñ*¬;¸Ó;ÜK‰K×*Ñ*Ô+JÈAÓNð
ˆô —‘×2Ñ2Ø ¸vð 3ð 
ˆô 	ØØ6Ø˜uÐ%Ø/ó		
r?   © N)ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ústaticmethodr=   rJ   Ú__static_attributes__rL   r?   r<   r	   r	      s)   † Øó*
ó ð*
ðX ó1
ó ó1
r?   r	   )Ú
__future__r   Únumpyr-   r*   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.modelr   Ú	onnx.defsr   r   r	   rL   r?   r<   Ú<module>rZ      s'   ðõ #ã ã Ý ,Ý /ß Bô`
ˆtõ `
r?   