
    /j                    n    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d Z G d d	e          ZdS )
    )annotationsN)Base)expect)AI_ONNX_PREVIEW_TRAINING_DOMAINc                T    ||z  |z   }|dk    r|nd}	||z  |	|z  z   }
|| |
z  z
  }||
fS Nr       rtxgvnorm_coefficientalphabetag_regularizedbeta_adjustedv_newx_news               i/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/backend/test/case/node/momentum.pyapply_momentumr      sL    $q(1,MEEDDqMAI55EE	ME%<    c                `    ||z  |z   }|dk    r|nd}	||z  |	|z  z   }
|| |||
z  z   z  z
  }||
fS r   r
   r   s               r   apply_nesterovr      sW    $q(1,MEEDDqMAI55E]UU]233E%<r   c                  V    e Zd Zedd            Zedd            Zedd            ZdS )MomentumreturnNonec            
     n   d} d}d}t           j                            dg dd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          |||||| ||          \  }	}
t          ||||||g|	|
gdt           j        
                    t          d          g           d S )NMbP?ffffff?皙?r   RTXGVX_newV_newstandardinputsoutputsr   r   r   modedomaindtyper   333333?ffffff@Gz      333333?@test_momentumr	   r/   r0   nameopset_importsonnxhelper	make_noder   nparrayfloat32int64r   r   make_opsetidr   r   r   noder   r   r   r   r   r   r   s              r   export_momentumzMomentum.export_momentum'   sK    ! {$$,,,g&-2 % 	
 	
 HS
+++HQbh'''Hc3Zrz222HeT]"*555Hc3Zrz222 &aAq!5EudSSu 	q!Q?EN (()H!LL	
 	
 	
 	
 	
 	
r   c            
     n   d} d}d}t           j                            dg dd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          |||||| ||          \  }	}
t          ||||||g|	|
gdt           j        
                    t          d          g           d S )Ng{Gz?r#         ?r   r%   r+   r,   nesterovr.   r$   r3   r   r5   r6   r7   r8   r9   r:   test_nesterov_momentumr	   r<   )r@   rA   rB   r   rC   rD   rE   rF   r   r   rG   rH   s              r   export_nesterov_momentumz!Momentum.export_nesterov_momentumO   sK      {$$,,,g&-2 % 	
 	
 HS
+++HQbh'''Hc3Zrz222HeT]"*555Hc3Zrz222 &aAq!5EudSSu 	q!Q?EN)(()H!LL	
 	
 	
 	
 	
 	
r   c                 p   d} d}d}t           j                            dg dg d| ||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dgt          j        
          }	t	          j        ddgt          j        
          }
t	          j        ddgt          j        
          }t          |||||| ||          \  }}t          |||	|
|| ||          \  }}t          |||||	||
||g||||gdt           j        
                    t          d          g           d S )Nr"   r#   g333333?r   )r&   r'   X1X2G1G2H1H2)X1_newX2_newV1_newV2_newr-   r.   r$   r3   r   rL   g      g       @g      g      @test_momentum_multipler	   r<   r?   )r   r   r   rI   r   r   x1g1v1x2g2v2x1_newv1_newx2_newv2_news                   r   export_momentum_multiplez!Momentum.export_momentum_multiplew   s    !{$$AAA<<<-2 % 	
 	
 HS
+++HQbh'''Xse2:...XtfBJ///Xse2:...XsCj
333XtTl"*555XsCj
333 (1b"b:JESWXX'1b"b:JESWXX 	q"b"b"b1VVV4)(()H!LL	
 	
 	
 	
 	
 	
r   N)r   r    )__name__
__module____qualname__staticmethodrJ   rO   rf   r
   r   r   r   r   &   st        %
 %
 %
 \%
N %
 %
 %
 \%
N *
 *
 *
 \*
 *
 *
r   r   )
__future__r   numpyrC   r@   onnx.backend.test.case.baser   onnx.backend.test.case.noder   	onnx.defsr   r   r   r   r
   r   r   <module>rp      s    # " " " " "      , , , , , , . . . . . . 5 5 5 5 5 5	 	 		 	 	|
 |
 |
 |
 |
t |
 |
 |
 |
 |
r   