
    hL                     L    S SK rS SKrS SKJr  S SKJr  SS jr " S S\5      rg)    N)Base)expectc                 L   U R                   n[        U5      S:X  a  [        S5      eUR                   nUS   nUS   nS n	Ubp  [        R                  " U[        R
                  " U[        R                  S9SS9n	Ub5  [        R                  " X:H  SU	5      R                  [        R                  S9n	O8Ub5  [        R                  " X:H  SS5      R                  [        R                  S9n	[        U5      S:w  a&  U R                  XxS45      n UR                  US45      nU R                   S	   n
[        R                  " Xz4[        R                  S9n[        U5       H7  n[        U
5       H%  nX   U   U:w  d  M  X   X   U      U   * X   U'   M'     M9     Un[        U5      S:w  a  UR                  U5      nU	b-  X-  nUS
:X  a#  UR                  5       U	R                  5       -  nU$ US
:X  a  [        R                  " U5      nU$ US:X  a  [        R                  " U5      nU$ )N   zUnsupported shaper   )dtypeclip)mode      meansum)shapelenRuntimeErrornptakearrayint32whereastypefloat32reshapezerosranger   r   )inputtargetweight	reductionignore_indexinput_shapetarget_shapeNCgather_weightDneg_gather_element_inputidlosss                  o/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/negativeloglikelihoodloss.py$compute_negative_log_likelihood_lossr,      s   ++K
;1.//<<LAAAA M
 rxx(HvV #HHV%;QNUUjj V M 
	!!7A>EEBJJEW ;1qRj)B( 	AA!xxbjjA1XqAy||+27(69Q<2H2K1K(+A.  
 $D ;1||L)  #88: 1 1 33DKFwwt} K 
e	vvd|K    c                   |   \ rS rSr\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r	\SS j5       r
\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSrg)NegativeLogLikelihoodLossK   Nc                     Sn [         R                  R                  SSS/S/U S9nSu  p#[        R                  R                  S5        [        R                  R                  X#5      R                  [        R                  5      n[        R                  R                  SX24S	9R                  [        R                  5      n[        XES U S
9n[        UXE/U/SS9  g )Nnoner/   r   r   r*   inputsoutputsr   r
      r   highsizer   r   test_nllloss_NCr4   r5   nameonnxhelper	make_noder   randomseedrandr   r   randintint64r,   r   )r   noder#   r$   r   r   negative_log_likelihood_losss          r+   export_input_shape_is_NC2NegativeLogLikelihoodLoss.export_input_shape_is_NCL   s    	{{$$'X&H	 % 
 
		q		q$++BJJ7""114"8??I'K$)(
$ 	?12"		
r-   c                     Sn [         R                  R                  SSS/S/U S9nSu  p#pE[        R                  R                  S5        [        R                  R                  X#XE5      R                  [        R                  5      n[        R                  R                  SX2XE4S	9R                  [        R                  5      n[        XgS U S
9n[        UXg/U/SS9  g )Nr2   r/   r   r   r*   r3   r
   r7      rN   r   r8   r;   test_nllloss_NCd1d2r=   r?   	r   rH   r#   r$   dim1dim2r   r   rI   s	            r+   export_input_shape_is_NCd1d26NegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2f   s    	{{$$'X&H	 % 
 &d
		q		qT077

C""11t?"CJJ288T'K$)(
$ 	?12&		
r-   c                     Sn [         R                  R                  SSS/S/U S9nSu  p#pE[        R                  R                  S5        [        R                  R                  X#XE5      R                  [        R                  5      n[        R                  R                  SX2XE4S	9R                  [        R                  5      n[        XgS U S
9n[        UXg/U/SS9  g )Nr   r/   r   r   r*   r3   rM   r   r8   r;   "test_nllloss_NCd1d2_reduction_meanr=   r?   rP   s	            r+   +export_input_shape_is_NCd1d2_reduction_meanENegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_reduction_mean   s    	{{$$'X&H	 % 
 &d
		q		qT077

C""11t?"CJJ288T'K$)(
$ 	?125		
r-   c                     Sn [         R                  R                  SSS/S/U S9nSu  p#pE[        R                  R                  S5        [        R                  R                  X#XE5      R                  [        R                  5      n[        R                  R                  SX2XE4S	9R                  [        R                  5      n[        XgS U S
9n[        UXg/U/SS9  g )Nr   r/   r   r   r*   r3   rM   r   r8   r;   !test_nllloss_NCd1d2_reduction_sumr=   r?   rP   s	            r+   *export_input_shape_is_NCd1d2_reduction_sumDNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_reduction_sum   s    	{{$$'X&H	 % 
 &d
		q		qT077

C""11t?"CJJ288T'K$)(
$ 	?124		
r-   c                  4   Sn [         R                  R                  S/ SQS/U S9nSu  p#pE[        R                  R                  S5        [        R                  R                  X#XE5      R                  [        R                  5      n[        R                  R                  SX2XE4S9R                  [        R                  5      n[        R                  R                  U5      R                  [        R                  5      n[        XgXS	9n	[        UXgU/U	/S
S9  g )Nr2   r/   r   r   r   r*   r3   rM   r   r8   r;   test_nllloss_NCd1d2_with_weightr=   r?   
r   rH   r#   r$   rQ   rR   r   r   r   rI   s
             r+   (export_input_shape_is_NCd1d2_with_weightBNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_with_weight   s    	{{$$'0H	 % 
 &d
		q		qT077

C""11t?"CJJ288T"))"**5'K&(
$ 	6*122		
r-   c                  4   Sn [         R                  R                  S/ SQS/U S9nSu  p#pE[        R                  R                  S5        [        R                  R                  X#XE5      R                  [        R                  5      n[        R                  R                  SX2XE4S9R                  [        R                  5      n[        R                  R                  U5      R                  [        R                  5      n[        XgXS	9n	[        UXgU/U	/S
S9  g )Nr   r/   r^   r*   r3   rM   r   r8   r;   .test_nllloss_NCd1d2_with_weight_reduction_meanr=   r?   r`   s
             r+   7export_input_shape_is_NCd1d2_with_weight_reduction_meanQNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_with_weight_reduction_mean   s    	{{$$'0H	 % 
 &d
		q		qT077

C""11t?"CJJ288T"))"**5'K&(
$ 	6*12A		
r-   c                  4   Sn [         R                  R                  S/ SQS/U S9nSu  p#pE[        R                  R                  S5        [        R                  R                  X#XE5      R                  [        R                  5      n[        R                  R                  SX2XE4S9R                  [        R                  5      n[        R                  R                  U5      R                  [        R                  5      n[        XgXS	9n	[        UXgU/U	/S
S9  g )Nr   r/   r^   r*   r3   rM   r   r8   r;   -test_nllloss_NCd1d2_with_weight_reduction_sumr=   r?   r`   s
             r+   6export_input_shape_is_NCd1d2_with_weight_reduction_sumPNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_with_weight_reduction_sum   s    	{{$$'0H	 % 
 &d
		q		qT077

C""11t?"CJJ288T"))"**5'K&(
$ 	6*12@		
r-   c                     Sn [         R                  " S5      n[        R                  R	                  S/ SQS/U US9nSu  p4pV[         R
                  R                  S5        [         R
                  R                  X4XV5      R                  [         R                  5      n[         R
                  R                  SXCXV4S9R                  [         R                  5      n[         R                  " S5      US   S   S'   [         R
                  R                  U5      R                  [         R                  5      n	[        XxXUS	9n
[        UXxU	/U
/S
S9  g )Nr   r   r/   r^   r*   r4   r5   r   r    rM   r8   r   r   r    0test_nllloss_NCd1d2_with_weight_reduction_sum_iir=   r   rG   r@   rA   rB   rC   rD   rE   r   r   rF   r,   r   )r   r    rH   r#   r$   rQ   rR   r   r   r   rI   s              r+   9export_input_shape_is_NCd1d2_with_weight_reduction_sum_iiSNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_with_weight_reduction_sum_ii  s   	xx{{{$$'0H% % 
 &d
		q		qT077

C""11t?"CJJ288T((1+q	!Q"))"**5'K&L(
$ 	6*12C		
r-   c                  &   Sn [         R                  " S5      n[        R                  R	                  SSS/S/U US9nSu  p4pV[         R
                  R                  S	5        [         R
                  R                  X4XV5      R                  [         R                  5      n[         R
                  R                  S	XCXV4S
9R                  [         R                  5      n[         R                  " S5      US	   S	   S	'   [        XxXS9n	[        UXx/U	/SS9  g )Nr   r   r/   r   r   r*   rl   rM   r   r8   r   r    /test_nllloss_NCd1d2_no_weight_reduction_mean_iir=   ro   )
r   r    rH   r#   r$   rQ   rR   r   r   rI   s
             r+   8export_input_shape_is_NCd1d2_no_weight_reduction_mean_iiRNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2_no_weight_reduction_mean_ii#  s    	xx{{{$$'X&H% % 
 &d
		q		qT077

C""11t?"CJJ288T((1+q	!Q'KY(
$ 	?12B		
r-   c                     Sn [         R                  R                  SSS/S/U S9nSu  p#n[        R                  R                  S5        [        R                  R                  X#U5      R                  [        R                  5      n[        R                  R                  SX2U4S	9R                  [        R                  5      n[        XVS U S
9n[        UXV/U/SS9  g )Nr   r/   r   r   r*   r3   r
   r7   r   r   r8   r;   test_nllloss_NCd1r=   r?   )r   rH   r#   r$   d1r   r   rI   s           r+   export_input_shape_is_NCd14NegativeLogLikelihoodLoss.export_input_shape_is_NCd1@  s    	{{$$'X&H	 % 
 b
		q		qR(//

;""11r7";BB288L'K$)(
$ 	?12$		
r-   c                  4   Sn [         R                  R                  S/ SQS/U S9nSu  p#n[        R                  R                  S5        [        R                  R                  X#U5      R                  [        R                  5      n[        R                  R                  SX2U4S9R                  [        R                  5      n[        R                  R                  U5      R                  [        R                  5      n[        XVXpS	9n[        UXVU/U/S
S9  g )Nr   r/   r^   r*   r3   rx   r   r8   r;   test_nllloss_NCd1_weightr=   r?   )	r   rH   r#   r$   rz   r   r   r   rI   s	            r+   !export_input_shape_is_NCd1_weight;NegativeLogLikelihoodLoss.export_input_shape_is_NCd1_weightZ  s    	{{$$'0H	 % 
 b
		q		qR(//

;""11r7";BB288L"))"**5'K&(
$ 	6*12+		
r-   c                  "   Sn [         R                  " S5      n[        R                  R	                  SSS/S/U US9nSu  p4n[         R
                  R                  S	5        [         R
                  R                  X4U5      R                  [         R                  5      n[         R
                  R                  S	XCU4S
9R                  [         R                  5      n[         R                  " S5      US	   S	'   [        XgS XS9n[        UXg/U/SS9  g )Nr   r   r/   r   r   r*   rl   rx   r   r8   rm   test_nllloss_NCd1_iir=   ro   )	r   r    rH   r#   r$   rz   r   r   rI   s	            r+   export_input_shape_is_NCd1_ii7NegativeLogLikelihoodLoss.export_input_shape_is_NCd1_iiu  s    	xx{{{$$'X&H% % 
 b
		q		qR(//

;""11r7";BB288Lxx{q	!'K$)(
$ 	?12'		
r-   c                     Sn [         R                  " S5      n[        R                  R	                  S/ SQS/U US9nSu  p4n[         R
                  R                  S5        [         R
                  R                  X4U5      R                  [         R                  5      n[         R
                  R                  SXCU4S	9R                  [         R                  5      n[         R                  " S5      US   S'   [         R
                  R                  U5      R                  [         R                  5      n[        XgXUS
9n	[        UXgU/U	/SS9  g )Nr   r   r/   r^   r*   rl   rx   r   r8   rm   test_nllloss_NCd1_weight_iir=   ro   )
r   r    rH   r#   r$   rz   r   r   r   rI   s
             r+   $export_input_shape_is_NCd1_weight_ii>NegativeLogLikelihoodLoss.export_input_shape_is_NCd1_weight_ii  s   	xx{{{$$'0H% % 
 b
		q		qR(//

;""11r7";BB288Lxx{q	!"))"**5'K&L(
$ 	6*12.		
r-   c            
      @   Sn [         R                  R                  S/ SQS/U S9nSu  p#pEpgn[        R                  R                  S5        [        R                  R                  X#XEXgU5      R                  [        R                  5      n	[        R                  R                  SX2XEXgU4S9R                  [        R                  5      n
[        R                  R                  U5      R                  [        R                  5      n[        XXS	9n[        UXU/U/S
S9  g )Nr   r/   r^   r*   r3   r
   r7   rN   rN   r7   r
      r   r8   r;   %test_nllloss_NCd1d2d3d4d5_mean_weightr=   r?   )r   rH   r#   r$   rQ   rR   dim3dim4dim5r   r   r   rI   s                r+   .export_input_shape_is_NCd1d2d3d4d5_mean_weightHNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2d3d4d5_mean_weight  s    	{{$$'0H	 % 
 .A*d$d
		q		qTTBII"**U""AD= # 

&
 	 "))"**5'K&(
$ 	6*128		
r-   c            
         Sn [         R                  R                  SSS/S/U S9nSu  p#pEpgn[        R                  R                  S5        [        R                  R                  X#XEXgU5      R                  [        R                  5      n	[        R                  R                  SX2XEXgU4S	9R                  [        R                  5      n
[        XU S
9n[        UX/U/SS9  g )Nr2   r/   r   r   r*   r3   r   r   r8   )r   (test_nllloss_NCd1d2d3d4d5_none_no_weightr=   r?   )r   rH   r#   r$   rQ   rR   r   r   r   r   r   rI   s               r+   1export_input_shape_is_NCd1d2d3d4d5_none_no_weightKNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2d3d4d5_none_no_weight  s    	{{$$'X&H	 % 
 .A*d$d
		q		qTTBII"**U""AD= # 

&
 	 (LY(
$ 	?12;		
r-   c                  t   Sn [         R                  " S5      n[        R                  R	                  S/ SQS/U US9nSu  p4n[         R
                  R                  S5        [         R
                  R                  X4U5      R                  [         R                  5      n[         R
                  R                  SXCU4S	9R                  [         R                  5      nSUS   S'   [         R
                  R                  U5      R                  [         R                  5      n[        XgXUS
9n	[        UXgU/U	/SS9  g )Nr   r   r/   r^   r*   rl   )r
   r7   rN   r   r8   rm   )test_nllloss_NCd1_mean_weight_negative_iir=   ro   )
r   r    rH   r#   r$   rQ   r   r   r   rI   s
             r+   2export_input_shape_is_NCd1_mean_weight_negative_iiLNegativeLogLikelihoodLoss.export_input_shape_is_NCd1_mean_weight_negative_ii  s   	xx|{{$$'0H% % 
 
d
		q		qT*11"**=""11t9"=DDRXXNq	!"))"**5'K&L(
$ 	6*12<		
r-   c                  
   Sn [         R                  " S5      n[        R                  R	                  SSS/S/U US9nSu  p4pVn[         R
                  R                  S	5        [         R
                  R                  X4XVU5      R                  [         R                  5      n[         R
                  R                  S	XCXVU4S
9R                  [         R                  5      n	SU	S	   S	   S	   S	'   [        XXS9n
[        UX/U
/SS9  g )Nr2   r/   r   r   r*   rl   )r
   r7   rN   rN   r7   r   r8   rs   0test_nllloss_NCd1d2d3_none_no_weight_negative_iir=   ro   )r   r    rH   r#   r$   rQ   rR   r   r   r   rI   s              r+   9export_input_shape_is_NCd1d2d3_none_no_weight_negative_iiSNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2d3_none_no_weight_negative_ii
  s    	xx|{{$$'X&H% % 
 "/d$
		q		qT6==bjjI""11t43H"IPPHH
  q	!Q'KY(
$ 	?12C		
r-   c                  f   Sn [         R                  " S5      n[        R                  R	                  S/ SQS/U US9nSu  p4[         R
                  R                  S5        [         R
                  R                  X45      R                  [         R                  5      n[         R
                  R                  SXCS	9R                  [         R                  5      nSUS'   [         R
                  R                  U5      R                  [         R                  5      n[        XVXpUS
9n[        UXVU/U/SS9  g )Nr   
   r/   r^   r*   rl   r6   r   r8   rm   (test_nllloss_NCd1d2d3_sum_weight_high_iir=   ro   )	r   r    rH   r#   r$   r   r   r   rI   s	            r+   1export_input_shape_is_NCd1d2d3_sum_weight_high_iiKNegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2d3_sum_weight_high_ii*  s    	xx|{{$$'0H% % 
 
		q		q$++BJJ7""11"7>>rxxHq	"))"**5'K&L(
$ 	6*12;		
r-    )returnN)__name__
__module____qualname____firstlineno__staticmethodrJ   rS   rW   r[   ra   re   ri   rp   ru   r{   r   r   r   r   r   r   r   r   __static_attributes__r   r-   r+   r/   r/   K   sh   
 
2 
 
2 
 
2 
 
2 
 
4 
 
4 
 
4 
 
: 
 
8 
 
2 
 
4 
 
8 
 
: 
 
: 
 
8 
 
< 
 
> 
 
r-   r/   )Nr   N)	numpyr   r@   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r,   r/   r   r-   r+   <module>r      s'   
   , .<~|
 |
r-   