§
    1�Å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                ó  — ||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                     úQC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/adam.pyÚ
apply_adamr      sÈ   € ð % qÑ(¨1Ñ,€Mà�A‰I˜˜U™ mÑ3Ñ3€Eà�1‰H˜˜D™ ]°]Ñ%BÑCÑC€EåŒW�U‰^Œ^˜gÑ%€Fà€JØˆ1‚u€uà�œ  T¨1¡W¡Ñ-Ô-Ñ-°°U¸A±X±Ñ>ˆ
ˆ
ð ˆ
à�
˜e f™nÑ-Ñ-€EàÐ(Ñ(¨EÑ1€GØ�E˜5Ð Ð ó    c                  ó>   — e Zd Zedd„¦   «         Zedd„¦   «         ZdS )ÚAdamÚreturnÚNonec                 óÂ  — 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 )Nçü©ñÒMbP?çffffffî?çš™™™™™¹?gH¯¼šò×z>r!   )ÚRÚTÚXÚGÚVÚH)ÚX_newÚV_newÚH_new©ÚinputsÚoutputsr   r   r   r   Údomain©Údtyper   g333333ó?gffffff@g®Gázî¿g      Àg333333û?gÍÌÌÌÌÌ@ç        Ú	test_adamr   ©r2   r3   Ú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ð %ñ 	
ô 	
ˆõ ŒH�S¥¤
Ð+Ñ+Ô+ˆÝŒH�Q�bœhÐ'Ñ'Ô'ˆÝŒH�c˜3�Z¥r¤zÐ2Ñ2Ô2ˆÝŒH�e˜T�]­"¬*Ð5Ñ5Ô5ˆÝŒH�c˜3�Z¥r¤zÐ2Ñ2Ô2ˆÝŒH�c˜3�Z¥r¤zÐ2Ñ2Ô2ˆõ )Øˆq�!�Q˜˜1Ð.°°U¸DÀ'ñ
ô 
Ñˆˆu�eõ
 	ØØ�q˜!˜Q  1Ð%Ø˜E 5Ð)Øå”×(Ò(Õ)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{®Gáz„?r!   )
r(   r)   ÚX1ÚX2ÚG1ÚG2ÚV1ÚV2ÚH1ÚH2)ÚX1_newÚX2_newÚV1_newÚV2_newÚH1_newÚH2_newr1   r'   r5   r   g      ð?g      ð¿g       @g      à?g      Àg      @g      $@r7   Útest_adam_multipler   r9   r<   )r   r   r   r   rD   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ÐMÐMØPÐPÐPØ-ØØØÝ2ð %ñ 	
ô 	
ˆõ ŒH�S¥¤
Ð+Ñ+Ô+ˆÝŒH�Q�bœhÐ'Ñ'Ô'ˆåŒX�s�e¥2¤:Ð.Ñ.Ô.ˆÝŒX�t�f¥B¤JÐ/Ñ/Ô/ˆÝŒX�s�e¥2¤:Ð.Ñ.Ô.ˆÝŒX�s�e¥2¤:Ð.Ñ.Ô.ˆåŒX�s˜C�j­¬
Ð3Ñ3Ô3ˆÝŒX�t˜T�l­"¬*Ð5Ñ5Ô5ˆÝŒX�s˜C�j­¬
Ð3Ñ3Ô3ˆÝŒX�s˜D�k­¬Ð4Ñ4Ô4ˆõ ",Øˆq�"�b˜"˜bÐ"2°C¸ÀÀgñ"
ô "
Ñˆ�˜õ ",Øˆq�"�b˜"˜bÐ"2°C¸ÀÀgñ"
ô "
Ñˆ�˜õ
 	ØØ�q˜"˜b " b¨"¨b°"°bÐ9Ø˜V V¨V°V¸VÐDØ%å”×(Ò(Õ)HÈ!ÑLÔLðð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   N)r"   r#   )Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodrE   rd   © r   r   r!   r!   (   sS   € € € € € Øð)
ð )
ð )
ñ „\ð)
ðV ð1
ð 1
ð 1
ñ „\ð1
ð 1
ð 1
r   r!   )Ú
__future__r   Únumpyr	   r=   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   Ú	onnx.defsr   r   r!   ri   r   r   ú<module>ro      s±   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5ð!ð !ð !ð4_
ð _
ð _
ð _
ð _
ˆ4ñ _
ô _
ð _
ð _
ð _
r   