
    SiL                    Z    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 jr	 " S S\5      r
g)	    )annotationsN)Base)expectc                H   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       -  $ 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                  t/var/www/html/ai-image-ml/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33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)NegativeLogLikelihoodLossM   c                    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noner0   r   r   r+   inputsoutputsr    r      r   highsizer   r    test_nllloss_NCr5   r6   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_NCN   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 )Nr3   r0   r   r   r+   r4   r   r8      rO   r   r9   r<   test_nllloss_NCd1d2r>   r@   	r    rI   r$   r%   dim1dim2r   r   rJ   s	            r,   export_input_shape_is_NCd1d26NegativeLogLikelihoodLoss.export_input_shape_is_NCd1d2h   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   r0   r   r   r+   r4   rN   r   r9   r<   "test_nllloss_NCd1d2_reduction_meanr>   r@   rQ   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   r0   r   r   r+   r4   rN   r   r9   r<   !test_nllloss_NCd1d2_reduction_sumr>   r@   rQ   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 )Nr3   r0   r   r   r   r+   r4   rN   r   r9   r<   test_nllloss_NCd1d2_with_weightr>   r@   
r    rI   r$   r%   rR   rS   r   r   r   rJ   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   r0   r_   r+   r4   rN   r   r9   r<   .test_nllloss_NCd1d2_with_weight_reduction_meanr>   r@   ra   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   r0   r_   r+   r4   rN   r   r9   r<   -test_nllloss_NCd1d2_with_weight_reduction_sumr>   r@   ra   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   r0   r_   r+   r5   r6   r    r!   rN   r9   r   r    r!   0test_nllloss_NCd1d2_with_weight_reduction_sum_iir>   r   rH   rA   rB   rC   rD   rE   rF   r   r   rG   r-   r   )r    r!   rI   r$   r%   rR   rS   r   r   r   rJ   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   r0   r   r   r+   rm   rN   r   r9   r    r!   /test_nllloss_NCd1d2_no_weight_reduction_mean_iir>   rp   )
r    r!   rI   r$   r%   rR   rS   r   r   rJ   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   r0   r   r   r+   r4   r   r8   r   r   r9   r<   test_nllloss_NCd1r>   r@   )r    rI   r$   r%   d1r   r   rJ   s           r,   export_input_shape_is_NCd14NegativeLogLikelihoodLoss.export_input_shape_is_NCd1B  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   r0   r_   r+   r4   ry   r   r9   r<   test_nllloss_NCd1_weightr>   r@   )	r    rI   r$   r%   r{   r   r   r   rJ   s	            r,   !export_input_shape_is_NCd1_weight;NegativeLogLikelihoodLoss.export_input_shape_is_NCd1_weight\  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   r0   r   r   r+   rm   ry   r   r9   rn   test_nllloss_NCd1_iir>   rp   )	r    r!   rI   r$   r%   r{   r   r   rJ   s	            r,   export_input_shape_is_NCd1_ii7NegativeLogLikelihoodLoss.export_input_shape_is_NCd1_iiw  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   r0   r_   r+   rm   ry   r   r9   rn   test_nllloss_NCd1_weight_iir>   rp   )
r    r!   rI   r$   r%   r{   r   r   r   rJ   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   r0   r_   r+   r4   r   r8   rO   rO   r8   r      r   r9   r<   %test_nllloss_NCd1d2d3d4d5_mean_weightr>   r@   )r    rI   r$   r%   rR   rS   dim3dim4dim5r   r   r   rJ   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 )Nr3   r0   r   r   r+   r4   r   r   r9   )r    (test_nllloss_NCd1d2d3d4d5_none_no_weightr>   r@   )r    rI   r$   r%   rR   rS   r   r   r   r   r   rJ   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   r0   r_   r+   rm   )r   r8   rO   r   r9   rn   )test_nllloss_NCd1_mean_weight_negative_iir>   rp   )
r    r!   rI   r$   r%   rR   r   r   r   rJ   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 )Nr3   r0   r   r   r+   rm   )r   r8   rO   rO   r8   r   r9   rt   0test_nllloss_NCd1d2d3_none_no_weight_negative_iir>   rp   )r    r!   rI   r$   r%   rR   rS   r   r   r   rJ   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   
   r0   r_   r+   rm   r7   r   r9   rn   (test_nllloss_NCd1d2d3_sum_weight_high_iir>   rp   )	r    r!   rI   r$   r%   r   r   r   rJ   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.    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodrK   rT   rX   r\   rb   rf   rj   rq   rv   r|   r   r   r   r   r   r   r   r   __static_attributes__r   r.   r,   r0   r0   M   sh   
 
2 
 
2 
 
2 
 
2 
 
4 
 
4 
 
4 
 
: 
 
8 
 
2 
 
4 
 
8 
 
: 
 
: 
 
8 
 
< 
 
> 
 
r.   r0   )Nr   N)
__future__r   numpyr   rA   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r-   r0   r   r.   r,   <module>r      s1    #   , . @D=@|
 |
r.   