
    
Ng}                      U d dl mZ d dlZd dlZd dlmZmZ d dlZd dl	Z	d dl
m
Z
 d dlZd dlmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& d dl'm(Z( ddZ)d  ej*                    D             Z+de,d<   ddZ- G d dej.                  Z/ G d de/          Z0e1dk    r ej2                     dS dS )    )annotationsN)AnySequence)parameterized)ONNX_ML
GraphProto
ModelProto	NodeProtoOperatorSetIdProtoSparseTensorProtoTensorProto	TypeProtoValueInfoProtocheckerdefshelpernumpy_helper)AI_ONNX_PREVIEW_TRAINING_DOMAINONNX_DOMAINONNX_ML_DOMAINOpSchemaSchemaError)make_empty_tensor_value_info	make_nodemake_opsetidmake_tensormake_tensor_sequence_value_infomake_tensor_value_info)parse_graphschemar   returnset[int]c                    t                      }t          | j        dd          D ]L}	 |                    t	          j        | j        || j                  j                   <# t          $ r Y  nw xY w|S )Nr   )	setrangesince_versionaddr   
get_schemanamedomainr   )r    versionsversions      Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/test/shape_inference_test.pyget_available_versionsr/   1   s    H-q"55  	LLWfmDDR     	 	 	EE	Os   8A!!
A/.A/c           	     `    i | ]+}|j         |j        t          t          |                    f,S  )r*   r+   	frozensetr/   ).0r    s     r.   
<dictcomp>r4   =   sD     : : : K&-+A&+I+I!J!JK: : :    z%dict[str, tuple[str, frozenset[int]]]ALL_OP_VERSIONSop_namestrlist[tuple[str, int]]c                    t           |          \  }|st          d|            t          |          }fd|D             S )Nz#No versions available for operator c                @    g | ]}|d k    st           k    d| |fS )   r-   )r   )r3   r-   r+   s     r.   
<listcomp>z$all_versions_for.<locals>.<listcomp>H   sL     	 	 	
  Q;;&K//  g	
 0//r5   )r6   
ValueErrorsorted)r7   versions_setr,   r+   s      @r.   all_versions_forrA   C   sl    *73FL JHwHHIIIl##H	 	 	 	
  	 	 	 	r5   c                  8    e Zd Z	 dddZddZddZddZd ZdS ) TestShapeInferenceHelperNseed_values5Sequence[str | tuple[str, TensorProto.DataType, Any]]nodeslist[NodeProto]
value_infolist[ValueInfoProto]initializerSequence[TensorProto] | Noner!   r   c                D   |g }d |D             }g }|D ]}t          |t                    r|d d         \  }}	t          | }
n|t          j        }	}t          |          }
||v r|                    |
           e|                    |
           |                    t          d|z   |	d                     |                    t          d|z   t          j        d                     t          dd|z   d|z   g|g          g|d d<   t          j
        |d	|g ||
          S )Nc                    h | ]	}|j         
S r1   r*   r3   xs     r.   	<setcomp>z7TestShapeInferenceHelper._make_graph.<locals>.<setcomp>^   s    <<<1<<<r5      SEED_r1   UNKNOWN_SHAPE_NReshaper   test)rJ   rH   )
isinstancetupler   r   	UNDEFINEDr   appendINT64r   r   
make_graph)selfrD   rF   rH   rJ   names_in_initializerinput_value_infos
seed_value	seed_name
proto_typeseed_value_infos              r.   _make_graphz$TestShapeInferenceHelper._make_graphU   s    K<<<<< & 	 	J*e,, K(22A2%	:"8*"E(2K4I:	">z"J"J000!((9999!!/222!((*7Y+>
BOO   "((*(94k6G    ! 9,.>.JK" bqb		  #!
 
 
 	
r5   graph_or_modelGraphProto | ModelProtokwargsr   r	   c                    |                     dd          }t          |t                    rd|d<   t          j        |fi |}n|}t
          j                            |d|          }t          j	        |           |S )N	data_propFz	onnx-testproducer_nameT)strict_moderj   )
poprX   r   r   
make_modelonnxshape_inferenceinfer_shapesr   check_model)r^   rf   rh   rj   
orig_modelinferred_models         r.   	_inferredz"TestShapeInferenceHelper._inferred   s     JJ{E22	nj11 	(&1F?#*>DDVDDJJ'J-::DI ; 
 
 	N+++r5   visNonec                  	 t          |t                    r|n|j        }d |D             		fd|j        D             |z   } | j        |fi |}t          |j        j                  }t          |d           }t          |d           }t          |          t          |          k    sJ t          ||          D ]%\  }}| 	                    |j
        |j
                   &d S )Nc                    h | ]	}|j         
S r1   rN   rO   s     r.   rQ   z<TestShapeInferenceHelper._assert_inferred.<locals>.<setcomp>   s    ,,,1,,,r5   c                &    g | ]}|j         v|S r1   rN   )r3   rP   names_in_viss     r.   r=   z=TestShapeInferenceHelper._assert_inferred.<locals>.<listcomp>   s%    IIIQafL.H.Hq.H.H.Hr5   c                    | j         S rU   rN   rP   s    r.   <lambda>z;TestShapeInferenceHelper._assert_inferred.<locals>.<lambda>   s     r5   )keyc                    | j         S rU   rN   r}   s    r.   r~   z;TestShapeInferenceHelper._assert_inferred.<locals>.<lambda>   s    !& r5   )rX   r   graphrH   ru   listr?   lenzip_compare_value_infostype)
r^   rf   rv   rh   r   rt   inferred_visv
inferred_vr{   s
            @r.   _assert_inferredz)TestShapeInferenceHelper._assert_inferred   s    .*55&NN% 	
 -,,,,IIII%*IIICO'AA&AAN0;<<S..///l0@0@AAA3xx3|,,,,,, l33 	? 	?MAz%%afjo>>>>	? 	?r5   vi_typer   inferred_vi_typec                0   |                     d          r|                     d          sJ |j                             d          sJ |j                             d          sJ |j        j        |j        j        k    sJ |j                             d          |j                             d          k    sJ |j                             d          rt          |j        j        j                  t          |j        j        j                  k    sJ t          |j        j        j                  D ]h\  }}|j        j        j        |         }|j        r"|j        |j        k    sJ d| d| d            E|j        |j        k    sJ d| d| d            gd S d S |                     d          rG|                     d          sJ |j	        j        }|j	        j        }| 
                    ||           d S |                     d          rG|                     d          sJ |j        j        }|j        j        }| 
                    ||           d S |                     d          r_|                     d          sJ |j        j        |j        j        k    sJ | 
                    |j        j        |j        j                   d S |t          j                    k    r|t          j                    k    sJ d S t#          dt%          |                    )	Ntensor_type	elem_typeshape
sequence_typeoptional_typemap_typez6Unrecognized value info type in _compare_value_infos: )HasFieldr   r   r   r   dim	enumerate	dim_param	dim_valuer   r   r   r   key_type
value_typero   r   NotImplementedErrorr8   )r^   r   r   dim_ir   inferred_dimviinferred_vis           r.   r   z-TestShapeInferenceHelper._compare_value_infos   s    M** .	#,,];;;;;&//<<<<<#/88EEEEE#-1A1M1WWWWW&// !-66w??@ @ @ @ "++G44 @7.4899S$06:> >     #,G,?,E,I"J"J 
@ 
@JE3#3#?#E#I%#PL} @M\-CCCC???+;??? DCCC  M\-CCCC???+;??? DCCC@ @
@ 
@ o.. 	#,,_=====&0B*8BK%%b+66666o.. 	#,,_=====&0B*8BK%%b+66666j)) 	#,,Z88888#,0@0IIIII%% +-=-F-Q     ((((#t~'7'7777777%H#g,,  r5   c                6    |rt          j        |           d S d S rU   )pytestskip)r^   	conditionreasons      r.   skipIfzTestShapeInferenceHelper.skipIf   s*     	 K	  	 r5   rU   )
rD   rE   rF   rG   rH   rI   rJ   rK   r!   r   )rf   rg   rh   r   r!   r	   )rf   rg   rv   rI   rh   r   r!   rw   )r   r   r   r   r!   rw   )__name__
__module____qualname__re   ru   r   r   r   r1   r5   r.   rC   rC   T   s         59/
 /
 /
 /
 /
b   ? ? ? ?*1 1 1 1f         r5   rC   c                  H2   e Zd Zd/dZd0dZ ej         ed	                    d/d
            Z ej         ed	                    d/d            Z	 ej         ed	                    d/d            Z
 ej         ed	                    d/d            Z ej         ed	                    d/d            Z ej         ed	                    d/d            Z ej         ed	                    d/d            Zd1dZ ej         ed                    d/d            Zd2dZ ej         ed                    d/d            Z ej         ed                    d/d            Z ej         ed                     ej        d          d/d                        Z ej         ed                    d/d            Z ej         ed                     d/d!            Z ej         ed                     d/d"            Z ej         ed                     d/d#            Z ej         ed                     d/d$            Z ej         ed                     d/d%            Z ej         ed&                    d/d'            Z ej         ed&                    d/d(            Z ej         ed&                    d/d)            Z ej         ed&                    d/d*            Z  ej         ed&                    d/d+            Z! ej         ed,                    d/d-            Z" ej         ed,                    d/d.            Z# ej         ed,                    d/d/            Z$ ej         ed,                    d/d0            Z% ej         ed,                    d/d1            Z& ej         ed,                    d/d2            Z' ej         ed,                    d/d3            Z( ej         ed,                    d/d4            Z) ej         ed5                    d/d6            Z* ej         ed5                    d/d7            Z+ ej         ed8                    d/d9            Z, ej         ed8                    d/d:            Z- ej         ed8                    d/d;            Z. ej         ed8                    d/d<            Z/ ej         ed8                    d/d=            Z0 ej         ed>                    d/d?            Z1 ej         ed>                    d/d@            Z2 ej         ed>                    d/dA            Z3 ej         ed>                    d/dB            Z4 ej         ed>                    d/dC            Z5 ej         ed>                    d/dD            Z6 ej         ed>                    d/dE            Z7 ej         ed>                    d/dF            Z8 ej         ed>                    d/dG            Z9 ej         ed>                    d/dH            Z: ej         ed>                    d/dI            Z; ej         ed>                    d/dJ            Z< ej         ed>                    d/dK            Z= ej         edL                    d/dM            Z> ej         edL                    d/dN            Z? ej         edL                    d/dO            Z@ ej         edL                    d/dP            ZA ej         edL                    d/dQ            ZB ej         edL                    d/dR            ZC ej         edS                    d/dT            ZD ej         edU                    d/dV            ZE ej         edU                    d/dW            ZF ej         edU                    d/dX            ZG ej         edY                    d/dZ            ZH ej         edY                    d/d[            ZI ej         ed\                    d/d]            ZJd/d^ZK ej         ed\                    d/d_            ZLd/d`ZM ej         eda                    d/db            ZN ej         eda                    d/dc            ZO ej         edd                    d/de            ZP ej         edd                    d/df            ZQ ej         edg                    d/dh            ZR ej         edi                    d/dj            ZS ej         edi                    d/dk            ZT ej         edl                    d/dm            ZU ej         edl                    d/dn            ZVd/doZWd/dpZXd/dqZYd/drZZd/dsZ[d/dtZ\d/duZ]d/dvZ^d/dwZ_d/dxZ`d/dyZad/dzZbd/d{Zcd/d|Zdd/d}Zed/d~Zfd/dZgd/dZhd/dZid/dZjd/dZkd/dZld/dZmd/dZnd/dZod/dZpd/dZqd/dZrd/dZsd/dZtd/dZud/dZvd/dZwd/dZxd/dZyd/dZzd/dZ{d/dZ|d/dZ}d/dZ~d/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd3dZd3dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd4dZd/dZd4dZd/dZ	 d5d6dÄZd/dĄZd4dńZd/dƄZd/dǄZd/dȄZd/dɄZd/dʄZd/d˄Zd/d̄Zd/d̈́Zd/d΄Zd/dτZd/dЄZd/dфZd/d҄Zd/dӄZd/dԄZd/dՄZd/dքZd/dׄZd/d؄Zd/dلZd/dڄZd/dۄZd/d܄Zd/d݄Zd/dބZd/d߄Zd/dZd/dZd/dZd/dZd/dZÐd/dZĐd/dZŐd/dZƐd/dZǐd/dZȐd/dZɐd/dZʐd/dZːd/dZ̐d/dZ͐d/dZΐd/dZϐd/dZАd/dZѐd/dZҐd/dZӐd/dZԐd/dZՐd/dZ֐d/dZאd/dZؐd/dZِd/dZڐd/dZېd/dZܐd/dZݐd/dZސd/d Zߐd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/d	Zd/d
Zd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/d Zd/d!Z d/d"Zd/d#Zd/d$Zd/d%Zd/d&Zd/d'Zd/d(Zd/d)Zd/d*Z	d/d+Z
d/d,Zd/d-Zd/d.Zd/d/Zd/d0Zd/d1Zd/d2Zd/d3Zd/d4Zd/d5Zd/d6Zd/d7Zd/d8Zd/d9Zd/d:Zd/d;Zd/d<Zd/d=Zd1d>Zd/d?Zd2d@Zd/dAZ d1dBZ!d/dCZ" ej        e#j$        j%        e#j$        j&        e#j$        j'        g          d/dD            Z(d/dEZ)d/dFZ*d/dGZ+d/dHZ,d/dIZ- ej        d          d/dJ            Z. ej        e#j$        j%        e#j$        j&        e#j$        j'        g          d/dK            Z/d/dLZ0d/dMZ1d/dNZ2d/dOZ3d/dPZ4d/dQZ5d/dRZ6d/dSZ7 ej8        e9dT          d/dU            Z: ej8        e9dT          d/dV            Z;d/dWZ<d/dXZ=d/dYZ> ej        e9r edZ          ng d[\          d/d]            Z? ej        e9r edZ          ng d[\          d/d^            Z@ ej        e9r edZ          ng d[\          d/d_            ZAd7deZBd/dfZCd/dgZDd/dhZEd/diZFd/djZGd/dkZHd/dlZId/dmZJd/dnZKd/doZLd/dpZMd/dqZNd/drZOd/dsZPd/dtZQd/duZRd/dvZSd/dwZTd/dxZUd/dyZVd/dzZWd/d{ZXd/d|ZYd/d}ZZd/d~Z[d/dZ\d/dZ]d/dZ^d/dZ_d/dZ`d/dZad/dZbd/dZcd/dZdd/dZed/dZfd/dZgd/dZhd/dZid/dZjd/dZkd/dZld/dZmd/dZnd/dZod/dZpd/dZqd/dZrd/dZsd/dZtd/dZud/dZvd/dZwd/dZxd/dZyd/dZzd/dZ{d/dZ|d/dZ}d/dZ~d/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd Zd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dÄZd/dĄZd/dńZd/dƄZd/dǄZd/dȄZd/dɄZd/dʄZd/d˄Zd/d̄Zd/d̈́Zd/d΄Zd/dτZd/dЄZd/dфZd/d҄Zd/dӄZd/dԄZ ej         edզ                    d/dք            Z ej         edզ                    d/dׄ            Z ej         edզ                    d/d؄            Z ej         edզ                    d/dل            Z ej         edզ                    d/dڄ            Zd/dۄZd/d܄Zd/d݄Zd/dބZd/d߄Zd/dZd/dZd/dZd/dZd/dZd/dZd/dZd/dZÐd ZĐd ZŐd ZƐd Zǐd ZȐd Zɐd Zʐd Z ej        d  e̐j         ed          d          D                       d8d            Z ej        d  e̐j         ed          d          D                       d8d             Z ej        g d          d9d            Z ej        g d          d9d            Z ej        ddg          d:d            Z ej        ddg          d:d            Z ej        ddg          d:d	            ZԐd/d
ZՐd/dZ֐d Zאd Zؐd Zِd Zڐd Zېd Zܐd Zݐd Zސd Z ej8        e9dT          d/d            Z ej8        e9dT          d/d            Z ej        e$j%        e$j        e$j&        g           ej8        e9dT          d/d                        Z ej        dgdz   ede$j        ddgdz             ede$j        ddgd z            d!dgd z   ede$j%        ddgdz             ede$j        ddgd z            d!dgd z   ede$j        d"dgd#z             ede$j        ddgd z            d!dgd z   ede$j        ddgdz             ede$j%        ddgd z            d!g           ej8        e9dT          d/d$                        Z ej8        e9dT          d/d%            Z ej8        e9dT          d/d&            Z ej8        e9dT          d/d'            Z ej8        e9dT          d/d(            Z ej8        e9dT          d/d)            Zd/d*Zd/d+Zd/d,Zd- Zd.S (;  TestShapeInferencer!   rw   c                    |                      dgg g           }|                     t          j        j        | j        |           d S )Ny)re   assertRaisesro   rp   InferenceErrorru   r^   r   s     r.   test_empty_graphz#TestShapeInference.test_empty_graph   sA      #B//$.=t~uUUUUUr5   opr8   rh   r   c                    |                      dt          j        dfgt          |ddfi |gg           }|                     |t          dt          j        d          g           d S )NrP         r<   r   re   r   FLOATr   r   r   )r^   r   rh   r   s       r.   _identity_propz!TestShapeInference._identity_prop   s      ;$j12r3..v../
 

 	*30A:NNO	
 	
 	
 	
 	
r5   	Transposec           
        |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S 	NXrR      r   r   Y   r   rR   permr   rR   r   opset_imports	re   r   r   r   r   r   r   r   r   r^   _r-   r   s       r.   test_transposez!TestShapeInference.test_transpose   s      ;$i01{SEC5yyyAAAB
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c           
     F   |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d           g          }|                     |t	          dt          j        d          gt          j        t          |          g           d S r   )	re   r   r   r   r   r   r   r   r   r   s       r.   test_transpose_preexistingz-TestShapeInference.test_transpose_preexisting   s      ;$i01{SEC5yyyAAAB#C):DAAB
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c                
   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr   r1   r   r   r   r   r   s       r.   test_transpose_scalarz(TestShapeInference.test_transpose_scalar  s      ;$b)*{SEC5112
 
 	#C):B??@!.{GDDE 	 	
 	
 	
 	
 	
r5   c           
     F   |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d          g          }|                     |t	          dt          j        d          gt          j        t          |          g	           d S )
Nr   r   r   r   r   r   )r   abr   r   )
re   r   r   r   r   rZ   r   r   r   r   r   s       r.   test_transpose_partialz)TestShapeInference.test_transpose_partial  s      ;$i01{SEC5yyyAAAB#C)>NNO
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d          g          }|                     t          j        j        | j	        |           d S )Nr   r   r   r   r   r   )r<   r<   r<   )
re   r   r   r   r   r   ro   rp   r   ru   r^   r   r   s      r.   *test_transpose_preexisting_incorrect_shapez=TestShapeInference.test_transpose_preexisting_incorrect_shape&  s      ;$i01{SEC5yyyAAAB#C):IFFG
 

 	$.=t~uUUUUUr5   c           
        |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d          g          }|                     t          j        j	        | j
        |           d S )Nr   r   r   r   r   r   r   )re   r   r   r   r   STRINGr   ro   rp   r   ru   r   s      r.   )test_transpose_preexisting_incorrect_typez<TestShapeInference.test_transpose_preexisting_incorrect_type/  s      ;$i01{SEC5yyyAAAB#C);YGGH
 

 	$.=t~uUUUUUr5   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     t
          j        j        | j        |           d S )Nr   r   r   r   )r   r   r   r   	re   r   r   r   r   ro   rp   r   ru   r   s      r.   &test_transpose_incorrect_repeated_permz9TestShapeInference.test_transpose_incorrect_repeated_perm8  sq      ;$i01{SEC5yyyAAAB
 

 	$.=t~uUUUUUr5   shape1Sequence[int]shape2c                8   t          j        t          j        t          j        |                                        |          t          j        t          j        |                                        |                    j        }|                     dt          j        |fdt          j        |fgt          dddgdg          gg           }| 
                    |t          dt          j        |          gt          j        t          |          g           d S NrP   r   MatMulzr   )npmatmularangeprodreshaper   re   r   r   r   r   r   r   r   r   r^   r-   r   r   expected_out_shaper   s         r.    _make_matmul_test_all_dims_knownz3TestShapeInference._make_matmul_test_all_dims_knownA  s     YIbgfoo&&..v66Ibgfoo&&..v66
 
  	   ;$f-[5F/OPx#scU334
 

 	#C):<NOOP!.{GDDE 	 	
 	
 	
 	
 	
r5   r   c                    |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd	           |                      |d
d	           |                      |dd           |                      |dd	           d S )NrR   r   rR   rR   r   )r<   rR   rR   r   r   rR   rR   r   r   r   rR   r   rR   r   )r   r   rR   r<   r   r   rR   r   r   rR   r   )r   r^   r   r-   s      r.   test_matmul_all_dims_knownz-TestShapeInference.test_matmul_all_dims_knownS  s   --gtTBBB--gvvFFF--gvvFFF--gvvFFF--gvvFFF--gtVDDD--gvtDDD--gy)LLL--gy)LLL--g|\RRR--gvyIIIIIr5   r   c                (   |                      dt          j        |fdt          j        |fgt          dddgdg          gg           }|                     |t          dt          j        |          gt          j        t          |          g           d S r   r   r   s         r.   _make_matmul_test_allow_unknownz2TestShapeInference._make_matmul_test_allow_unknownb  s       ;$f-[5F/OPx#scU334
 

 	#C):<NOOP!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |ddd           |                      |ddd           |                      |ddd           |                      |ddd           |                      |d	dd           |                      |d	d
d           |                      |ddd           |                      |ddd           |                      |dd d            |                      |d d d            d S NrU   r1   r   r   )rR   r   )r   r   )r   r   )r   N)Nr   r   )r   rR   r<   r   r   r<   )r   r   r   rR   r   r   r   r<   )r   r   s      r.   test_matmul_allow_unknownz,TestShapeInference.test_matmul_allow_unknownp  s   ,,WgwKKK,,WdGRHHH,,WdHfMMM,,WfhQQQ,,Wi8TTT,,WihWWW,,Y[	
 	
 	
 	,,\;	
 	
 	
 	,,WdD$GGG,,WdD$GGGGGr5   Castc           	     "   |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   rR   r   r   r  r   tor   )
re   r   r   r   UINT8r   r   r   r   r   r   s       r.   	test_castzTestShapeInference.test_cast  s      ;$i01vuse0ABBBC
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   zIssue #5960c           	         |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     t          j        j        | j	        |           d S )NrP   r  r  r   r  )
re   r   r   r   
COMPLEX128r   ro   rp   r   ru   r   s       r.   test_cast_to_complexz'TestShapeInference.test_cast_to_complex  sr    
   ;$i01vuse0FGGGH
 
 	$.=t~uUUUUUr5   CastLikec                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r  tNr  r   r   )
re   r   r   FLOAT16r   r   r   r   r   r   r   s       r.   test_cast_likez!TestShapeInference.test_cast_like  s      ;$i038KV2TUzC:u556
 

 	#C)<iHHI!.{GDDE 	 	
 	
 	
 	
 	
r5   Col2Imc                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd	          t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Ninput)r   r<   r<   output_shaper   kernel_shaper  r  r  r  outputr<   r<   r   r<   rJ   r   r   r<   r<   r   re   r   r   r\   r   r   r   r   r   r   r   r   s       r.   test_col2imzTestShapeInference.test_col2im  s      ++Y7!2D9!2D9 GGG( 
 NK,=tVLLNK,=tVLL ! 
 
" 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	d	g
          gg t          dt          j        dd          t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   	   r   r  r   r  r  r  r  rR   stridesr  r   r   r  r  r   r  r   s       r.   test_col2im_stridesz&TestShapeInference.test_col2im_strides  s      ++Y7!2D9!2D9 ===JF	   NK,=tVLLNK,=tVLL ! 
 
( 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgg d	
          gg t          dt          j        dd          t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   r<      r  r   r  r  r  r  )r   r   r   r   padsr  r  r  r  r   r  r   s       r.   test_col2im_padsz#TestShapeInference.test_col2im_pads  s      ++Z8!2D9!2D9 ===J%	   NK,=tVLLNK,=tVLL ! 
 
( 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	d
g          gg t          dt          j        dd          t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   r   r<   r  r   r  r  r  r  r   r<   	dilations   r.  rR   rR   r  )r   r   r.  r.  r   r  r   s       r.   test_col2im_dilationsz(TestShapeInference.test_col2im_dilations  s      ++Y7!2D9!2D9 ===J !f	   NK,=tVLLNK,=tVLL ! 
 
( 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd	          t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   
      r  r   r  r  r  r  r   r   r<   )r   r   r<   r  r   rR   r   r   r<   r   r  r   s       r.   test_col2im_5dz!TestShapeInference.test_col2im_5d  s      ++[9!2D9!2D9 GGG( 
 NK,=tYOONK,=tYOO ! 
 
" 	#Hk.?QQR!.{GDDE 	 	
 	
 	
 	
 	
r5   Concatc           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          gt          j        t          |          g
           d S )NrP   r  r   )   r   r   r7  r   r   axis)r   r   r   r   r   r   s       r.   test_concatzTestShapeInference.test_concat.        ;$i038I92UVx#scU;;;<
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfddt          j        dfgt          dg ddgd	
          gg           }|                     t
          j        j        | j        |           d S )NrP   r  r   r   NNNr7  rP   r   r   outr   r:  r   r   s      r.   test_concat_missing_shapez,TestShapeInference.test_concat_missing_shape;  s      k'3k');<
 x5'BBBC
 
 	$.=t~uUUUUUr5   c           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrP   rR   rR   rR   r   r7  r   rR   r:  )rR   rR   r   r   r   r   s       r.   test_concat_3d_axis_2z(TestShapeInference.test_concat_3d_axis_2H  r=  r5   c           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          gt          j        t          |          g
           d S )NrP   r   rR   r   )r   r   r7  r   r   r:  )r   r<   r   r   r   s       r.   test_concat_paramz$TestShapeInference.test_concat_paramU  s      ;$h/#{7H(1STx#scU;;;<
 

 	#C):HEEF!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   rG  r7  r   r   r:  r   r   r   s       r.   test_concat_param_single_inputz1TestShapeInference.test_concat_param_single_inputb  s      ;$h/0x#A6667
 

 	#C):HEEF!.{GDDE 	 	
 	
 	
 	
 	
r5   rV   c                \   |                      |dk     d           |                     dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )N   z'Rank inference is added from Version 14rP   r  r   r   rV   r   NNr   )r   re   r   r  r\   r   r   r   r   r   r   r   s       r.   %test_reshape_dynamic_shape_known_rankz8TestShapeInference.test_reshape_dynamic_shape_known_ranko  s    GbL"KLLL  ;$i07K<Mt2TUy3.3%889
 

 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d           gt          j        t          |          g           d S )NrP   r  r   MrV   r   r   
re   r   r  r\   r   r   r   r   r   r   r   s       r.   #test_reshape_dynamic_shape_symbolicz6TestShapeInference.test_reshape_dynamic_shape_symbolic}  s      ;$i07K<Mv2VWy3.3%889
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   c                (   |                      dt          j        dfdt          j        d fgt	          dddgdg          gg           }|                     |t          dt          j        d           gt          j        t          |          g           d S )NrP   r  r   rV   r   r   rR  r   s       r.   "test_reshape_dynamic_unknown_shapez5TestShapeInference.test_reshape_dynamic_unknown_shape  s      ;$i07K<Mt2TUy3.3%889
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g	           d S )
NrP   r  r   r   rV   r   r      r  r   re   r   r  r\   r   r   r   r   r   r   r   r   s       r.   test_reshape_static_shapez,TestShapeInference.test_reshape_static_shape  s      ;$i07K<Mt2TUy3.3%889$Wk.?vNNO	 ! 
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )NrP   r  r   r   rV   r   )r   r   r$   r  r   r   rY  r   s       r.   "test_reshape_static_shape_inferredz5TestShapeInference.test_reshape_static_shape_inferred  s      ;$i07K<Mt2TUy3.3%889$Wk.?zRRS	 ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g	           d S )
NrP   r   r   r   r   r   rV   r   r   r   r   r  r   rY  r   s       r.   test_reshape_static_shape_zeroz1TestShapeInference.test_reshape_static_shape_zero  s      ;$i07K<Mt2TUy3.3%889$Wk.?yQQR	 ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfgt          dddgdgd	
          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )NrL  z"allowzero is added from Version 14rP   r   r   r   r   r   rV   r   r   	allowzeror_  r  r   )r   re   r   r  r\   r   r   r   r   r   r   r   r   s       r.   #test_reshape_static_shape_allowzeroz6TestShapeInference.test_reshape_static_shape_allowzero  s    GbL"FGGG  k'3++T2 y3.3%1EEEF$Wk.?yQQR ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          dg dgt	          dt          j        dd                    t          dddgd	g          gg           }|                     |t          dt          j        d          t          d	t          j        d          gt          j	        t          |          g
           d S )NrP   r  Constantr   r   rW  valuerV   r   r   )re   r   r  r   r   r\   r   r   r   r   r   r   s       r.   "test_reshape_static_shape_constantz5TestShapeInference.test_reshape_static_shape_constant  s      ;$i01I%g{/@$OO	   )c7^cU;; 
 
 	&w0A4HH&sK,=vFF ".{GDDE 	 	
 	
 	
 	
 	
r5   Upsamplec                    dk    r                      dt          j        dfgt          ddgdgg d          gg                                t          dt          j        d          gt          j        t                    g	           d S                       dt          j        dfd
t          j	        dfgt          ddd
gdg          gg t          d
t          j	        dd          g           fd}dk    r |             d S                      t          j        j                  5 } |             d d d            n# 1 swxY w Y   |j        }dt!          |          v sJ d S )Nr9  rP   rR   r   r   r<   rk  r         ?皙??ffffff?scalesrR   r   r   r   r   rt  r   r  c                                           t          dt          j        d          gt	          j        t                    g           d S Nr   ru  r   r   r   r   INT32r   r   r   r   r^   r-   s   r.   call_inferencez8TestShapeInference.test_upsample.<locals>.call_inference  U    %%+C1BLQQR#)#6{G#L#L"M &     r5   r   Upsample is deprecated)re   r   rz  r   r   r   r   r   r   r   r   r   ro   r   ValidationError	exceptionr8   r^   r   r-   r|  cmr  r   s   ` `   @r.   test_upsamplez TestShapeInference.test_upsample  s   a<<$${(,78:use<P<P<PQQQR E
 !!'[->MMN%2;HHI "      $$++\:{0$7 :X>>?+*;TCWXX % 
 
E       !||      &&t|'CDD %"N$$$% % % % % % % % % % % % % % %L	/3y>>AAAAAAs   2E		EEc                4    dk    r                      dt          j        dfgt          ddgdgg d          gg                                t          dt          j        d          gt          j        t                    g	           d S                       dt          j        d
fdt          j	        dfgt          dddgdg          gg t          dt          j	        dt          j        g dd                                          d          g           fd}dk    r |             d S                      t          j        j                  5 } |             d d d            n# 1 swxY w Y   |j        }dt'          |          v sJ d S )Nr9  rP   r   rk  r          @rp  gffffff@rr  rs  rR   r   r   r   r   rm  rt  rv  rn  <f4dtypeTvalsrawr  c                                           t          dt          j        d          gt	          j        t                    g           d S rx  ry  r{  s   r.   r|  zATestShapeInference.test_upsample_raw_data.<locals>.call_inference5  r}  r5   r   r~  )re   r   rz  r   r   r   r   r   r   r   r   r   arraytobytesr   ro   r   r  r  r8   r  s   ` `   @r.   test_upsample_raw_dataz)TestShapeInference.test_upsample_raw_data  s0   a<<$${(,78:use<P<P<PQQQR E
 !!'[->MMN%2;HHI "      $$++\:{0$7 :X>>? #)X&:&:&:%HHHPPRR    %  E$       !||      &&t|'CDD %"N$$$% % % % % % % % % % % % % % %L	/3y>>AAAAAAs   E33E7:E7Expandc                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )NrP   r   r   r   r   r  r   )rR   r   r.  r  rR   r   r.  r   re   r   rz  r\   r   r   r   r   r   r   r   r   s       r.   test_expandzTestShapeInference.test_expandE  s      ;$f-9JD/QRx#w#778$Wk.?yQQR	 ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g	           d S )
NrP   r1   r   r   r  r   )r   rX  r  r   r  r   s       r.   test_expand_scalar_inputz+TestShapeInference.test_expand_scalar_inputS  s      ;$b)G[5F+MNx#w#778$Wk.?vNNO	 ! 
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dt          j        ddgd	
                                          d          g          }| 	                    |t          dt          j        d          gt          j        t          |          g           d S )NrP   r  r   r   r  r   r   r   <i8r  Tr  r  r   r   r   )re   r   rz  r\   r   r   r   r  r  r   r   r   r   r   r   s       r.   test_expand_raw_dataz'TestShapeInference.test_expand_raw_dataa  s      ;$f-9JD/QRx#w#778%1a&666>>@@  	 ! 
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg g           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrP   r   rR   Nr   r   r  r   r  )NrR   Nr   
re   r   rz  r\   r   r   r   r   r   r   r   s       r.   test_expand_dynamic_shapez,TestShapeInference.test_expand_dynamic_shapew  s      k'6++T2 x#w#778 ! 
 
 	#C):OLLM!.{GDDE 	 	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg g           }|                     |t          dt          j        d           gt          j        t          |          g           d S )	NrP   r  r   )unk__0r  r   r  r   r  r   s       r.   test_expand_symbolic_shapez-TestShapeInference.test_expand_symbolic_shape  s      k'6++[9 x#w#778 ! 
 
 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   Resizec                   |dk    r|                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g	          }|                     |t          dt          j        d
          gt          j	        t          |          g           d S |dk    r|                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd          g	          }|                     |t          dt          j        d          gt          j	        t          |          g           d S |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd          g	          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr2  rP   rm  rt  rv  r  r   rn  r  ru  r      roirX  sizesrP   r  rt  r  )r   r<   r.  r9  rP   r   r  )re   r   rz  r   r   r   r   r   r   r   r   r\   r   s       r.   test_resize_sizez#TestShapeInference.test_resize_size  s   b==$$++\:{0$7 8c8_se<<=+*;TCWXX % 
 
E !!'[->MMN%2;HHI "     
 ]]$$++\:K-t4{0$7k/6	 8%D%D%DseLLM):D,OO %  E !!'[->MMN%2;HHI "      $$++\:K-t4k/6
 8%>%>%>FFG):D,OO %  E !!'[->MMN%2;HHI "     r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )N   axes is from Version 18rP   rm  r  rv  r  r   r  r  r   r   axesr.  r9  r  )rR   r   r.  r9  r   r   re   r   rz  r   r\   r   r   r   r   r   r   r   r   s       r.   test_resize_size_axes_2_3z,TestShapeInference.test_resize_size_axes_2_3      GbL";<<<  k'6)40++T2
 x!:!:!:SEOOOP$Wk.?vNNO ! 	
 	
 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rP   rm  r  rv  r  r   r  r  r   r   rR   r  r  r  )rR   r   r9  r.  r   r  r   s       r.   test_resize_size_axes_3_2z,TestShapeInference.test_resize_size_axes_3_2  r  r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  +keep_aspect_ratio_policy is from Version 18rP   r   r<   r  rv  r  r   r  r  r   
not_largerkeep_aspect_ratio_policyr-  r  )r   r.  r   r  r   s       r.   test_resize_size_not_largerz.TestShapeInference.test_resize_size_not_larger  s   bL9	
 	
 	
   k'0)40++T2 ---E-9	   $Wk.?vNNO ! 
 
" 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgdd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  3axes & keep_aspect_ratio_policy are from Version 18rP   rm  r  rv  r  r   r  r  r   r   r  r  r  r-  r  )rR   r   r   r.  r   r  r   s       r.   $test_resize_size_axes_2_3_not_largerz7TestShapeInference.test_resize_size_axes_2_3_not_larger  s
   bLA	
 	
 	
   k'6)40++T2 ---E-9   $Wk.?vNNO! ! 
 
$ 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rP   r  r  rv  r  r   r  r  r   not_smallerr  r-  r  )r.  r2  r   r  r   s       r.   test_resize_size_not_smallerz/TestShapeInference.test_resize_size_not_smaller4  s   bL9	
 	
 	
   k'0)40++T2 ---E-:	   $Wk.?vNNO ! 
 
" 	#C):GDDE!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgdd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rP   rm  r  rv  r  r   r  r  r   r   r  r  r-  r  )rR   r   r.  r2  r   r  r   s       r.   %test_resize_size_axes_2_3_not_smallerz8TestShapeInference.test_resize_size_axes_2_3_not_smallerQ  s
   bLA	
 	
 	
   k'6)40++T2 ---E-:   $Wk.?vNNO! ! 
 
$ 	#C):MJJK!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )Nr  roi input is from Version 11rP   rm  r  r  rt  rv  r  rP   r  rt  r   rn  r  ru  r   r   re   r   rz  r   r   r   r   r   r   r   r   r   s       r.   test_resize_scalez$TestShapeInference.test_resize_scaleo  s    GbL"@AAA  k'6)40;,d3
 x!7!7!7#??@Hk&7?STT ! 
 
 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )Nr  r  rP   rm  r  r  rt  r   r  r  r   r   r  )rq  rr  r  ru  r   r  r   s       r.   test_resize_scale_axes_2_3z-TestShapeInference.test_resize_scale_axes_2_3      GbL";<<<  k'6)40;,d3
 x!7!7!7#VLLLM$X{/@$
SST ! 	
 	
 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )Nr  r  rP   rm  r  r  rt  r   r  r  r   r  r  )rr  rq  r  ru  r   r  r   s       r.   test_resize_scale_axes_3_2z-TestShapeInference.test_resize_scale_axes_3_2  r  r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          gg t          dt          j        dt          j        g dd          	                                d          g          }| 
                    |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rP   r   r  r  rt  rv  r  r  r   r  r  r  Tr  r  r  r   )r   re   r   rz  r   r   r   r   r  r  r   r   r   r   r   r   s       r.   test_resize_scale_raw_dataz-TestShapeInference.test_resize_scale_raw_data  s    GbL"@AAA  k'6)40;,d3
 x!7!7!7#??@%"6"6"6eDDDLLNN   ! 
 
$ 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfd	t          j        d
fgt          dg ddg          gg t          dt          j        dt          j	        g dd          
                                d          t          d	t          j        d
t          j	        g d          
                                d          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rP   r   r  r  rt  rv  r  r   r  r  r   r  r  r  Tr  r  r  r  r   )r   re   r   rz  r   r\   r   r   r   r  r  r   r   r   r   r   r   s       r.   +test_resize_scale_and_size_but_one_is_emptyz>TestShapeInference.test_resize_scale_and_size_but_one_is_empty  sn   GbL"@AAA  k'6)40;,d3++T2	 x!@!@!@3%HHI%"6"6"6eDDDLLNN   %"E222::<<   ! 
 
4 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |                      |dk    d           |                     dt          j        dfdt          j        dfdt          j        dfd	t          j        d
fgt          dg ddg          gg t          d	t          j        d
t          j	        g dd          
                                d          g          }|                     |t          dt          j        d          gt          j        d|          g           d S )Nr  z#This test only works for Version 11rP   r   r  r  rt  r  r  rv  r  r  r   )rR   r.  rX  r2  r  r  Tr  r  r  r   )r   re   r   rz  r   r\   r   r   r   r  r  r   r   r   r   r   s       r.   #test_resize_opset11_scales_is_emptyz6TestShapeInference.test_resize_opset11_scales_is_empty  s0   GrM#HIII   k'6)40;,d3++T2	 x!@!@!@3%HHI%%U  gii  
 ! 
 
, 	#C):MJJK!.r7;;< 	 	
 	
 	
 	
 	
r5   Shapec                
   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r  r  r   r   r   
re   r   r   r   r   r   r\   r   r   r   r   s       r.   
test_shapezTestShapeInference.test_shape	  s      ;$i01wu--.
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr&  !start and end are from Version 15rP   r  r  r   r   startr   r   r   re   r   r   r   r   r   r\   r   r   r   r   s       r.   test_shape_start_1z%TestShapeInference.test_shape_start_1  s    GbL"EFFF  ;$i01wuA6667
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr&  r  rP   r  r  r   r   endr   r   r  r   s       r.   test_shape_end_1z#TestShapeInference.test_shape_end_1$  s    GbL"EFFF  ;$i01wu!4445
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr&  r  rP   r  r  r   r$   r  r  r   r  r   s       r.   test_shape_negative_startz,TestShapeInference.test_shape_negative_start2      GbL"EFFF  ;$i01wuB7778
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr&  r  rP   r  r  r   r  r   r   r  r   s       r.   test_shape_clip1z#TestShapeInference.test_shape_clip1@  r  r5   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr&  r  rP   r  r  r   r2  r  r   r   r  r   s       r.   test_shape_clip2z#TestShapeInference.test_shape_clip2N  s    GbL"EFFF  ;$i01wu"5556
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r5   Sizec                
   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r  r  r   r1   r   r  r   s       r.   	test_sizezTestShapeInference.test_size\  s      ;$i01IfsecU4S4S3TVX
 
 	#C):B??@!.{GDDE 	 	
 	
 	
 	
 	
r5   Gatherc                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )	NrP   r   r   ir   r  r   r   r   
re   r   r   r\   r   r   r   r   r   r   r   s       r.   test_gatherzTestShapeInference.test_gatherg  s      ;$f-[5F/MNx#scU334
 

 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d	          gt          j        t          |          g
           d S )NrP   )r   r   r<   r  r   r  r   r   r:  )r   r   rR   r<   r   r  r   s       r.   test_gather_axis1z$TestShapeInference.test_gather_axis1t  s      ;$i038I62RSx#scU;;;<
 

 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r5   c                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r   r  r1   r  r   r   r  r   s       r.   test_gather_into_scalarz*TestShapeInference.test_gather_into_scalar  s      ;$d+c;3Db-IJx#scU334
 

 	#C):B??@!.{GDDE 	 	
 	
 	
 	
 	
r5   GatherElementsc           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )	NrP   r/  r  r   r   r   r:  r   r  r   s       r.   test_gather_elementsz'TestShapeInference.test_gather_elements        ;$f-[5F/OP'#scUCCCD
 

 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrP   r#  r  r   r   r   r   r:  r   r  r   s       r.   test_gather_elements_axis0z-TestShapeInference.test_gather_elements_axis0  r  r5   Scatterc                   |dk    rm|                      t          j        j                  5 }|                     |           d d d            n# 1 swxY w Y   |j        }dt          |          v sJ d S |                     |           d S Nr  zScatter is deprecated)r   ro   r   r  _test_scatterr  r8   r^   r   r-   r  r  s        r.   test_scatterzTestShapeInference.test_scatter  s    b==""4<#?@@ ,B""7+++, , , , , , , , , , , , , , ,I*c)nn<<<<<<w'''''   AAAc                D   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrP   r#  r  r   ur  rP   r  r  r   r   r  r^   r-   r   s      r.   r	  z TestShapeInference._test_scatter  s      k'0k'0k'0
 y///C599:
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c                   |dk    rm|                      t          j        j                  5 }|                     |           d d d            n# 1 swxY w Y   |j        }dt          |          v sJ d S |                     |           d S r  )r   ro   r   r  _test_scatter_axis1r  r8   r
  s        r.   test_scatter_axis1z%TestShapeInference.test_scatter_axis1  s    b==""4<#?@@ 2B((1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2I*c)nn<<<<<<$$W-----r  c           	     H   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	
          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r  r  r   r  r  r  r   r   r:  r   r  r  s      r.   r  z&TestShapeInference._test_scatter_axis1  s      k'0k'0k'0
 y///C5qAAAB
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   ScatterElementsc                D   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrP   r#  r  r   r  r  r  r   r   r  r   s       r.   test_scatter_elementsz(TestShapeInference.test_scatter_elements  s      k'0k'0k'0
 (///C5AAB
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     H   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	
          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r  r  r   r  r  r  r   r   r:  r   r  r   s       r.   test_scatter_elements_axis1z.TestShapeInference.test_scatter_elements_axis1  s      k'0k'0k'0
 (///C5qIIIJ
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r5   	ScatterNDc                D   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          gg           }|                     |t          d	t          j        d          gt          j        t          |          g
           d S )NrP   r   r<   r.  indicesr   r   rR   updatesr   r   r.  r  )rP   r  r  r   r   r  r   s       r.   test_scatterndz!TestShapeInference.test_scatternd   s      k'3K-y9K-y9
 {$?$?$?#GGH
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          d	ddgd
g          t	          dg ddg          gg           }|                     |t          d
t          j        d           t          dt          j        d           gt          j        t          |          g           d S )NrP   r  r  r  r  r   r   rP  rV   
x_reshapedr  )r#  r  r  r   r   r  r   s       r.   test_scatternd_noshapez)TestShapeInference.test_scatternd_noshape  s       k'3K-y9K-y9++V4	 )c7^l^DD+'K'K'KcUSS 
 
 	&|[5FMM&sK,=tDD ".{GDDE 	 	
 	
 	
 	
 	
r5   Squeezec                x   |dk    r|                      dt          j        dfgt          dddg d          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S |                      dt          j        dfd
t          j	        dfgt          ddd
gd          gg t          d
t          j	        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g	           d S )Nr  rP   r   r   r   r   rR   r   r%  r   )r   rR   r   r<   r  r  r   r  rv  r  )re   r   r   r   r   r   r   r   r   r\   r   r   s       r.   test_squeezezTestShapeInference.test_squeeze+  sg   b==$${(*<=>9c3\\\BBBC E
 !!'[->GGH%2;HHI "      $$++-?@[.5 9sFmS99:(94NN % 
 
E !!'[->GGH%2;HHI "     r5   StringConcatc                &   |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r   r   r)  r   r   	re   r   r   r   r   r   r   r   r   r   s       r.   test_stringconcatz$TestShapeInference.test_stringconcatJ        k()4k()4 ~Sz3778
 
 	#C);YGGH!.{GDDE 	 	
 	
 	
 	
 	
r5   c                &   |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r   r   )r   r   r   r)  r   r   r+  r   s       r.   test_stringconcat_broadcastingz1TestShapeInference.test_stringconcat_broadcastingZ  r-  r5   RegexFullMatchc           	        |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   ru  r0  r   ^[A-Z][a-z]*$patternr   
re   r   r   r   r   r   BOOLr   r   r   r   s       r.   test_regex_full_matchz(TestShapeInference.test_regex_full_matchj  s      ;%|45'#?OPPPQ
 

 	#C)9<HHI!.{GDDE 	 	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrP   r1   r0  r   r2  r3  r   r5  r   s       r.   !test_regex_full_match_empty_shapez4TestShapeInference.test_regex_full_match_empty_shapew  s      ;%r*+'#?OPPPQ
 

 	#C)92>>?!.{GDDE 	 	
 	
 	
 	
 	
r5   c                
   |                      dt          j        dfgt          ddgd          gg           }t	                      }d|_        d|_        |                     |t          dt          j        d          g           d S )NrP   r'  r%  r   r  r  r  )	re   r   r   r   r   r+   r-   r   r   r^   r   operatorsetids      r.   test_squeeze_no_axes_opset11z/TestShapeInference.test_squeeze_no_axes_opset11  s      k');< y3%--.
 
 +,,! "*30A6JJK	
 	
 	
 	
 	
r5   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrP   r  r  rv  	Unsqueezer   )r   r   r   r<   r  )r   r   r   r   rR   r   re   r   r   r\   r   r   r   r   r   s     r.   test_unsqueeze_regularz)TestShapeInference.test_unsqueeze_regular  s      ;$f-8I4/PQ{S&M3778$V[->lSST	 ! 
 
 	*30ACUVVW	
 	
 	
 	
 	
r5   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrP   r4  r  r   r?  r   )r   r   r  r   r   r   r<   r   r@  r   s     r.   test_unsqueeze_unsorted_axesz/TestShapeInference.test_unsqueeze_unsorted_axes  s      ;$i06;;Ld2ST{S&M3778$V[->fMMN	 ! 
 
 	*30A?SST	
 	
 	
 	
 	
r5   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrP   r4  r  r   r?  r   )r   r$   r  rC  r@  r   s     r.   test_unsqueeze_negative_axesz/TestShapeInference.test_unsqueeze_negative_axes  s      ;$i06;;Ld2ST{S&M3778$V[->gNNO	 ! 
 
 	*30A?SST	
 	
 	
 	
 	
r5   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          g           d S )	NrP   r1   r  r?  r   )r$   r  r  r@  r   s     r.   test_unsqueeze_scalarz(TestShapeInference.test_unsqueeze_scalar  s      ;$b)FK4Er+JK{S&M3778$V[->EJJK	 ! 
 
 	*30A4HHI	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d	          g           d S )
NrP   )r   rR   r   startsr  endsSlicerP   rJ  rK  r   r?  re   r   r   r\   r   r   r   r   s     r.   test_slice_without_input_shapez1TestShapeInference.test_slice_without_input_shape  s      k'5;,d3*D1
 w 7 7 7#??@
 
 	*30ACUVVW	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dt          j        d	d
gd                                          d          t          dt          j        dd          g          }| 	                    |t          dt          j        d          g           d S )NrP   r  rJ  r   rK  rL  rM  r   r   r   r  r  Tr  r/  r  r   re   r   r   r\   r   r   r   r  r  r   r   r   s     r.   test_slice_with_input_shapez.TestShapeInference.test_slice_with_input_shape  s     k'0;,d3*D1
 w 7 7 7#??@%1a&666>>@@   FK$5tVDD	 ! 
 
& 	*30A6JJK	
 	
 	
 	
 	
r5   c                ~   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd	          t          dt          j        dd
          g          }|                     |t          dt          j        d          g           d S )NrP   )r   r   r   rJ  r   rK  rL  rM  r   )r   r   r   r^  r  )r   Nr   r@  r   s     r.   1test_slice_with_input_shape_containing_dim_paramszDTestShapeInference.test_slice_with_input_shape_containing_dim_params  s      k'5;,d3*D1
 w 7 7 7#??@Hk&7yIIFK$5tYGG ! 
 
 	e&<S+BSUa&b&b%cdddddr5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        d fdt          j        dfgt	          dg d	d
g          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrP   r<   r.  r9  rJ  r   rK  r  stepsrL  rP   rJ  rK  r  rW  r   rb  )rR   r.  r.  )r   r   r   r  r   rR   rR   r@  r   s     r.   !test_slice_with_input_shape_stepsz4TestShapeInference.test_slice_with_input_shape_steps  s      k'3;,d3*D1*T3++T2 w H H H3%PPQHk&7yIIFK$5tYGGG[%6iHH ! 
 
  	*30A9MMN	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        d fgt	          dg d	d
g          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrP   )r   r.  rR   rJ  r   rK  r  rW  rL  rX  r   r   r   r/  )r   rR   r  )r   r.  rR   r@  r   s     r.    test_slice_with_input_shape_axesz3TestShapeInference.test_slice_with_input_shape_axes
  s      k'3;,d3*D1*D1++d4 w H H H3%PPQHk&7vFFFK$5tVDDFK$5tVDD ! 
 
  	*30A9MMN	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd
          g          }|                     |t          d	t          j        d          g           d S )NrP   r  rJ  r   rK  r  rL  rP   rJ  rK  r  r   r\  r/  r  r   r@  r   s     r.   test_slice_unsorted_axesz+TestShapeInference.test_slice_unsorted_axes  s      k'0;,d3*D1*D1	 w ? ? ?EEFHk&7vFFFK$5tVDDFK$5tVDD ! 
 
 	*30A6JJK	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S NrP   r  rJ  r   rK  r  rL  r_  r   r\  )   iU  r   r   r  r/  r@  r   s     r.   test_slice_giant_numberz*TestShapeInference.test_slice_giant_number3  s      k'0;,d3*D1*D1	 w ? ? ?EEFHk&7vFFFK$5t\JJFK$5tVDD ! 
 
 	*30A6JJK	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrP   r  rJ  r   rK  r  rW  rL  rX  r   r\  )rc  rc  rd  )r   rc  r  r   r@  r   s     r.   test_slice_giant_stepz(TestShapeInference.test_slice_giant_stepG  s     k'0;,d3*D1*D1++T2 w H H H#NNOHk&7vFFFK$5tZHHFK$5tVDDG[%6hGG	 ! 
 
" 	*30A6JJK	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )NrP   r  rJ  r   rK  r  rL  r_  r   r\  )rc  r$   rd  r  r   r@  r   s     r.   test_slice_negative_endz*TestShapeInference.test_slice_negative_end]  s      k'0;,d3*D1*D1	 w ? ? ?EEFHk&7vFFK-tY  FK$5tVDD ! 
 
" 	e&<S+BSU[&\&\%]^^^^^r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )NrP   r  rJ  r   rK  r  rL  r_  r   )r   )rc  r   rd  r  r/  r@  r   s     r.   test_slice_negative_startz,TestShapeInference.test_slice_negative_startq  s      k'0;,d3*D1*D1	 w ? ? ?EEFk/w  FK$5tXFFFK$5tVDD ! 
 
" 	e&<S+BSU[&\&\%]^^^^^r5   c                    |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrP   r  rJ  r   rK  r  rW  rL  rX  r   r   r   )rc  r   rd  )r   r$   r  r   r@  r   s     r.   test_slice_negative_stepz+TestShapeInference.test_slice_negative_step  s     k'0;,d3*D1*D1++T2 w H H H#NNOk/v  FK$5tXFFFK$5tVDDG[%6gFF ! 
 
& 	e&<S+BSU[&\&\%]^^^^^r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd          t          dt          j        dd
          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )NrP   rG  rJ  r  rK  r  rL  r_  r   )rc  r  )r   r   r@  r   s     r.   test_slice_variable_copyz+TestShapeInference.test_slice_variable_copy  s      k'2;,d3*D1*D1	 w ? ? ?EEFHk&7tDDFK$5tVDDFK$5tTBB ! 
 
 	e&<S+BSU]&^&^%_`````r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S rb  )re   r   DOUBLErz  r   r   r   r   r   s     r.   test_slice_variable_input_typesz2TestShapeInference.test_slice_variable_input_types  s      k(&1;,d3*D1*D1	 w ? ? ?EEFHk&7vFFFK$5t\JJFK$5tVDD ! 
 
 	*30BFKKL	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt          dddgdg dg dg d	
          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r   r<   r.  r9  r   r<   r   rR   r   r   Convr   r   r   r   r   r   r   rY  r   r   rR   r(  r,  r"  r   r<   r   r   r   r   r   s     r.   	test_convzTestShapeInference.test_conv  s      k'9k'9
 #J+++'ii%II  	 
 
" 	*30A?SST	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgddg          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   )2   r   rR   rx  r   r   r+  )r   r  r   r   r   s     r.   test_conv_1d_simplez&TestShapeInference.test_conv_1d_simple  s      k'4k'4 vSz31#>>>?
 
 	*30A;OOP	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   rX  rX  rX  r   r  r   r   r   r   rx  r   r   rR   r   r+  r   r  r.  r   rR   r   r   s     r.   test_conv_dilationsz&TestShapeInference.test_conv_dilations  s      k')9:k')9: vSz3)))DDDE
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  r   r  rx  r   r  r!  r   r  r.  r   rR   r   r   s     r.   test_conv_stridesz$TestShapeInference.test_conv_strides  s      k')9:k')9: vSz3			BBBC
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   r9  r.  r   r   r  rx  r   r   r   rR   r   r   rR   r'  r   r  r.  r.  r.  r   r   s     r.   test_conv_padsz!TestShapeInference.test_conv_pads  s      k')9:k')9: vSz35G5G5GHHHI
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  r   r  r   r   r   rR   rx  r   
SAME_UPPER)auto_pad)r   r  r9  r.  r   r   r   s     r.   test_conv_auto_padz%TestShapeInference.test_conv_auto_pad  s      k')9:k')9: vSz3FFFG
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgddg d	          gg           }|                     |t          dt          j        d
          g           d S )NrP   r  r   r  rx  r   r  rR   rR   r   r  r"  )r   r  r   r   r   r   r   s     r.   test_conv_auto_padsz&TestShapeInference.test_conv_auto_pads  s      k')9:k')9:
 S#JlIII  
 
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgddg d	          gg           }|                     |t          dt          j        d
          g           d S )NrP   )r   r   A   @   ?   r   r  rx  r   r  r   )r  r,  )r   r  r  r  r  r   r   s     r.   test_conv_auto_pad_dilationz.TestShapeInference.test_conv_auto_pad_dilation)  s      k')<=k')9:
 S#Jliii  
 
 
 	#C):<PQQR	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  r   r   r   rX  rX  rX  rx  r   r   groupr   r   r   r   r   r   r   s     r.   test_conv_groupz"TestShapeInference.test_conv_group;  s      k')9:k'9 vSz3a8889
 
 	*30ACSTTU	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgddg          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   )r  r   r<   rx  r   rR   r!  )r   r  r   r   r   s     r.   test_conv_only_one_posz)TestShapeInference.test_conv_only_one_posH  s      k'4k'4 vSz3<<<=
 
 	*30A;OOP	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   Nr.  r   r   r  rx  r   r  r'  r   r  Nr.  r.  r   r   s     r.   test_conv_partial_missing_shapez2TestShapeInference.test_conv_partial_missing_shapeU  s      k')<=k')9: vSz35G5G5GHHHI
 
 	e&<S+BSUi&j&j%klllllr5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d           g           d S )	NrP   r  r   r  r   Nr   r   rx  r   r  r'  r   r   s     r.   &test_conv_partial_missing_weight_shapez9TestShapeInference.test_conv_partial_missing_weight_shape`  s      k')9:k')<= vSz35G5G5GHHHI
 
 	*30A4HHI	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgddg dg d          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  AveragePoolr   r  )r   r   rR   r  r  r  r"  )r   r   r   r   r   r   r   s     r.   test_average_pool_auto_padsz.TestShapeInference.test_average_pool_auto_padsm  s      ;$&678!E)!*%II  	 
 
 	*30ACSTTU	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r<   r   r   r   r  r   rR   r  r,  r<   r   rR   rR   r   r   s     r.    test_average_pool_with_dilationsz3TestShapeInference.test_average_pool_with_dilations  s      ;$l34!C53%q!fQRTUPV  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r  r   r  rR   r   r  r  r"  r,  r  r   r   s     r.   Atest_average_pool_with_same_upper_padding_and_stride_and_dilationzTTestShapeInference.test_average_pool_with_same_upper_padding_and_stride_and_dilation  s      ;$l34!EE)"#QF !f  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                0    |                      d           d S )NRelur   r^   s    r.   	test_reluzTestShapeInference.test_relu  s    F#####r5   c                0    |                      d           d S )NIdentityr  r  s    r.   test_identityz TestShapeInference.test_identity  s    J'''''r5   c           	     f   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
g          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Ninput1r   input2input3rR   r<   r   SequenceConstructr  r  r  in_sequencer  output_sequencerR   Nr   re   r   r   r   r   r   r   s     r.   test_identity_sequencez)TestShapeInference.test_identity_sequence  s      ;,i8;,i8;,i8 ')G)G)G-  *}o8I7JKK	 
 
 	/{?PR^__/%{'8, 	
 	
 	
 	
 	
r5   c           	     z   |                      dt          j        dfgt          ddgdg          t          ddgdg          gg           }t	          j        t          j        d          }t	          j        |          }|                     |t	          j        d|          t	          j        d|          g           d S )N	in_tensorr   Optionalin_optionalr  output_optional)	re   r   r   r   r   make_tensor_type_protomake_optional_type_protor   make_value_info)r^   r   tensor_type_protooptional_type_protos       r.   test_identity_optionalz)TestShapeInference.test_identity_optional  s      ;,i89*{mm_EE*}o8I7JKK 
 
 #9+:KYWW$=>OPP&}6IJJ&'8:MNN	
 	
 	
 	
 	
r5   c           
     (   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
g          t          dd
gdg          gg           }t	          j        t          j        d          }t	          j        |          }t	          j        |          }|                     |t	          j	        d|          t	          j	        d
|          t	          j	        d|          g           d S )Nr  r   r  r  r  r  r  r  r  r  r  r  r  )
re   r   r   r   r   r  make_sequence_type_protor  r   r  )r^   r   r  sequence_type_protor  s        r.   test_identity_optional_sequencez2TestShapeInference.test_identity_optional_sequence  s7     ;,i8;,i8;,i8 ')G)G)G-  *}oGG*}o8I7JKK 
 
 #9|
 
 %=>OPP$=>QRR&}6IJJ&}6IJJ&'8:MNN	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r   Addr   r   r   s     r.   test_addzTestShapeInference.test_add        k'4k'4 usCj#../
 
 	*30A:NNO	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r   Powr   r   r   s     r.   test_powzTestShapeInference.test_pow  r  r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d          g           d S )NrP   rR   r   r   r   BitShiftr   RIGHT	directionre   r   UINT32r   r   r   r   s     r.   test_bitshiftz TestShapeInference.test_bitshift	  s      k()4k()4 zC:sgFFFG
 
 	*30BINNO	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d          g           d S )	NrP   )   r   r   r   r  r  r   r  r  r  r   s     r.    test_bitshift_broadcast_to_firstz3TestShapeInference.test_bitshift_broadcast_to_first	  s      ;%z2S+:Ld4STzC:sgFFFG
 

 	*30BJOOP	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d          g           d S )	NrP   r  r   r  r  r   r  r  r  r   s     r.   !test_bitshift_broadcast_to_secondz4TestShapeInference.test_bitshift_broadcast_to_second#	  s      ;%t,sK4F	.RSzC:sgFFFG
 

 	*30BINNO	
 	
 	
 	
 	
r5   c                0    |                      d           d S )NSumr  r  s    r.   test_sum_singlez"TestShapeInference.test_sum_single-	  s    E"""""r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r   r   r  r@  rA  r   r   s     r.   test_sum_multiz!TestShapeInference.test_sum_multi0	  s      k'4k'4k'4
 uooow778
 
 	*5+2CZPPQ	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NrP   )r   r   r<   r   r   r   r   r   )r   r   r  r@  rA  r   r   r   s     r.   test_sum_multi_broadcastingz.TestShapeInference.test_sum_multi_broadcasting>	  s      k'4k'5k'2
 uooow778
 
 	*5+2CZPPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   )r   r   r<   r   r  r  rA  r   r   r   s     r.   test_sum_broadcasting_paramz.TestShapeInference.test_sum_broadcasting_paramL	  s      k'5k'5 usCj5'223
 
 	*5+2C[QQR	
 	
 	
 	
 	
r5   c           
         |                      g t          dg dgt          j        d          gg           }|                     |t          dt          j        d          g           d S )NRandomNormalrA  r4  )r  r   )re   r   r   rs  r   r   r   s     r.   test_random_normalz%TestShapeInference.test_random_normalY	  s      "G%,#   
 
 	*5+2DiPPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r   RandomNormalLikerA  r   r   s     r.   test_random_normal_likez*TestShapeInference.test_random_normal_likek	  s}      ;$i01)C55'::;
 

 	*5+2CYOOP	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     |t          dt          j        d          g           d S )Nr   r   r  rA  r  re   r   r   r   rs  r   r   r   s     r.   "test_random_normal_like_with_dtypez5TestShapeInference.test_random_normal_like_with_dtypeu	  s      ;$i01&EG%,	   
 
 	*5+2DiPPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r  	BernoullirA  r   r   s     r.   test_bernoulliz!TestShapeInference.test_bernoulli	  sr      ;$f-.{SEE7334
 

 	e&<UKDUW]&^&^%_`````r5   c           	         |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     |t          dt          j        d          g           d S )NrP   r   r  rA  r  r  r   s     r.   test_bernoulli_with_dtypez,TestShapeInference.test_bernoulli_with_dtype	  s      ;$i01EG%,	   
 
 	e&<UKDVXa&b&b%cdddddr5   
input_typeTensorProto.DataTypec                    |                      d|dfd|dfgt          |ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r   r   re   r   r   r   r   r6  r^   r   r  r   s       r.   _logical_binary_opz%TestShapeInference._logical_binary_op	  s      :z*S*j,IJrC:s++,
 

 	*30@*MMN	
 	
 	
 	
 	
r5   c                    |                      d|dfd|dfgt          |ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r   r   r   r  r  s       r.   $_logical_binary_op_with_broadcastingz7TestShapeInference._logical_binary_op_with_broadcasting	  s       :v&j*(EFrC:s++,
 

 	*30@*MMN	
 	
 	
 	
 	
r5   c                    |                      dt          j                   |                     dt          j                   d S )NAndr  r   r6  r  r  s    r.   test_logical_andz#TestShapeInference.test_logical_and	  :    {'788811%9IJJJJJr5   c                    |                      dt          j                   |                     dt          j                   d S )NOrr  r  s    r.   test_logical_orz"TestShapeInference.test_logical_or	  s:    k&677711$8HIIIIIr5   c                    |                      dt          j                   |                     dt          j                   d S )NXorr  r  s    r.   test_logical_xorz#TestShapeInference.test_logical_xor	  r  r5   c                    |                      dt          j                   |                     dt          j                   d S )NGreaterr  r  s    r.   test_greaterzTestShapeInference.test_greater	  s:    	;+;<<<11)[=MNNNNNr5   c                    |                      dt          j                   |                     dt          j                   d S )NLessr  r  s    r.   	test_lesszTestShapeInference.test_less	  s:    (899911&+:JKKKKKr5   c                    |                      dt          j                   |                     dt          j                   d S NEqualr  r  s    r.   
test_equalzTestShapeInference.test_equal	  s:    )9:::11';;KLLLLLr5   c                    |                      dt          j                   |                     dt          j                   d S r"  )r  r   r   r  r  s    r.   test_equal_stringz$TestShapeInference.test_equal_string	  s:    );<<<11';;MNNNNNr5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r   Notr   )re   r   r6  r   r   r   r   s     r.   test_logical_notz#TestShapeInference.test_logical_not	  sy      ;#Z01IecUC4P4P3QSU
 
 	*30@*MMN	
 	
 	
 	
 	
r5   c                    |                      dt          j                   |                     dt          j                   d S )NLessOrEqualr  r  s    r.   test_less_or_equalz%TestShapeInference.test_less_or_equal	  s:    {/?@@@11-AQRRRRRr5   c                    |                      dt          j                   |                     dt          j                   d S )NGreaterOrEqualr  r  s    r.   test_greater_or_equalz(TestShapeInference.test_greater_or_equal	  s<     0+2BCCC112BKDTUUUUUr5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   rR   r   r   r<   Flattenr   rR   r:  )r.     r   r   s     r.   test_flattenzTestShapeInference.test_flatten	  s      ;$l34y3%#Q7778
 

 	*30A7KKL	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r1  r2  r   )rR   <   r   r   s     r.   test_flatten_default_axisz,TestShapeInference.test_flatten_default_axis	  s|      ;$l34y3%#//0
 

 	*30A7KKL	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r1  r2  r   r   r:  )r   x   r   r   s     r.   test_flatten_zero_axisz)TestShapeInference.test_flatten_zero_axis	  s      ;$l34y3%#Q7778
 

 	*30A8LLM	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   )rR   r  r   r<   r2  r   rR   r:  )Nr3  r   r   s     r.   test_flatten_unknown_dimz+TestShapeInference.test_flatten_unknown_dim	  sw      ;$n56y3%#Q7778
 

 	e&<S+BSU_&`&`%abbbbbr5   c           	         d}|                      dt          j        dfgt          ddgdg|          gg           }|                     |t          dt          j        d          g           d S )Nr2  rP   rR   r   d   r?  SpaceToDepthr   	blocksizerR   ,  r2  r2  r   r^   r   r   s      r.   test_space_to_depthz&TestShapeInference.test_space_to_depth
  s      ;$&678~useqAAAB
 

 	*30ACSTTU	
 	
 	
 	
 	
r5   c           	         d}|                      dt          j        dfgt          ddgdg|          gg           }|                     |t          dt          j        d          g           d S )Nr2  rP   )rR   r  r?  r?  r@  r   rA  )rR   Nr2  r2  r   rE  s      r.   test_space_to_depth_unknown_dimz2TestShapeInference.test_space_to_depth_unknown_dim
  s}      ;$&89:~useqAAAB
 

 	e&<S+BSUf&g&g%hiiiiir5   c           
         d}|                      dt          j        dfgt          ddgdg|d          gg           }|                     |t          dt          j        d          g           d S )	Nr2  rP   rC  DepthToSpacer   DCR)rB  moder>  r   rE  s      r.   test_depth_to_spacez&TestShapeInference.test_depth_to_space
  s      ;$&678~usequMMMN
 

 	*30ACSTTU	
 	
 	
 	
 	
r5   seqlenint	batchsizeinpsize
hiddensizec                h   |                      dt          j        |||ffdt          j        d||ffdt          j        d||ffgt          dg dddg|	          gg           }|                     |t          dt          j        |d||f          t          dt          j        d||f          g           d S )
NrP   wr   rRNNrP   rT  rU  alllasthidden_sizer   r^   rN  rP  rQ  rR  r   s         r.   _rnn_forwardzTestShapeInference._rnn_forward$
  s       k'&)W)EFk'!Z)ABk'!Z)DE ???UFO  
 
 
 	&;,vq)Z.P  'K-9j/I 	
	
 
	
 
	
 
	
 
	
r5   c                6    |                      dddd           d S Nr      r2  r   )r]  r  s    r.   test_rnn_forwardz#TestShapeInference.test_rnn_forward@
  s"    "b"a(((((r5   c                j   |                      dt          j        |||ffdt          j        d||ffdt          j        d||ffgt          dg dddg|d	
          gg           }|                     |t          dt          j        |d||f          t          dt          j        d||f          g           d S )NrP   rT  rR   rU  rV  rW  rX  rY  bidirectional)r[  r  r   r\  s         r.   _rnn_bidirectionalz%TestShapeInference._rnn_bidirectionalC
  s       k'&)W)EFk'!Z)ABk'!Z)DE #OOFO *-   
 
" 	&;,vq)Z.P  'K-9j/I 	
	
 
	
 
	
 
	
 
	
r5   c                h    |                      dddd           |                      ddddd           d S )Nr  r`  r2  r   rc  )_rnn_layoutr  s    r.   test_rnn_layoutz"TestShapeInference.test_rnn_layoutc
  s>    RQ'''RQ88888r5   forwardr  c                   |                      dt          j        |||ffdt          j        d||ffdt          j        d||ffgt          dg dddg|d|	          gg           }|d
k    rd}nd}|                     |t          dt          j        ||||f          t          dt          j        |||f          g           d S )NrP   rT  r   rU  rV  rW  rX  rY  )r[  layoutr  rc  rR   r   )r^   rN  rP  rQ  rR  r  r   num_directionss           r.   rf  zTestShapeInference._rnn_layoutg
  s      k')VW)EFk'!Z)ABk'!Z)DE #OOFO *'  	 !
 
$ ''NNN&%
C 
 'K-	>:/V 		
 	
 	
 	
 	
r5   c                6    |                      dddd           d S r_  )rd  r  s    r.   test_rnn_bidirectionalz)TestShapeInference.test_rnn_bidirectional
  s"    BA.....r5   c                   |                      dt          j        |||ffdt          j        dd|z  |ffdt          j        dd|z  |ffgt          dg dg d|	          gg           }|                     |t          d
t          j        |d||f          t          dt          j        d||f          t          dt          j        d||f          g           d S )NrP   rT  r   r   rU  LSTMrW  )rX  hiddenrY  rZ  rX  rp  rY  r   r\  s         r.   _lstm_forwardz TestShapeInference._lstm_forward
  s"      k'&)W)EFk'!Q^W)EFk'!Q^Z)HI #OO--- *	   
 
  	&;,vq)Z.P  'k/!Y
1K  'K-9j/I 
	
 	
 	
 	
 	
r5   c                6    |                      dddd           d S r_  )rq  r  s    r.   test_lstm_forwardz$TestShapeInference.test_lstm_forward
  s"    2r2q)))))r5   c                F   |                      dt          j        dfgt          dddgddg          gg t	          dt          j        dd          g	          }|                     |t          dt          j        d
          t          dt          j        d
          g           d S )NrP   r   r   r<   r2  TopKkr   r   r  r   r  )r   r   r<   rR   re   r   r   r   r   r\   r   r   r   s     r.   test_topk_default_axisz)TestShapeInference.test_topk_default_axis
  s      ;$m45vSzC:667$S+*;T4HHI	 ! 
 
 	&sK,=|LL&sK,=|LL	
 	
 	
 	
 	
r5   c                J   |                      dt          j        dfgt          dddgddgd          gg t	          dt          j        d	d
          g          }|                     |t          dt          j        d          t          dt          j        d          g           d S )NrP   ru  rv  rw  r   r   rR   r:  r  r   r  )r   r   rR   r2  rx  r   s     r.   	test_topkzTestShapeInference.test_topk
  s      ;$m45vSzC:A>>>?$S+*;T4HHI	 ! 
 
 	&sK,=}MM&sK,=}MM	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          dddgddgd          gg t	          dt          j        d	t          j        d
gd                                          d          g          }| 	                    |t          dt          j        d          t          dt          j        d          g           d S )NrP   ru  rv  rw  r   r   rR   r:  r  r   r  r  Tr  r  )r   r   r   r2  )re   r   r   r   r   r\   r   r  r  r   r   r   s     r.   test_topk_raw_dataz%TestShapeInference.test_topk_raw_data
  s      ;$m45vSzC:A>>>?%1#U333;;==  	 ! 
 
 	&sK,=}MM&sK,=}MM	
 	
 	
 	
 	
r5   c           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgddgd	          gg           }|                     |t          dt          j        d
          t          dt          j        d
          g           d S )NrP   ru  rw  r  rv  r   r   rR   r:  NNNNrN  r   s     r.   +test_topk_missing_k_value_output_rank_checkz>TestShapeInference.test_topk_missing_k_value_output_rank_check
  s      ;$m4sK<Mt6TUvSzC:A>>>?
 

 	&sK,=?WXX&*,D 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddg          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r9  r<   r   r<   r  r   Gemmr@  rA  r9  r  r   r   s     r.   	test_gemmzTestShapeInference.test_gemm   s      k'0k'1k'.
 v889
 
 	*5+2CWMMN	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddgd	
          gg           }|                     |t          dt          j        d          g           d S )NrP   r<   r9  r   r  r   r  r@  rA  r   )transAr  r   r   s     r.   test_gemm_transAz#TestShapeInference.test_gemm_transA        k'0k'1k'.
 vBBBC
 
 	*5+2CWMMN	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddgd	
          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r   r  r<   r   r  r@  rA  r   )transBr  r   r   s     r.   test_gemm_transBz#TestShapeInference.test_gemm_transB  r  r5   c           
        |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddgd	d	
          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r   r  r   r  r@  rA  r   )r  r  r  r   r   s     r.   test_gemm_transA_and_transBz.TestShapeInference.test_gemm_transA_and_transB*  s      k'0k'1k'.
 v!LLLM
 
 	*5+2CWMMN	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   )   r9  r   )r9     r  rA  )r  r  r   r   s     r.   test_gemm_no_biasz$TestShapeInference.test_gemm_no_bias8  s      ;$g.k6G0QRvSzE7334
 

 	*5+2CXNNO	
 	
 	
 	
 	
r5   c                N   |                      dt          j        dfgt          ddddd          gg t	          dt          j        d	d          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrP      r   r  ReduceL1r   r   r   r  keepdimsr  r   r  r  r  r  r   re   r   r   r   r   r\   r   r+   r-   r   r   r;  s      r.   #test_reduce_op_shape_2_axis_opset13z6TestShapeInference.test_reduce_op_shape_2_axis_opset13B  s      ;$k23z3&1EEEF$V[->fMMN	 ! 
 
 +,,! "#C):EBBC(/ 	 	
 	
 	
 	
 	
r5   c                l   |                      dt          j        dfdt          j        dfgt	          dddgdd          gg t          dt          j        dd	          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrP   r  r  r   r  r   r   r  r   r  r  r  r  r   re   r   r   r\   r   r   r   r+   r-   r   r   r;  s      r.   #test_reduce_op_shape_2_axis_opset18z6TestShapeInference.test_reduce_op_shape_2_axis_opset18S  s      ;$k2V[=NPT4UVzC=#BBBC$V[->fMMN	 ! 
 
 +,,! "#C):EBBC(/ 	 	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfgt          ddddd          gg g           }t	          d	d
          }|                     |t          dt          j        d          g|g           d S )NrP   r  r   r  r  r   r  r   r  r  r  r  r+   r-   r  r   r  r   )re   r   r   r   r   r   r   r;  s      r.    test_reduce_op_empty_set_opset13z3TestShapeInference.test_reduce_op_empty_set_opset13d  s      ;$k23z3$CCCD	 ! 
 
 +"bAAA#C):KHHI(/ 	 	
 	
 	
 	
 	
r5   c                V   |                      dt          j        dfdt          j        dfgt	          dddgdd          gg t          dt          j        dd          g	          }t          d
d          }|                     |t          dt          j        d          g|g           d S )NrP   r  r  r  r  r   r   r  r  r  r  r  r  r   )	re   r   r   r\   r   r   r   r   r   r;  s      r.    test_reduce_op_empty_set_opset18z3TestShapeInference.test_reduce_op_empty_set_opset18r  s      ;$k2V[=NPT4UVzC=#BBBC$V[->dKKL	 ! 
 
 +"bAAA#C):KHHI(/ 	 	
 	
 	
 	
 	
r5   c                N   |                      dt          j        dfgt          ddddd          gg t	          dt          j        d	d          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrP   r  r  r   r   r   r  r  r   r  r  r  r  r   r   r   r  r;  s      r.   &test_reduce_op_shape_keep_dims_opset13z9TestShapeInference.test_reduce_op_shape_keep_dims_opset13  s      ;$k23z3&1EEEF$V[->fMMN	 ! 
 
 +,,! "#C):JGGH(/ 	 	
 	
 	
 	
 	
r5   c                l   |                      dt          j        dfdt          j        dfgt	          dddgdd          gg t          dt          j        dd	          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrP   r  r  r   r  r   r   r  r   r  r  r  r  r   r  r;  s      r.   &test_reduce_op_shape_keep_dims_opset18z9TestShapeInference.test_reduce_op_shape_keep_dims_opset18  s      ;$k2V[=NPT4UVzC=#BBBC$V[->fMMN	 ! 
 
 +,,! "#C):JGGH(/ 	 	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   r^  r   r   s     r.   "test_reduce_op_shape_default_valuez5TestShapeInference.test_reduce_op_shape_default_value  sx      ;$k23z3,,-
 

 	*30A9MMN	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          dddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   r   r  r1   r   r   s     r.   -test_reduce_op_shape_no_axes_do_not_keep_dimsz@TestShapeInference.test_reduce_op_shape_no_axes_do_not_keep_dims  s}      ;$k23z3a8889
 

 	*30A2FFG	
 	
 	
 	
 	
r5   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrP   r  r  r   r  r   )r$   rk  r  r  r@  r   s     r.   "test_reduce_op_shape_negative_axisz5TestShapeInference.test_reduce_op_shape_negative_axis  s      ;$k2V[=NPT4UVzC=#667$V[->hOOP	 ! 
 
 	*30A:NNO	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  ArgMaxr   r   r;  r  r  re   r   r   r   r   r   r\   r   s     r.   test_argmax_shapez$TestShapeInference.test_argmax_shape  s      ;$k23xcA>>>?
 

 	*30A;OOP	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   r   r  )r   r  r  r   s     r.   test_argmax_shape_keepdimsz-TestShapeInference.test_argmax_shape_keepdims  s      ;$k23xcA>>>?
 

 	*30A7KKL	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   )r   r   r  r  r   s     r.   test_argmax_shape_default_valuez2TestShapeInference.test_argmax_shape_default_value  sw      ;$k23i#s6S6S5TVX
 
 	*30A:NNO	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          dddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   rk  r:  r  r  r   s     r.   test_argmax_shape_negative_axisz2TestShapeInference.test_argmax_shape_negative_axis  s}      ;$k23xc3334
 

 	*30A;OOP	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )Ndatar4  ratior1   DropoutrA  r   r   s     r.   test_dropoutzTestShapeInference.test_dropout  s       % ++R0 y67"3eW==>
 
  	&% 
	
 	
 	
 	
 	
r5   c                8    |                      dddd           d S )NLRN      ?r   )alphabetasizer  r  s    r.   test_LRNzTestShapeInference.test_LRN  s%    E3Q?????r5   c           	     F   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g          gg           }|                     |t          d
t          j        d          g           d S )NrP   rv  scalerv  r   meanvarBatchNormalizationrP   r  r   r  r  rA  r   r   s     r.   test_batch_normz"TestShapeInference.test_batch_norm  s      k'9++T2k'.*D1)40 (*L*L*Lug 
 
 
 	*5+2C_UUV	
 	
 	
 	
 	
r5   c           	     F   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g          gg           }|                     |t          d
t          j        d          g           d S )NrP      r  r  r   r  r  r  r  rA  r   r   s     r.   test_batch_norm_rank1z(TestShapeInference.test_batch_norm_rank1  s      k'0++T2k'.*D1)40 (*L*L*Lug 
 
 
 	*5+2CVLLM	
 	
 	
 	
 	
r5   c           	     <   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          gg           }|                     t
          j        j        | j        |           d S )NrP   r  r  r   r   r  r  r  r  r  rA  r   r   s     r.   test_batch_norm_invalidz*TestShapeInference.test_batch_norm_invalid0  s      k'0++V4k'.*D1)40 (*L*L*Lug 
 
 
 	$.=t~uUUUUUr5   c           
        |                      dt          j        dfgt          ddgddgdd          gg           }|                     |t          dt          j        d	          t          dt          j        d	          g           d S )
NrP   r   Splitr   r   r$   rR   r;  num_outputsr/  r   r   s     r.   test_split_negative_axisz+TestShapeInference.test_split_negative_axisB  s      ;$f-.wSzJJJK
 

 	&sK,=vFF&sK,=vFF	
 	
 	
 	
 	
r5   c                f   |                      dt          j        dfdt          j        dfgt	          dddgddgd	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          t          dt          j        d          g           d S )NrP   r   splitr   r  r   r   r   r:  r  r  r   r   r@  r   s     r.   test_split_with_split_attributez2TestShapeInference.test_split_with_split_attributeP  s      ;$f-9JD/QRwgc
CCCD$Wk.?vNNO	 ! 
 
 	&sK,=vFF&sK,=vFF	
 	
 	
 	
 	
r5   c                f   |                      dt          j        dfdt          j        dfgt	          dddgddgd	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          t          dt          j        d          g           d S )NrP   )rR   r   r   r  r   r  r   r   r   r:  r  r  )rR   Nr   r@  r   s     r.   1test_split_with_split_attribute_unknown_split_dimzDTestShapeInference.test_split_with_split_attribute_unknown_split_dim_  s      k'7++T2 wgc
CCCD$Wk.?vNNO ! 
 
 	&sK,=~NN&sK,=~NN	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfgt          ddgddgdd          gg           }|                     |t          dt          j        d	          t          dt          j        d	          g           d S )
NrP   rV  r  r   r   r   rR   r  r<   r   r9  r   r   s     r.   test_split_from_GLUz&TestShapeInference.test_split_from_GLUq  s      ;$i01wSzqIIIJ
 

 	&sK,=yII&sK,=yII	
 	
 	
 	
 	
r5   c           
     D   |                      dt          j        dfgt          ddgg ddd          gg           }|                     |t          dt          j        d	          t          d
t          j        d	          t          dt          j        d          g           d S )NrP   )rX  rR   r  r   r   r   r   r   r  r   r  r   r   r/  r   r   s     r.   test_split_uneven_split_2dz-TestShapeInference.test_split_uneven_split_2d  s      ;$f-.wQANNNO
 

 	&sK,=vFF&sK,=vFF&sK,=vFF	
 	
 	
 	
 	
r5   c           
     D   |                      dt          j        dfgt          ddgg ddd          gg           }|                     |t          dt          j        d	          t          d
t          j        d	          t          dt          j        d          g           d S )NrP   )rR   r9  r   r  r  r   r   r  r   )rR   r   r   r   r   rR   r   r   r   r   s     r.   test_split_uneven_split_3dz-TestShapeInference.test_split_uneven_split_3d  s      ;$i01wQANNNO
 

 	&sK,=yII&sK,=yII&sK,=yII	
 	
 	
 	
 	
r5   c           
     h   |                      dt          j        dfgt          ddgddgdd          t          d	dgd
g          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d
t          j        d          g           d S )NrP   rV  r  r   r   r   rR   r  Sigmoidr   r  r   r   s     r.   test_GLU_partialz#TestShapeInference.test_GLU_partial  s      ;$i01'C53*1!LLL)cUSE22 
 
 	&sK,=yII&sK,=yII&sK,=yII	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          ddgddgdd          t          d	dgd
g          t          ddd
gdg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d
t          j        d          t          dt          j        d          g           d S )NrP   rV  r  r   r   r   rR   r  r  r   Mulr   r  r   r   s     r.   test_GLUzTestShapeInference.test_GLU  s      ;$i01'C53*1!LLL)cUSE22%#scU33
 
 
 	&sK,=yII&sK,=yII&sK,=yII&sK,=yII		
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r<   Softmaxr   r   r   s     r.   test_softmax_2dz"TestShapeInference.test_softmax_2d  y      ;$f-.9seS1Q1Q0RTV
 
 	*30A6JJK	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   r   r   s     r.   test_softmax_3dz"TestShapeInference.test_softmax_3d  z      ;$i01y3%--.
 

 	*30A9MMN	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  Hardmaxr   r   r   s     r.   test_hardmax_2dz"TestShapeInference.test_hardmax_2d  r  r5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   r   r   s     r.   test_hardmax_3dz"TestShapeInference.test_hardmax_3d  r  r5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  
LogSoftmaxr   r   r   s     r.   test_logsoftmax_2dz%TestShapeInference.test_logsoftmax_2d  sz      ;$f-.|cUC001
 

 	*30A6JJK	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r   r   r   r   s     r.   test_logsoftmax_3dz%TestShapeInference.test_logsoftmax_3d  sz      ;$i01|cUC001
 

 	*30A9MMN	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r   r   r$   r:  r   r   s     r.    test_logsoftmax_3d_negative_axisz3TestShapeInference.test_logsoftmax_3d_negative_axis  s      ;$i01|cUCb999:
 

 	*30A9MMN	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddgdgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  MaxPoolr   rR   r  r<   r   r   r   r   r   s     r.   test_maxpoolzTestShapeInference.test_maxpool  s      ;$l34y3%#aVDDDE
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfgt          ddgddgddg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )	Nr   r  r  r   ZrR   r  r	  r  r   s     r.   test_maxpool_with_indicesz,TestShapeInference.test_maxpool_with_indices  s      ;$l34y3%#s1a&IIIJ
 

 	&sK,=|LL&sK,=|LL	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r<   r   r   r   r   r  r   rD  r  r<   r   r   r   r   r   r   s     r.   test_maxpool_3Dz"TestShapeInference.test_maxpool_3D  s      ;$o67y3%#YYYGGGH
 

 	*30A?SST	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgg d          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rR   r   r   rR   rR   r  r(  r<   r   r.  r.  r   r   s     r.   test_maxpool_with_paddingz,TestShapeInference.test_maxpool_with_padding'  s      ;$l34use1a&|||  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgg dddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rR   r  r  r(  r"  r	  r   r   s     r.   $test_maxpool_with_padding_and_stridez7TestShapeInference.test_maxpool_with_padding_and_stride5  s      ;$l34EE"#Q%F  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d          g           d S )	Nr   r`     #   r  r  r   rR   Fr  r"  	ceil_mode)r`  r  r  r  r   r   s     r.   test_maxpool_with_floor_modez/TestShapeInference.test_maxpool_with_floor_modeH  s      ;$&789EE"#QF#  	 
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rR   Tr  )r`  r  r  r  r   r   s     r.   test_maxpool_with_ceil_modez.TestShapeInference.test_maxpool_with_ceil_mode[  s      ;$&789EE"#QF"  	 
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r   r   r   r   r  r   r   rR   Tr  r  r   r   s     r.   test_maxpool_ceilz$TestShapeInference.test_maxpool_ceiln  s      ;$l34EE"#QF"  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r   rR   r  r  r   r   s     r.   test_maxpool_with_dilationsz.TestShapeInference.test_maxpool_with_dilations  s      ;$l34y3%#aVPQSTvVVVW
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   r  rR   r  r  r   r   s     r.   /test_maxpool_with_same_upper_padding_and_stridezBTestShapeInference.test_maxpool_with_same_upper_padding_and_stride        ;$l34EE)"#QF  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r  r   r  rR   r   r  r  r   r   s     r.   <test_maxpool_with_same_upper_padding_and_stride_and_dilationzOTestShapeInference.test_maxpool_with_same_upper_padding_and_stride_and_dilation        ;$l34EE)"#QF !f  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   r  rR   r   r  r   r   s     r.   3test_maxpool_with_same_upper_padding_and_stride_onezFTestShapeInference.test_maxpool_with_same_upper_padding_and_stride_one  r*  r5   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r<   r   r   r   r  r   
SAME_LOWERrR   r  r<   r   r<   r<   r   r   s     r.   /test_maxpool_with_same_lower_padding_and_stridezBTestShapeInference.test_maxpool_with_same_lower_padding_and_stride  r*  r5   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r1  r  r   r2  rR   r   r  r3  r   r   s     r.   <test_maxpool_with_same_lower_padding_and_stride_and_dilationzOTestShapeInference.test_maxpool_with_same_lower_padding_and_stride_and_dilation  r-  r5   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r  r   r2  rR   r   r  r<   r   r   r   r   r   s     r.   3test_maxpool_with_same_lower_padding_and_big_stridezFTestShapeInference.test_maxpool_with_same_lower_padding_and_big_stride  r*  r5   c           
         |                      dt          j        dfgt          ddgdgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r   rR   r  r	  r   r   s     r.   test_averagepoolz#TestShapeInference.test_averagepool  s      ;$l34}secU!QHHHI
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r   rD  r  r  r   r   s     r.   test_averagepool_3Dz&TestShapeInference.test_averagepool_3D	  s      ;$o67}secUKKKL
 

 	*30A?SST	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgg d          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rR   r  r  r  r   r   s     r.   test_averagepool_with_paddingz0TestShapeInference.test_averagepool_with_padding  s      ;$l34!C53%q!f<<<  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgg dddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rR   r  r  r	  r   r   s     r.   (test_averagepool_with_padding_and_stridez;TestShapeInference.test_averagepool_with_padding_and_stride!  s      ;$l34!EE"#Q%F  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r$  r  r   r   rR   Tr  r  r   r   s     r.   test_averagepool_ceilz(TestShapeInference.test_averagepool_ceil4  s      ;$l34!EE"#QF"  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddgdgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  LpPoolr   rR   r  r	  r   r   s     r.   test_lppoolzTestShapeInference.test_lppoolG  s      ;$l34x#QFCCCD
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r  rE  r   rD  r  r  r   r   s     r.   test_lppool_3Dz!TestShapeInference.test_lppool_3DQ  s      ;$o67x#IIIFFFG
 

 	*30A?SST	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgg d          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  rE  r   rR   r  r  r  r   r   s     r.   test_lppool_with_paddingz+TestShapeInference.test_lppool_with_padding[  s      ;$l34x#QFVVVW
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgg dddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  rE  r   rR   r  r  r	  r   r   s     r.   #test_lppool_with_padding_and_stridez6TestShapeInference.test_lppool_with_padding_and_stridee  s      ;$l34EE"#Q%F  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgddgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  rE  r   rR   r  r  r   r   s     r.   test_lppool_with_dilationsz-TestShapeInference.test_lppool_with_dilationsx  s      ;$l34x#QFqRSfUUUV
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  rE  r   r  rR   r   r  r  r   r   s     r.   ;test_lppool_with_same_upper_padding_and_stride_and_dilationzNTestShapeInference.test_lppool_with_same_upper_padding_and_stride_and_dilation  s      ;$l34EE)"#QF !f  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt	          dddgdgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  rois)rR   r<   
MaxRoiPoolr   rR   )pooled_shape)rR   r   rR   rR   rN  r   s     r.   test_roipoolzTestShapeInference.test_roipool  s      k'6*F3 |c6]SEAOOOP
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   rv  LpNormalizationrA  r   r   s     r.   test_lp_normzTestShapeInference.test_lp_norm  s}      ;$o67(3%%99:
 

 	*5+2C_UUV	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )	NrP   rv  r  rv  r   InstanceNormalization)rP   r  r   rA  r   r   s     r.   test_instance_normz%TestShapeInference.test_instance_norm  s      k'9++T2k'.
 .0C0C0CeWMMN
 
 	*5+2C_UUV	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  GlobalMaxPoolr   r8  r   r   s     r.   test_global_maxpoolz&TestShapeInference.test_global_maxpool  s|      ;$l34u556
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  GlobalAveragePoolr   r8  r   r   s     r.   test_global_averagepoolz*TestShapeInference.test_global_averagepool  s}      ;$l34*SEC599:
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  GlobalLpPoolr   r8  r   r   s     r.   test_global_lppoolz%TestShapeInference.test_global_lppool  s|      ;$l34~use445
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr      0   r  r  Wrh  r`  r   r   ConvTransposer   rR   r!  )rg  r`  !   rl  r   r   s     r.   test_conv_transposez&TestShapeInference.test_conv_transpose  s      k')9:k'8 c
C!QHHHI
 
 	*30ACSTTU	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdddgg d	          gg           }|                     |t          dt          j        d
          g           d S )Nr   rf  ri  rj  rk  r   rR   r  )r"  r(  rg  r`  r   r   r   r   s     r.   test_conv_transpose_with_padsz0TestShapeInference.test_conv_transpose_with_pads  s      k')9:k'8
 #c3Zq!f<<<  
 
 
 	*30ACSTTU	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgg dd	d	g
          gg           }|                     |t          dt          j        d          g           d S )Nr   rf  ri  rj  rk  r   rR   r  $   )r"  r(  r  )rg  r`  rr  rr  r   r   s     r.   %test_conv_transpose_with_output_shapez8TestShapeInference.test_conv_transpose_with_output_shape  s      k')9:k'8
 ##JF%"$b  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgddgg d	
          gg           }|                     |t          dt          j        d          g           d S )Nr   rf  ri  )rh  r`  NNrk  r   r   rR   r  )r  r"  r(  ro  r   r   s     r.   %test_conv_transpose_with_kernel_shapez8TestShapeInference.test_conv_transpose_with_kernel_shape  s      k')9:k')=>
 ##J"#QF%  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgg dd	d	g
          gg           }|                     |t          dt          j        d          g           d S )Nr   rf  ri  rj  rk  r   rR   r  r   )r"  r(  r,  )rg  r`  "   rw  r   r   s     r.   "test_conv_transpose_with_dilationsz5TestShapeInference.test_conv_transpose_with_dilations#  s      k')9:k'8
 ##JF% !f  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdddgg dd	          gg           }|                     |t          dt          j        d
          g           d S )Nr   rf  ri  rj  rk  r   rR   r  )r"  r(  r  )rg  r  r   r   r   r   s     r.   test_conv_transpose_with_groupz1TestShapeInference.test_conv_transpose_with_group9  s      k')9:k'8
 ##JF%  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgg ddd	d	g
          gg           }|                     |t          dt          j        d          g           d S )Nr   rf  ri  rj  rk  r   rR   r  rr  )r"  r(  r  r  )rg  r  rr  rr  r   r   s     r.   /test_conv_transpose_with_group_and_output_shapezBTestShapeInference.test_conv_transpose_with_group_and_output_shapeO  s      k')9:k'8
 ##JF%"$b  
 !
 
$ 	*30ACSTTU	
 	
 	
 	
 	
r5   c                N   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	d
ddgg d          gg           }|                     t
          j        j        t
          j        j        t          j
        |          d           d S )Nr   r  ri  r   r   r   r   Br  rk  )r   ri  r  r   r  r   )r   r   r   r   )r  r"  r(  Trl   )re   r   r   r   r   ro   rp   r   rq   r   rn   r   s     r.   +test_conv_transpose_with_pads_and_auto_padsz>TestShapeInference.test_conv_transpose_with_pads_and_auto_padsf  s      k'6k'6k'. ##OO)F%  	 !
 
$ 	 / -e$$	 	 	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgddddg	          gg           }|                     |t          dt          j        d
          g           d S )Nr   rf  ri  rj  rk  r   r  rR   r  )rg  r`  r`  r`  r   r   s     r.   test_conv_transpose_auto_padsz0TestShapeInference.test_conv_transpose_auto_pads  s      k')9:k'8
 ##J)F   
 
  	*30ACSTTU	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfgt          dddg d          gg           }|                     |t          dt          j        d          g           d S )Nr   rf  MeanVarianceNormalizationr   )r   rR   r   r  r   r   s     r.   test_mvn_function_output_shapez1TestShapeInference.test_mvn_function_output_shape  s      ;$&6782C999MMMN
 

 	*30ACSTTU	
 	
 	
 	
 	
r5   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        ||ffdt          j        |||ffgt          dg dddgd|          gg           }|                     |t          dt          j        ||f          t          dt          j        |||f          gt          j	        t          d          g           d S )Nr   sequencerR   r   loop_state_inr  loop_state_outr  r  subgraphloop_state_orig
scan_inputScan)r  r  r  loop_state_finalscan_outputnum_scan_inputsbodyrX  r   r   r   rZ   r   r]   r   re   r   r   r   r   )	r^   
batch_sizeseq_len
input_sizeloop_state_sizer`   output_value_infosr  r   s	            r.   	test_scanzTestShapeInference.test_scan  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$5
O7TU{0:w
2ST
 999'7$%!   
 
" 	&&(9J;X  '!;#4z7J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r5   c           
        d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          ddgdg          t          ddgdg          gd	||          }|                     d
t          j        |ffdt          j        ||ffgt          dd
dgddgd|          gg           }|                     |t          dt          j        |f          t          dt          j        ||f          gt          j	        t          d          g           d S )Nr  rR   r   r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  )r^   r  r  r  r`   r  r  r   s           r.   test_scan_opset9z#TestShapeInference.test_scan_opset9  s   
 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{07J2GH
 &5'7$%!   
 
" 	&&(9O;M  '!;#4w
6K 	 ".{A>>? 	 	
 	
 	
 	
 	
r5   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        |ffdt          j        |||ffgt          dddgddgd|dg          gg           }|                     |t          dt          j        |f          t          dt          j        |||f          gt          j	        t          d          g           d S )Naxis0r  rR   r   r  r  r  r  r  r  r  r  r  r  r  r   )r  r  scan_input_axesr   r   r  	r^   
axis_0_lenr  r  r  r`   r  r  r   s	            r.   test_scan_opset9_axesz(TestShapeInference.test_scan_opset9_axes  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{0:w
2ST
 &5'7$%!%&C  	 
 
$ 	&&(9O;M  '!;#4w
J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r5   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        |ffdt          j        |||ffgt          dddgddgd|dgdg          gg           }|                     |t          dt          j        |f          t          dt          j        |||f          gt          j	        t          d          g           d S )Nr  r  rR   r   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  scan_output_axesr   r   r  r  s	            r.   test_scan_opset9_output_axesz/TestShapeInference.test_scan_opset9_output_axesN  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{0:w
2ST
 &5'7$%!%&C&'S  
 !
 
& 	&&(9O;M  '!;#4z7J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r5   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        |ffdt          j        |||ffgt          dddgddgd|dgdg          gg           }|                     |t          dt          j        |f          t          dt          j        |||f          gt          j	        t          d          g           d S )Nr  r  rR   r   r  r  r  r  r  r  r  r  r  r  r  r   rk  r  r   r   r  r  s	            r.   test_scan_opset9_negative_axesz1TestShapeInference.test_scan_opset9_negative_axes  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{0:w
2ST
 &5'7$%!%'D&(T  
 !
 
& 	&&(9O;M  '!;#4z7J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r5   c           
     j   t          j        t          dddgdg          gdg t          dt          j        d           g          }t          j        t          dddgdg          gd	g t          dt          j        d           g          }|                     d
t          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dd
gdg||          gg           }| 	                    |t          dt          j        d          gt          t          d          g           d S )Nr  current_value	add_valuethen_outputthen_subgraphSub	sub_valueelse_outputelse_subgraphcondr  If	if_outputthen_branchelse_branchr2  r   )r   r]   r   r   r   rZ   re   r6  r   r   r   r   r^   r  r  r   s       r.   test_if_ver1zTestShapeInference.test_if_ver1  sd   
 )u<}oNNO#M;3H$OOP	
 
 )u<}oNNO#M;3H$OOP	
 
   )40 +"3T:k/6k/6	 H M - -   !
 
& 	#K1BDIIJ'R889 	 	
 	
 	
 	
 	
r5   c           
     >   t          j        t          dddgdg          gdg t          dt          j        d           g          }t          j        t          dddgdg          gd	g t          dt          j        d           g          }|                     d
t          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dd
gdg||          gg           }| 	                    |t          dt          j        d          g           d S )Nr  r  r  r  r  r  r  r  r  r  r  r  r  r  
r   r]   r   r   r   rZ   re   r6  r   r   r  s       r.   test_ifzTestShapeInference.test_if  sO   
 )u<}oNNO#M;3H$OOP	
 
 )u<}oNNO#M;3H$OOP	
 
   )40 +"3T:k/6k/6	 H M - -   !
 
& 	*;8I4PPQ	
 	
 	
 	
 	
r5   c           
     >   t          j        t          dddgdg          gdg t          dt          j        d          g          }t          j        t          dddgd	g          gd
g t          d	t          j        d          g          }|                     dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          ddgdg||          gg           }| 	                    |t          dt          j        d          g           d S )Nr  r  r  r  r  r  r  r  r  r  r<   r  r  r  r  rU   r  r  s       r.   3test_if_with_different_shapes_in_then_else_brancheszFTestShapeInference.test_if_with_different_shapes_in_then_else_branches  sE   
 )u<}oNNO#M;3H$OOP	
 
 )u<}oNNO#M;3H$OOP	
 
   )40 +"3T:k/6k/6	 H M - -   !
 
& 	e&<[+J[]d&e&e%fgggggr5   c           
     N   t          d          }t          d          }|                     dt          j        dfdt          j        dfdt          j        dfgt          ddgd	g||
          gg           }|                     |t          d	t          j        d           g           d S )NzQthen_graph () => (then_output) { then_output = ReduceSum <keepdims=0> (X, axes) }zKelse_graph () => (else_output) { else_output = ReduceSum <keepdims=0> (X) }r  r  r   r   rX  r  r  r  r  r  	r   re   r   r6  r   r\   r   r   r   r^   
then_graph
else_graphr   s       r.   test_if_no_shape_in_then_branchz2TestShapeInference.test_if_no_shape_in_then_branch>  s     _
 

 !Y
 

   )40k'4*D1 H M * *   
 
" 	e&<[+J[]a&b&b%cdddddr5   c           
     N   t          d          }t          d          }|                     dt          j        dfdt          j        dfdt          j        dfgt          ddgd	g||
          gg           }|                     |t          d	t          j        d           g           d S )NzKthen_graph () => (then_output) { then_output = ReduceSum <keepdims=0> (X) }zQelse_graph () => (else_output) { else_output = ReduceSum <keepdims=0> (X, axes) }r  r  r   r  r  r  r  r  r  r  s       r.   test_if_no_shape_in_else_branchz2TestShapeInference.test_if_no_shape_in_else_branchX  s     Y
 

 !_
 

   )40k'4*D1 H M * *   
 
" 	e&<[+J[]a&b&b%cdddddr5   c           
     B   t          j        t          j        dg          }t          j        |          }t          j        d|          }t          j        t          ddgdg          gdg |g          }t          j        t          j        dg          }t          j        |          }t          j        d|          }t          j        t          dd	gdg          gd
g |g          }|                     dt          j	        dfdt          j
        dfd	t          j
        dfgt          ddgdg||          gg           }	t          j        t          j
        d          }
t          j        |
          }t          j        d|          }|                     |	|g           d S )Nr   r   r   then_optional_outputr  then_tensor_valuer  r<   else_optional_outputelse_tensor_valuer  r  r  r  r  r  r  rU   )r   r  r   rZ   r  r  r]   r   re   r6  r   r   )r^   then_tensor_protothen_optional_type_protothen_optional_vir  else_tensor_protoelse_optional_type_protoelse_optional_vir  r   output_tensor_protooutput_optional_type_protooutput_optional_vis                r.   <test_if_with_different_optional_shapes_in_then_else_brancheszOTestShapeInference.test_if_with_different_optional_shapes_in_then_else_branchesr  s   
 #9!+
 
 
 $*#BCT#U#U !1"$<
 
 )z$7#8;Q:RSST	
 
 #9!+
 
 
 $*#BCT#U#U !1"$<
 
 )z$7#8;Q:RSST	
 
   )40$k&7>$k&7> H M - -   
 
$ %;!'w
 
 
 &,%D&
 &
" $33
 
 	e&8%9:::::r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	NxTr  xI	MaxUnpoolr   rR   r  r"  r$  r   r   s     r.   )test_maxunpool_shape_without_output_shapez<TestShapeInference.test_maxunpool_shape_without_output_shape  s      {(,7{(,7
 $s!QRSUVQW  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r5   c                N   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddd	d	gd	d	g
          gt	          dt          j        d           g          }|                     |t	          dt          j        d           g           d S )Nr  r  r  r  rv  r  )r  r  r  r   rR   r  )re   r   r   r   r   r   r   s     r.   &test_maxunpool_shape_with_output_shapez9TestShapeInference.test_maxunpool_shape_with_output_shape  s      {(,7{(,7!2D9 000"#QF   $C):DAAB
 
" 	*30A4HHI	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg           }|                     |t          d	t          j        d
          g           d S )Nr  r/  depthr1   valuesr   OneHotr  r  r  r   )rR   rR   Nre   r   r\   r   r   r   r   r   s     r.   test_onehot_without_axisz+TestShapeInference.test_onehot_without_axis  s      K-v6++R0;,d3
 x!?!?!?EEF
 
 	e&<S+BSUa&b&b%cdddddr5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	d
          gg           }|                     |t          d	t          j        d          g           d S )Nr  rR   r   r<   r  r  r  r   r  r  r   r   r:  )rR   Nr   r<   r  r   s     r.   test_onehot_with_axisz(TestShapeInference.test_onehot_with_axis  s      K-y9++T2;,d3
 x!?!?!?1MMMN
 
 	e&<S+BSUd&e&e%fgggggr5   c           	     >   t          dt          j        d          t          dt          j        d           t          dt          j        d          g}t          dt          j        d           t          dt          j        d           t          dt          j        d	          g}t          j        t          d
dgdg          t          d
dgdg          t          d
dgdg          gd||          }|                     dt          j        dfdt          j        dfdt          j        dfdt          j        d	fgt          dg dddg|          gg           }| 	                    |t          dt          j        d           t          dt          j        d          g           d S )Niter_num_inr  cond_inr  r1   cond_outr  r  r   r  outer_scope_inputr  max_trip_count	cond_origr  r   Loop)r  r  r  r  loop_outputr  Nr   
r   r   r\   rZ   r   r   r]   r   re   r   r^   r`   r  r  r   s        r.   	test_loopzTestShapeInference.test_loop  s   
 #=+2CTJJ"9k.CTJJ"?K4I2NN
 #:{/DdKK"#3[5JDQQ"8[->EE
 $*ykJ<@@*&7:J9KLL*':&;hZHH
 	
 	
   !;#4d;k/6"K$5t<$k&7>	 FFF'7!	   
 
$ 	&&(94  '}k6GSS		
 	
 	
 	
 	
r5   c           	     `   t          dt          j        d          t          dt          j        d           g}t          dt          j        d           t          dt          j        d          g}t          j        t          ddgdg          t          ddgdg          gd	||          }|                     d
t          j        dfdt          j        dfdt          j        dfgt          dd
dgdg|          gg           }| 	                    |t          dt          j        d          g           d S )Nr  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  s        r.   test_loop_no_statez%TestShapeInference.test_loop_no_state+  sX   "=+2CTJJ"9k.CTJJ

 #:{/DdKK"8[->EE

 $*ykJ<@@*':&;hZHH 
 
   !;#4d;k/6$k&7> %{3"O!	   
 
" 	*=+:KYWWX	
 	
 	
 	
 	
r5   c                ~   |                      g t          dg dgt          dt          j        dd                    t          ddgdgt          dt          j        d	d
                    gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )Nrg  r   r   r4  rh  ConstantOfShaper   ri  r  r   re   r   r   r   r\   rz  r   r   r   s     r.   %test_constantofshape_with_input_shapez8TestShapeInference.test_constantofshape_with_input_shapeT  s      I%g{/@$	RR	   %IE%g{/@$MM	   !
 
$ 	&w0A4HH&sK,=yII	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          ddgdgt	          dt          j        dd                    gg           }|                     |t          dt          j        d	          g           d S )
Nr   r   r  r   ri  r  r   rh  r?  re   r   r\   r   r   r  r   r   r   s     r.   (test_constantofshape_without_input_shapez;TestShapeInference.test_constantofshape_without_input_shapeo  s      {($/0%IE%g{/@$MM	   
 
 	*30ACUVVW	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          ddgdgt	          dt          j        dd                    gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r  r   ri  r  r   rh  r1   r   r   s     r.   /test_constantofshape_without_input_shape_scalarzBTestShapeInference.test_constantofshape_without_input_shape_scalar  s      {($/0%IE%g{/@$MM	   
 
 	*30A2FFG	
 	
 	
 	
 	
r5   c                ~   |                      g t          dg dgt          dt          j        dd                    t          ddgdgt          dt          j        dd	                    gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nrg  r   r  r  rh  r  r   ri  r   r  r   s     r.   $test_constantofshape_with_shape_zeroz7TestShapeInference.test_constantofshape_with_shape_zero  s      I%g{/@$MM	   %IE%g{/@$MM	   !
 
$ 	&w0A4HH&sK,=tDD	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt          dddgdg dg dg d	
          gg           }|                     |t          dt          j        d          g           d S )NrP   rv  r   rw  ConvIntegerr   ry  rY  rz  r{  r|  re   r   r  r   r   r   rz  r   s     r.   test_convintegerz#TestShapeInference.test_convinteger  s      k'9k'9
 !#J+++'ii%II  	 
 
" 	*30A?SST	
 	
 	
 	
 	
r5   c           
     0   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g d          gg           }|                     |t          d
t          j        d          g           d S )NrP   r  r   r  x_zero_pointr1   y_zero_pointr  rP   r   r  r  r   r  r+  r  re   r   r  INT8r   r   r   rz  r   s     r.   test_convinetger_dilationsz-TestShapeInference.test_convinetger_dilations  s      k')9:k&(89!2B7!2B7	 !>>>'ii	   
 
" 	*30ACTUUV	
 	
 	
 	
 	
r5   c           
     0   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g d          gg           }|                     |t          d
t          j        d          g           d S )NrP   r  r   r  r  r1   r  r  r  r   r  r!  r  )re   r   r  r  r   r   r   rz  r   s     r.   test_convinteger_stridesz+TestShapeInference.test_convinteger_strides  s      k&(89k&(89!2B7!2B7	 !>>>%II	   
 
" 	*30ACTUUV	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt	          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  r   r  r  r   r  r'  r  r  r   s     r.   test_convineteger_padsz)TestShapeInference.test_convineteger_pads  s      k')9:k&(89 }sCj#<N<N<NOOOP
 
 	*30ACTUUV	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  r   r  r  r   r   r  r  )re   r   r  r   r   r   rz  r   s     r.   test_convineteger_groupz*TestShapeInference.test_convineteger_group  s      k&(89k&8 }sCj#Q???@
 
 	*30ACSTTU	
 	
 	
 	
 	
r5   c           
     0   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g d          gg           }|                     |t          d
t          j        d          g           d S )NrP   r  r   r  r  r1   r  r  r  r   r  r'  r  r  r   s     r.   'test_convineteger_partial_missing_shapez:TestShapeInference.test_convineteger_partial_missing_shape  s      k')<=k')9:!2B7!2B7	 !>>>+++	   
 
" 	e&<S+BSUi&j&j%klllllr5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d           g           d S )	NrP   r  r   r  r  r   r  r'  r  r   s     r.   .test_convineteger_partial_missing_weight_shapezATestShapeInference.test_convineteger_partial_missing_weight_shape  s      k')9:k')<= }sCj#<N<N<NOOOP
 
 	*30A4HHI	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg dg dg d          gg           }|                     |t          dt          j        d          g           d S )NrP   rv  x_scaler1   r  rT  rw  w_scalew_zero_pointy_scaler  QLinearConvrP   r  r  rT  r  r  r  r  r   ry  rY  rz  r{  r|  re   r   r  r   r   r   r   r   s     r.   test_qlinearconvz#TestShapeInference.test_qlinearconv)  s     k'9K-r2!2B7k'9K-r2!2B7K-r2!2B7	 !	 	 	 +++'ii%II  & =
 
@ 	*30A?SST	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r1   r  rT  r  r  r  r  r  r   r!  r   r  r+  r  r"  r   s     r.   test_qlinearconv_dilationsz-TestShapeInference.test_qlinearconv_dilationsN  s      k')9:K-r2!2B7k')9:K-r2!2B7K-r2!2B7	 !	 	 	 'ii  " 9
 
< 	*30ACTUUV	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r1   r  rT  r  r  r  r  r  r   r!  r   r  r!  r  re   r   r  r   r   r   r   r   s     r.   test_qlinearconv_stridesz+TestShapeInference.test_qlinearconv_stridesq  s      k&(89K-r2!126k&(89K-r2!126K-r2!126	 !	 	 	 %II  " 9
 
< 	*30@BSTTU	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r1   r  rT  r  r  r  r  r  r   r!  r   r  r'  r  )re   r   r  r   r  r   r   r   r   s     r.   test_qlinearconv_padsz(TestShapeInference.test_qlinearconv_pads  s     k')9:K-r2!2B7k&(89K-r2!126K-r2!2B7	 !	 	 	 +++  " 9
 
< 	*30ACTUUV	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r1   r  rT  r  r  r  r  r  r   r!  r   r   r  r  r'  r   s     r.   test_qlinearconv_groupz)TestShapeInference.test_qlinearconv_group  s      k&(89K-r2!126k&8K-r2!126K-r2!126	 !	 	 	   " 9
 
< 	*30@BRSST	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r1   r  rT  r  r  r  r  r  r   r!  r   r  r'  r  r"  r   s     r.   &test_qlinearconv_partial_missing_shapez9TestShapeInference.test_qlinearconv_partial_missing_shape  s      k')<=K-r2!2B7k')9:K-r2!2B7K-r2!2B7	 !	 	 	 +++  " 9
 
< 	e&<S+BSUi&j&j%klllllr5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d           g           d S )NrP   r  r  r1   r  rT  r  r  r  r  r  r   r!  r   r  r'  r"  r   s     r.   -test_qlinearconv_partial_missing_weight_shapez@TestShapeInference.test_qlinearconv_partial_missing_weight_shape  s      k')9:K-r2!2B7k')<=K-r2!2B7K-r2!2B7	 !	 	 	 +++  " 9
 
< 	*30A4HHI	
 	
 	
 	
 	
r5   c                   t          j        t          j        t          j        |                                        |          t          j        t          j        |                                        |                    j        }|                     dt          j        |fdt          j	        dfdt          j        dfdt          j        |fdt          j	        dfdt          j        dfdt          j	        dfd	t          j        dfgt          d
g ddg          gg           }|                     |t          dt          j        |          g           d S Nr   a_scaler1   a_zero_pointr   b_scaleb_zero_pointr  r  QLinearMatMul)r   r3  r4  r   r5  r6  r  r  r   )r   r   r   r   r   r   re   r   r  r   r   r   r   r^   r   r   r   r   s        r.   _make_qlinearmatmul_testz+TestShapeInference._make_qlinearmatmul_test  sV     YIbgfoo&&..v66Ibgfoo&&..v66
 
  	   k'0K-r2!2B7k'0K-r2!2B7K-r2!2B7	 #	 	 	 E   7
 
: 	*30ACUVVW	
 	
 	
 	
 	
r5   c                   |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           d S )	Nr   r   r   r   r   r   r   r   )r9  r  s    r.   test_qlinearmatmulz%TestShapeInference.test_qlinearmatmulF      %%dD111%%ff555%%dF333%%fd333%%lLAAA%%fi88888r5   c                   |                      dt          j        |fdt          j        dfdt          j        dfdt          j        |fdt          j        dfdt          j        dfdt          j        dfd	t          j        dfgt	          d
g ddg          gg           }|                     |t          dt          j        |          g           d S r2  r"  r8  s        r.   &_make_qlinearmatmul_test_allow_unknownz9TestShapeInference._make_qlinearmatmul_test_allow_unknownN  s       k'0K-r2!2B7k'0K-r2!2B7K-r2!2B7	 #	 	 	 E   7
 
: 	*30ACUVVW	
 	
 	
 	
 	
r5   c                   |                      ddd           |                      ddd           |                      ddd           |                      ddd           |                      d	dd           |                      d	d
d           |                      ddd           |                      ddd           |                      d dd            |                      d d d            d S r   )r>  r  s    r.    test_qlinearmatmul_allow_unknownz3TestShapeInference.test_qlinearmatmul_allow_unknownr  s   33GWbIII33D'2FFF33D(FKKK33FHhOOO33IxRRR33I{HUUU33I{KXXX33+|	
 	
 	
 	33D+tLLL33D$EEEEEr5   c                :   t          j        t          j        t          j        |                                        |          t          j        t          j        |                                        |                    j        }|                     dt          j        |fdt          j        |fdt          j        dfdt          j        dfgt          dg ddg          gg           }| 
                    |t          dt          j        |          g           d S )	NAr  r4  r1   r6  MatMulInteger)rB  r  r4  r6  r   )r   r   r   r   r   r   re   r   r  r   r   r   rz  r8  s        r.   _make_matmulinteger_testz+TestShapeInference._make_matmulinteger_test  s     YIbgfoo&&..v66Ibgfoo&&..v66
 
  	   k'0k'0!2B7!2B7	 #%O%O%ORUQV 
 
 
 	*30ACUVVW	
 	
 	
 	
 	
r5   c                   |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           d S )Nr   r   r   r   r   r   r   )rD  r  s    r.   test_matmulintegerz%TestShapeInference.test_matmulinteger  r<  r5   c                    |                      d|dfd|dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )	NrP   r   r  r1   r  QuantizeLinearrP   r  r  r   re   r   r  r   r   r   r^   r   r   s      r.   test_quantizelinearz&TestShapeInference.test_quantizelinear  s       i,Ir*!2B7
 ')I)I)IC5QQR
 
 	*30A:NNO	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r  r1   rH  r   re   r   r   r   r   r   r  r   s     r.   test_quantizelinear_default_zpz1TestShapeInference.test_quantizelinear_default_zp  s      ;$j1I{?PRT3UV'#y)9C5AAB
 

 	*30A:NNO	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r  r1   rH  )rP   r  r  r   rN  r   s     r.   "test_quantizelinear_optional_inputz5TestShapeInference.test_quantizelinear_optional_input  s      ;$j1I{?PRT3UV')=)=)=uEEF
 

 	*30A:NNO	
 	
 	
 	
 	
r5   c           	     
   |                      dt          j        dfdt          j        dfgt          dddgdgt          j                  gg           }|                     |t          dt          j        d          g           d S NrP   r4  r  r1   rH  r   output_dtype)re   r   r   r   UINT4r   r   r   s     r.    test_quantizelinear_output_dtypez3TestShapeInference.test_quantizelinear_output_dtype  s      ;$i09k>OQS2TU$)$E!,!2	   
 
 	*30A9MMN	
 	
 	
 	
 	
r5   c           	     &   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgt          j        	          gg           }|                     |t          dt          j        d          g           d S 
NrP   r4  r  r1   r  rH  rI  r   rT  )re   r   r   UINT16r   r   r   r   s     r.   #test_quantizelinear_zp_output_dtypez6TestShapeInference.test_quantizelinear_zp_output_dtype  s      k'3K-r2!3R8 $444E!,!3	   
 
  	*30BINNO	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgt          j        	          gg           }|                     t          j        j	        | j
        |           d S rY  )re   r   r   rZ  r   INT4r   ro   rp   r   ru   r   s     r.   .test_quantizelinear_zp_output_dtype_conflictedzATestShapeInference.test_quantizelinear_zp_output_dtype_conflicted  s      k'3K-r2!3R8 $444E!,!1	   
 
" 	 /N	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgt          j                  gg           }|                     t          j        j        | j	        |           d S rS  )
re   r   r   r   r  r   ro   rp   r   ru   r   s     r.   (test_quantizelinear_invalid_output_dtypez;TestShapeInference.test_quantizelinear_invalid_output_dtype  s       ;$i09k>OQS2TU$)$E!,!4	   
 
 	 /N	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfd|dfdt          j        dfgt          dg ddg          gg           }|                     |t          d|d          g           d S )	NrP   r   r  r1   r  DequantizeLinear)rP   r  r  r   rJ  rK  s      r.   test_dequantizelinearz(TestShapeInference.test_dequantizelinear  s       k'4Ir*!2B7
 )+K+K+KcUSST
 
 	*3	:FFG	
 	
 	
 	
 	
r5   c           
     >   |                      dt          j        dfgt          ddgg d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S )	NrP   r   DynamicQuantizeLinear)r   r  r  r   r  r1   r  rN  r   s     r.   test_dynamicquantizelinearz-TestShapeInference.test_dynamicquantizelinear,  s      ;$j12+cU4T4T4T 
 
 
 	&sK,=zJJ&y+2CRHH&~{7H"MM	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r  sequence_lensr  ReverseSequencer   rN  r   s     r.   test_reversesequencez'TestShapeInference.test_reversesequence?  s      k'3 +"3T: (3*@3%HHI
 
 	*30A9MMN	
 	
 	
 	
 	
r5   c                r   |                      dt          j        dfgt          ddgg d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          d	t          j        d          g           d S )
Nr   rR   r   rR   Uniquer   r  inverse_indicescountsr   rU   r  ro  rp  r  r   s     r.   test_unique_without_axisz+TestShapeInference.test_unique_without_axisL  s      ;$i01x#(U(U(UVVW
 

 	&sK,=wGG&y+2CWMM&'8+:KWUU&x1BGLL		
 	
 	
 	
 	
r5   c                v   |                      dt          j        dfgt          ddgg dd          gg           }|                     |t          dt          j        d          t          d	t          j        d
          t          dt          j        d
          t          dt          j        d
          g           d S )Nr   rl  rm  rn  r   r:  r   )rR   NrR   r  rU   ro  rp  r  r   s     r.   test_unique_with_axisz(TestShapeInference.test_unique_with_axis\  s      ;$i01EAAA	   
 
 	&sK,=|LL&y+2CWMM&'8+:KWUU&x1BGLL		
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r#  Detr   r1   )r   r<   r.  r9  r9  r  r   r   s     r.   test_detzTestShapeInference.test_dets  s      ;$f-.53%#1O1O0PRT
 
 	*30A2FFG	
 	
 	
   ;$o67usecU++,
 

 	*30A9MMN	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrP   r  repeatsr   Tiler   r  r  r   r2  r  r@  r   s     r.   	test_tilezTestShapeInference.test_tile  s      ;$i09k>OQU2VWvY/#778$Y0A4SST	 ! 
 
 	*30A;OOP	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dt          j        g dd	                                          d
          g          }| 	                    |t          dt          j        d          g           d S )NrP   r  rx  r   ry  r   r  r  r  Tr  r  rz  rQ  r   s     r.   test_tile_raw_input_dataz+TestShapeInference.test_tile_raw_input_data  s      ;$i09k>OQU2VWvY/#778%)))5999AACC  	 ! 
 
 	*30A;OOP	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r  rx  r   ry  r   r?  rN  r   s     r.   test_tile_rank_inferencez+TestShapeInference.test_tile_rank_inference  s      ;$i09k>OQU2VWvY/#778
 

 	e&<S+BSUg&h&h%ijjjjjr5   z-ONNX_ML required to test ai.onnx.ml operatorsc                ~   |                      dt          j        dfgt          ddgddgt          ddgddgd	d
g          gg           }|                     |t          dt          j        d          t          dt          j        d          gt          t          d	          t          t          d          g           d S )NrP   r  LinearClassifierr   r   g-C6J?g-C6Jr  r   rR   r+   coefficients
interceptsclasslabels_intsr  r   r  r   
re   r   r   r   r   r   r   r\   r   r   r   s     r.   test_linearclassifier_1D_inputz1TestShapeInference.test_linearclassifier_1D_input  s      ;$d+,&E#J)"('!2 #Sz&'V  
 
 
 	&sK,=tDD&sK,=vFF
 ^Q//["-- 	 
	
 
	
 
	
 
	
 
	
r5   c                ~   |                      dt          j        dfgt          ddgddgt          g dg dg d	          gg           }|                     |t          dt          j        d
          t          dt          j        d          gt          t          d          t          t          d          g           d S )NrP   r  r  r   r   )皙?皙?g333333?皙?r  g333333?)r  r  g      @r  r  rv  r  r   r  r   r  r   s     r.   test_linearclassifier_2D_inputz1TestShapeInference.test_linearclassifier_2D_input  s      ;$f-.&E#J)!?!?!?.%.YY  
 
 
 	&sK,=tDD&sK,=vFF
 ^Q//["-- 	 
	
 
	
 
	
 
	
 
	
r5   c           
        |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	gd
d          gg           }|                     |t          d	t          j        d          g           d S )NrP   r  CHri  rR  num_roisr   batch_indicesr  RoiAlignrP   rR  r  r   r2  r<   )output_heightoutput_width)r  r  r2  r<   rN  r   s     r.   test_roialign_symbolicz)TestShapeInference.test_roialign_symbolic  s      k')=>*O< +"3]C 222E"$!"   
 
" 	e&<S+BSUm&n&n%opppppr5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NrP   r  rR  r  r  r  r  r  r   )r  r  r   r   rN  r   s     r.   test_roialign_symbolic_defaultsz2TestShapeInference.test_roialign_symbolic_defaults  s      k')=>*O< +"3]C
 z#A#A#AC5IIJ
 
 	e&<S+BSUl&m&m%nooooor5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NrP   r  rR  r  r  )r&  r  r  r   )r&  r  r   r   rN  r   s     r.   test_roialign_num_roisz)TestShapeInference.test_roialign_num_rois  s      k')=>*O< +"3U;
 z#A#A#AC5IIJ
 
 	e&<S+BSUd&e&e%fgggggr5   LabelEncoderT)skip_on_emptyc                   |                      |dk     d           g d}g d}g d}|                     dt          j        dfgt	          ddgd	gt
          ||
          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           d S )NrR   z7keys_* attributes were introduced in ai.onnx.ml opset 2)rB  mr   )g{GW@g      B@g     X)r3     V   rP   r.  r   r  r   )r+   keys_stringsvalues_int64sr  r   r   )r+   keys_int64svalues_stringsr   )r+   keys_floatsr  r  )r+   r  values_floatsr1   )r+   r  r  r   )r+   r  r  )r   re   r   r   r   r   r   r   r\   r   r   r   )r^   r   r-   string_list
float_list
int64_listr   s          r.   test_label_encoder_string_int64z2TestShapeInference.test_label_encoder_string_int64  se    	aKR	
 	
 	
 &oo***
!\\
  ;%v./"EE)!,",  	 
 
 	#C):FCCD^W55["-- 	 	
 	
 	
   ;$f-."EE) *#.  	 
 
 	#C);VDDE^W55["-- 	 	
 	
 	
   ;$d+,"EE) *",  	 
 
 	#C):DAAB^W55["-- 	 	
 	
 	
   ;$d+,"EE) *",  	 
 
 	#C):DAAB^W55["-- 	 	
 	
 	
   ;$b)*"EE) *#.  	 
 
 	#C);R@@A^W55["-- 	 	
 	
 	
   ;%v./"EE)!,",  	 
 
 	#C):FCCD^W55["-- 	 	
 	
 	
 	
 	
r5   c                $   |                      |dk     d           t          dt          j        dgg d          }t          dt          j        dgg d          }|                     dt          j        dfgt          d	dgd
gt          ||t          dt          j        dgdg                    gg           }|                     |t          d
t          j        d          gt          t          |          t          t          d          g           d S )Nr   z7tensor attributes were introduced in ai.onnx.ml opset 4keys_tensorr   r   ccdddvalues_tensorr   rR   r   r   rP   rQ  Nr   r3  r  r   default_tensorr   r   r+   r  r  r  r  r   )r   r   r   r   r\   re   r   r   r   r   r   r   )r^   r   r-   
key_tensorr  r   s         r.   $test_label_encoder_tensor_attributesz7TestShapeInference.test_label_encoder_tensor_attributes  sE    	aKR	
 	
 	
 !;-s4K4K4K
 

 $[.\\\
 
   ;%'9:;"EE) *"/#.(+*;aS1#$ $
 
 
 
 
" 	#C):<NOOP^W55["-- 	 	
 	
 	
 	
 	
r5   c                :   |                      |dk     d           t          dt          j        dgg d          }t          dt          j        dgg d          }t          t          |          t          t          d          g}|                     dt          j        d	fgt          d
dgdgt          ||t          dt          j        dgdg                    gg           }| 
                    t          j        j        | j        ||           |                     dt          j        d	fgt          d
dgdgt          |g dt          dt          j        ddgddg                    gg           }| 
                    t          j        j        | j        ||           d S )Nr   z2tensor attributes introduced in ai.onnx.ml opset 4r  r  r  r  r  rP   r  r  r   r  r   r   r  r   rR   )r+   r  r  r  )r   r   r   r   r\   r   r   r   re   r   r   ro   rp   r   ru   )r^   r   r-   r  r  r   r   s          r.   ;test_label_encoder_tensor_attributes_invalid_configurationszNTestShapeInference.test_label_encoder_tensor_attributes_invalid_configurations  s    	GaK!UVVV ;-s4K4K4K
 

 $[.\\\
 

 11b))
   ;%'9:;"EE) *"/#.(+*<qcA3$ $
 
 
 
 
$ 	 /N'	 	 	
 	
 	
   ;%'9:;"EE) *#:#:#:#.(+*<q!fq!f$ $
 
 
 
 
$ 	 /N'	 	 	
 	
 	
 	
 	
r5   r   r  indices_shaper  r   c                Z   t                      }|j                            |           t          |          }|j                            t          j        dt          j	        |f|                     |j
                            t          j        dt          j	        ||                     |S )Nspvalspind)r   dimsextendr   r  CopyFromr   r   r   r\   r  )r^   r   r  r  r  sparsennzs          r.   make_sparsezTestShapeInference.make_sparse  s     #$$5!!!&kkw(9C66JJ	
 	
 	
 	w(9='RR	
 	
 	
 r5   c           	         dg}|                      |g ddgg d          }|                     g t          dg dg|          gg           }|                     |t	          dt
          j        |          g           d S )Nr?  )r  r     r   )r      Q   rg  r   )sparse_value)r  re   r   r   r   r   r\   )r^   y_shapey_valuer   s       r.   test_constant_sparsez'TestShapeInference.test_constant_sparse$  s    %""7LLL1#{{{KK  :rC5wGGGH"
 
 	e&<S+BSU\&]&]%^_____r5   c           	         |                      g t          dg dgd          gg           }|                     |t          dt          j        g           g           d S )Nrg  r   *   )	value_int)re   r   r   r   r   r\   r   s     r.   test_constant_value_intz*TestShapeInference.test_constant_value_int,  sp      :rC5B???@"
 
 	*30A2FFG	
 	
 	
 	
 	
r5   c           
         g d}|                      g t          dg dg|          gg           }|                     |t          dt          j        t          |          g          g           d S )Nr  rg  r   )
value_ints)re   r   r   r   r   r\   r   )r^   r  r   s      r.   test_constant_value_intsz+TestShapeInference.test_constant_value_ints4  s    YY
  :rC5ZHHHI2
 
 	*30AC
OOCTUUV	
 	
 	
 	
 	
r5   c           	         |                      g t          dg dgd          gg           }|                     |t          dt          j        g           g           d S )Nrg  r   gQ?)value_float)re   r   r   r   r   r   r   s     r.   test_constant_value_floatz,TestShapeInference.test_constant_value_float=  sp      :rC5dCCCDb
 
 	*30A2FFG	
 	
 	
 	
 	
r5   c           
         g d}|                      g t          dg dg|          gg           }|                     |t          dt          j        t          |          g          g           d S )N)ro  rp  g333333?rg  r   )value_floats)re   r   r   r   r   r   r   )r^   r  r   s      r.   test_constant_value_floatsz-TestShapeInference.test_constant_value_floatsE  s    &  :rC5|LLLMr
 
 	*30ACDUDUCVWWX	
 	
 	
 	
 	
r5   c           	         |                      g t          dg dgd          gg           }|                     |t          dt          j        g           g           d S )Nrg  r   zString value)value_string)re   r   r   r   r   r   r   s     r.   test_constant_value_stringz-TestShapeInference.test_constant_value_stringN  sq      :rC5~NNNOQS
 
 	*30BBGGH	
 	
 	
 	
 	
r5   c           
         g d}|                      g t          dg dg|          gg           }|                     |t          dt          j        t          |          g          g           d S )N)onr  rP   rg  r   )value_strings)re   r   r   r   r   r   r   )r^   r  r   s      r.   test_constant_value_stringsz.TestShapeInference.test_constant_value_stringsV  s    ,,,  :rC5NNNOQS
 
 	#C);c->P>P=QRRS	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg t	          dt          j        dd          t	          dt          j        dd	          t	          dt          j        dd
          g          }|                     |t          dt          j        d
          g           d S )Nr  r1   limitdeltaRanger  r  r  r  r  r  r   r  )re   r   r   r   r   r   r   r   s     r.   
test_rangezTestShapeInference.test_range`  s      ++R0++R0++R0
 w ; ; ;hZHHIG[%6DAAG[%6DAAG[%6DAA ! 
 
 	*8[5FMMN	
 	
 	
 	
 	
r5   c                ~   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg t	          dt          j        dd          t	          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )Nr  r1   r  r  r  r  r  r  r  r  rU   )re   r   rz  r   r   r   r   r   s     r.   test_range_rank_inferencez,TestShapeInference.test_range_rank_inferences  s      ++R0++R0++R0
 w ; ; ;hZHHIG[%6DAAG[%6DAA ! 
 
 	e&<X{GXZa&b&b%cdddddr5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   GatherNDr   r.  rN  r   s     r.   test_gatherndz TestShapeInference.test_gathernd  s      ;$i09k>OQU2VWzC#3cU;;<
 

 	*30A4HHI	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   rD  r  r   r  r   r   )
batch_dimsr/  rN  r   s     r.   test_gathernd_batchdim_1z+TestShapeInference.test_gathernd_batchdim_1  s      k'3K-v6 zC#3cUqIIIJ
 
 	*30A6JJK	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r   r;  r  CumSumr   r   r   s     r.   test_cumsumzTestShapeInference.test_cumsum  s      ;$f-8I4/PQx#v445
 

 	*30A6JJK	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )Nboxes)r   r   r   scores)r   r<   r   NonMaxSuppressionr   r  r  r   s     r.   test_nonmaxsuppressionz)TestShapeInference.test_nonmaxsuppression  s      ++Y7;,i8 *Wh,?#GGH
 
 	e&<S+BSU^&_&_%`aaaaar5   c                    |                      g t          dg dg          gg           }|                     |t          dt          j        d           g           d S )NSequenceEmptyr  )re   r   r   r   r   r   r   s     r.   test_sequence_emptyz&TestShapeInference.test_sequence_empty  s\      ihZ&P&P%QSUVVe&EhP[Pacg&h&h%ijjjjjr5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )Nr  r   r  r  r  r  r  r  r   s     r.   test_sequence_constructz*TestShapeInference.test_sequence_construct  s      ;,i8;,i8;,i8 '222&'  
 
 	/%{'8) 	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr  r   r  r  r  r   s     r.   !test_sequence_construct_one_inputz4TestShapeInference.test_sequence_construct_one_input  s      )956*XJ9J8KLLM
 

 	/%{'8) 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d           g           d S )	Nr  r   r  r   r  r  r  r  r  r   s     r.   !test_sequence_construct_diff_rankz4TestShapeInference.test_sequence_construct_diff_rank  s      ;,i8;,f5;,f5 '222&'  
 
 	/%{'8$ 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )Nr  r   r  r  r  r  r  r  r  rR   r   Nr  r   s     r.   %test_sequence_construct_diff_dim_sizez8TestShapeInference.test_sequence_construct_diff_dim_size  s      ;,i8;,i8;,i8 '222&'  
 
 	/%{'8, 	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	ddgd
g          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  r   r  r  input4r  r  r  SequenceInsertr  r  r   s     r.   test_sequence_insertz'TestShapeInference.test_sequence_insert  s      ;,i8;,i8;,i8;,i8	 ')G)G)G-  $}h&?BSAT 	 
 
" 	/!;#4i  0%{'8) 	
	
 
	
 
	
 
	
 
	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          t          d
d	dgdg          gg           }|                     |t          d	t          j        d          t          dt          j        d           g           d S )Nr  r   r  r  r  r   r  r  r  r	  r  r  r   s     r.   test_sequence_insert_diff_rankz1TestShapeInference.test_sequence_insert_diff_rank+  s      ;,i8;,i8;,i8;,f5	 ')G)G)G-  $}h&?BSAT 	 
 
" 	/!;#4i  0%{'8$ 	
	
 
	
 
	
 
	
 
	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g          t          dd
dgdg          gg           }|                     |t          d
t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  r  r  rR   r<   rR   r  r  r  r	  r  r  rR   NNr  r   s     r.   test_sequence_insert_diff_shapez2TestShapeInference.test_sequence_insert_diff_shapeI  s      ;,i8;,i8;,i8;,i8	 ')G)G)G-  $}h&?BSAT 	 
 
" 	/{?PR^__/%{'8/ 	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          t	          d
d	dgdg          gg           }|                     |t          d	t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  indr1   r  r  r  
SequenceAtr  re   r   r   r\   r   r   r   r   r   s     r.   test_sequence_atz#TestShapeInference.test_sequence_ate  s      ;,i8;,i8;,i8)2.	 ')G)G)G-  ,(>
KK	 
 
 	/!;#4i  'x1BINN		
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          t	          dd
dgdg          gg           }|                     |t          d
t          j        d           t          dt          j        d           g           d S )Nr  r   r  r   r  r  r1   r  r  r  r  r  r  r   s     r.   test_sequence_at_unknown_shapez1TestShapeInference.test_sequence_at_unknown_shape  s      ;,i8;,f5;,i8)2.	 ')G)G)G-  ,(>
KK	 
 
 	/{?PRVWW&x1BDII	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          t	          dd
dgdg          gg           }|                     |t          d
t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  r  r  r1   r  r  r  r  r  r  r  r   s     r.   !test_sequence_at_unknown_dim_sizez4TestShapeInference.test_sequence_at_unknown_dim_size  s      ;,i8;,i8;,i8)2.	 ')G)G)G-  ,(>
KK	 
 
 	/{?PR^__&x1BLQQ	
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          t	          d
d	dgdg          gg           }|                     |t          d	t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  r  r1   r  r  r  SequenceEraser  re   r   r   r\   r   r   r   r   s     r.   test_sequence_erasez&TestShapeInference.test_sequence_erase  s      ;,i8;,i8;,i8)2.	 ')G)G)G-  /M5+ADUCVWW	 
 
 	/!;#4i  0%{'8) 	
	
 
	
 
	
 
	
 
	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          t	          dd
dgdg          gg           }|                     |t          d
t          j        d          t          dt          j        d          g           d S )Nr  rR   r   rP   r  r  )rR   r<   rP   r  r1   r  r  r  r  r  rR   NrP   r  r   s     r.   !test_sequence_erase_diff_dim_sizez4TestShapeInference.test_sequence_erase_diff_dim_size  s      ;,k:;,k:;,k:)2.	 ')G)G)G-  /M5+ADUCVWW	 
 
 	/{?PR`aa/%{'8. 	
 	
 	
 	
 	
r5   c           	     f   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	g          gg           }|                     |t          dt          j        d          t          d	t          j        d
          g           d S )Nr  r  r  r  r  r  r  SequenceLengthr   r1   )re   r   r   r   r   r   r   r\   r   s     r.   test_sequence_lengthz'TestShapeInference.test_sequence_length  s      ;,k:;,k:;,k: ')G)G)G-  *]OeWEE	 
 
 	/!;#4k  'uk.?DD		
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  r.  r   r  r   SplitToSequencer  r#  r  r  re   r   r   rz  r   r   r   r   r   s     r.   test_split_to_sequencez)TestShapeInference.test_split_to_sequence  s      {(&1G[=NPT3UV(7G*<?P>QRRS$Wk.?vNNO	 ! 
 
 	/%{'8& 	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  r&  r  r1   r'  r  r   r  r   r(  r   s     r.   test_split_to_sequence_scalarz0TestShapeInference.test_split_to_sequence_scalar  s      {(&1G[=NPR3ST(7G*<?P>QRRS$Wk.?TJJK	 ! 
 
 	/%{'8& 	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  r&  r'  r  r   r  rn  r  r   s     r.   test_split_to_sequence_keepdimsz2TestShapeInference.test_split_to_sequence_keepdims  s      {(&12(7)6G5HSTUUUV
 

 	/%{'8& 	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  r&  r'  r  r   r  rv  r  r   s     r.   #test_split_to_sequence_not_keepdimsz6TestShapeInference.test_split_to_sequence_not_keepdims-  s      {(&12(7)6G5HSTUUUV
 

 	/%{'8$ 	
 	
 	
 	
 	
r5   c                0   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg t          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )Nr  r&  r  r   r'  r  r   r  r#  r  r  r(  r   s     r.   &test_split_to_sequence_ignore_keepdimsz9TestShapeInference.test_split_to_sequence_ignore_keepdims<  s      {(&1G[=NPT3UV%g&&'	   $Wk.?vNNO ! 
 
 	/%{'8& 	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  r&  r'  r  r   r:  r  r  r   s     r.   test_split_to_sequence_axisz.TestShapeInference.test_split_to_sequence_axisS  s      {(&12(7)6G5HqQQQR
 

 	/%{'8& 	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  r&  r'  r  rk  r:  rn  r  r   s     r.   test_split_to_sequence_neg_axisz2TestShapeInference.test_split_to_sequence_neg_axisb  s      {(&12(7)6G5HrRRRS
 

 	/%{'8& 	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  r&  r  r   r'  r  r  r  Nr   r(  r   s     r.   "test_split_to_sequence_split_sizesz5TestShapeInference.test_split_to_sequence_split_sizesq  s      {(&1G[=NPT3UV(7G*<?P>QRRS$Wk.?yQQR	 ! 
 
 	/%{'8) 	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  r&  r  r1   r'  r  rv  r  r7  r(  r   s     r.   $test_split_to_sequence_non_divisiblez7TestShapeInference.test_split_to_sequence_non_divisible  s      {(&1G[=NPR3ST(7G*<?P>QRRS$Wk.?TJJK	 ! 
 
 	/%{'8) 	
 	
 	
 	
 	
r5   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	gd
          gg           }|                     |t          dt          j        d          t          d	t          j        d          g           d S )Nr  r  r  r  r  r  r  ConcatFromSequencerA  r   r:  )Nr   rP   re   r   r   r   r   r   r   r   s     r.   test_concat_from_sequencez,TestShapeInference.test_concat_from_sequence  s      ;,k:;,k:;,k: ')G)G)G-  .%qQQQ	 
 
 	/!;#4k  'uk.?PP		
 	
 	
 	
 	
r5   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d           t          d
t          j        d           g           d S )Nr  r  r  r   r  r  r  r  r<  rA  r   r:  r=  r   s     r.   'test_concat_from_sequence_unknown_shapez:TestShapeInference.test_concat_from_sequence_unknown_shape  s      ;,k:;,f5;,k: ')G)G)G-  .%qQQQ	 
 
 	/{?PRVWW&uk.?FF	
 	
 	
 	
 	
r5   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  r  r  rR   r   rP   r  r  r  r  r<  rA  r   r:  r   NNrP   r=  r   s     r.   *test_concat_from_sequence_unknown_dim_sizez=TestShapeInference.test_concat_from_sequence_unknown_dim_size  s      ;,k:;,k:;,k: ')G)G)G-  .%qQQQ	 
 
 	/{?PR`aa&uk.?ARSS	
 	
 	
 	
 	
r5   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  r  r  rB  r  r  r  r  r<  rA  rR   r:  r   r  r=  r   s     r.   test_concat_from_sequence_axisz1TestShapeInference.test_concat_from_sequence_axis  s      ;,k:;,k:;,k: ')G)G)G-  .%qQQQ	 
 
 	/{?PR`aa&uk.?QQ	
 	
 	
 	
 	
r5   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  r  r  rB  r  r  r  r  r<  rA  r:  r   rC  r=  r   s     r.   "test_concat_from_sequence_neg_axisz5TestShapeInference.test_concat_from_sequence_neg_axis  s      ;,k:;,k:;,k: ')G)G)G-  .%rRRR	 
 
 	/{?PR`aa&uk.?ARSS	
 	
 	
 	
 	
r5   c                l   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	gd
d          gg           }|                     |t          dt          j        d          t          d	t          j        d          g           d S )Nr  r  r  r  r  r  r  r<  rA  rR   r   r;  new_axis)rR   r   NrP   r=  r   s     r.   "test_concat_from_sequence_new_axisz5TestShapeInference.test_concat_from_sequence_new_axis  s      ;,k:;,k:;,k: ')G)G)G-  (=/E7UV  	 
 
  	/!;#4k  'uk.?ARSS		
 	
 	
 	
 	
r5   c                l   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	gd
d          gg           }|                     |t          dt          j        d          t          d	t          j        d          g           d S )Nr  r  r  r  r  r  r  r<  rA  r$   r   rK  )rR   r   rP   Nr=  r   s     r.   &test_concat_from_sequence_neg_new_axisz9TestShapeInference.test_concat_from_sequence_neg_new_axis!  s      ;,k:;,k:;,k: ')G)G)G-  (=/E7VW  	 
 
  	/!;#4k  'uk.?ARSS		
 	
 	
 	
 	
r5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
dgt
                    gg           }|                     |t          d
t          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )NRr1   Tr   r   Gr  Adagrad)rQ  rR  r   rS  r  X_newH_newr+   r3  r   r   re   r   r   r\   r   r   r   r   r   r   r   r   s     r.   test_adagradzTestShapeInference.test_adagrad<  s     k',k',k'0k'0k'0 ---g&:	   !
 
& 	&w0A6JJ&w0A6JJ
 #K44#$CQGG 	 
	
 
	
 
	
 
	
 
	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg dg dt
                    gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )NrQ  r1   rR  X1r   X2r  G1G2H1H2rT  )rQ  rR  r[  r\  r]  r^  r_  r`  )X1_newX2_newH1_newH2_newrW  ra  rb  rc  rd  r3  r   r   rX  r   s     r.   test_adagrad_multiplez(TestShapeInference.test_adagrad_multiple\  s[     k',k',{(&1{(&1{(&1{(&1{(&1{(&1	 BBB<<<:	   '
 
, 	&x1BFKK&x1BFKK&x1BFKK&x1BFKK	 #K44#$CQGG 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
dgddddt
                    gg           }|                     |t          d
t          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )NrQ  r1   rR  r   r   rS  VMomentum)rQ  rR  r   rS  rg  rU  V_new?ro  {Gz?standardr  r  norm_coefficientrL  r+   r3  r   r   rX  r   s     r.   test_momentumz TestShapeInference.test_momentum  s     k',k',k'0k'0k'0 ---g&%)#:	 	 	 )
 
, 	&w0A6JJ&w0A6JJ
 #K44#$CQGG 	 
	
 
	
 
	
 
	
 
	
r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg dg dddddt
                    gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )NrQ  r1   rR  r[  r   r\  r  r]  r^  V1V2rh  )rQ  rR  r[  r\  r]  r^  rq  rr  )ra  rb  V1_newV2_newrj  ro  rk  nesterovrm  ra  rb  rs  rt  r3  r   r   rX  r   s     r.   test_momentum_multiplez)TestShapeInference.test_momentum_multiple  sg     k',k',{(&1{(&1{(&1{(&1{(&1{(&1	 BBB<<<%)#:	 	 	 /
 
4 	&x1BFKK&x1BFKK&x1BFKK&x1BFKK	 #K44#$CQGG 	 	
 	
 	
 	
 	
r5   c                8   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          d	g d
g dt
          ddd          gg           }t          dt          j        d          t          dt          j        d          t          dt          j        d          g}|                     ||t          t
          d          t          t          d          g           d S )NrQ  r1   rR  r   r   rS  rg  r  Adam)rQ  rR  r   rS  rg  r  )rU  ri  rV  rj  ro  rk  r+   r  r  rn  rU  ri  rV  r   r3  r   
re   r   r   r\   r   r   r   r   r   r   r^   r   infoss      r.   	test_adamzTestShapeInference.test_adam  s7     k',k',k'0k'0k'0k'0 222///:%)  
 )
 
0 #7K,=vFF"7K,=vFF"7K,=vFF
 	<a@@["-- 	 	
 	
 	
 	
 	
r5   c                D   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfdt          j        dfdt          j        dfg
t	          dg dg dt
          ddd          gg           }t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          g}|                     ||t          t
          d          t          t          d          g           d S )NrQ  r1   rR  r[  r   r\  r  r]  r^  rq  rr  r_  r`  rx  )
rQ  rR  r[  r\  r]  r^  rq  rr  r_  r`  )ra  rb  rs  rt  rc  rd  rj  ro  rk  ry  ra  rb  rs  rt  rc  rd  r   r3  r   rz  r{  s      r.   test_adam_multiplez%TestShapeInference.test_adam_multiple  s     k',k',{(&1{(&1{(&1{(&1{(&1{(&1{(&1{(&1 NNNPPP:%)  
 1
 
8 #8[->GG"8[->GG"8[->GG"8[->GG"8[->GG"8[->GG
 	<a@@["-- 	 	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfgt          dddg d          gg           }|                     |t          dt          j        d          gt          j        t          d          g	           d S )
NrP   r   NrR   Padr   r   r   r   r   r   r   r'  r   Nr   r2  r   r   r   s     r.   test_pad_opset10z#TestShapeInference.test_pad_opset10"  s      ;$l34uc3-?-?-?@@@A
 

 	#C):LIIJ!.{B??@ 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          dddg ddd          gg           }|                     |t          dt          j        d	          gt          j        t          d
          g           d S )NrP   )rR   r   r   r   r  r   )r   r   r   r   r   r   r   rR   constantr  )r(  rL  ri  )rR   r   r  r9  r2  r   r   r   s     r.   test_constant_pad_2d_opset10z/TestShapeInference.test_constant_pad_2d_opset10.  s      ;$l34111#  	 
 
 	#C):MJJK!.{B??@ 	 	
 	
 	
 	
 	
r5   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrP   r  r(  r  r  r   r  r  r  r@  r   s     r.   test_padzTestShapeInference.test_padC  s      ;$l3fk>OQU5VWusFmS112%	 	 ! 
 
( 	e&<S+BSUa&b&b%cdddddr5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   r   r   rN  r   s     r.   test_gatherelements_basicz,TestShapeInference.test_gatherelements_basicZ  s      ;$d+i9JD-QR'#y)9C5AAB
 

 	*30A4HHI	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        d fgt	          dddgdg          gg           }|                     |t          dt          j        d           g           d S )NrP   r  r  r   r   rN  r   s     r.   )test_gatherelements_indices_missing_shapez<TestShapeInference.test_gatherelements_indices_missing_shaped  s      k'.K-t4 '#y)9C5AAB
 
 	e&<S+BSUY&Z&Z%[\\\\\r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  Einsumr   zij->jiequationrM  r   r   s     r.   test_einsum_transposez(TestShapeInference.test_einsum_transposeo  sw      ;$f-.x#AAAB
 

 	e&<S+BSUa&b&b%cdddddr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrP   r  r   r  r   zi,i->r  r1   r   r   s     r.   test_einsum_dotz"TestShapeInference.test_einsum_dotw  s      ;$d+c;3Dd-KLx#scUWEEEF
 

 	e&<S+BSUW&X&X%YZZZZZr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r1   r   r  r   z,->r  r   r   s     r.   test_einsum_scalarz%TestShapeInference.test_einsum_scalar  s      ;$b)C1BB+GHx#scUUCCCD
 

 	e&<S+BSUW&X&X%YZZZZZr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r  r   )r9  r   r  r   zij,ab->ijabr  r  r   r   s     r.   test_einsum_outer_prodz)TestShapeInference.test_einsum_outer_prod  s      ;$f-[5F/OPx#scU]KKKL
 

 	e&<S+BSUm&n&n%opppppr5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   r  r  r   zi j->i r  rU   r   r   s     r.   test_einsum_sum_along_dimz,TestShapeInference.test_einsum_sum_along_dim  sw      ;$f-.x#	BBBC
 

 	e&<S+BSU\&]&]%^_____r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   )r   r   r   r  r   z... ii ->... ir  rM  r   r   s     r.   test_einsum_ellipsisz'TestShapeInference.test_einsum_ellipsis  sx      ;$i01x#8HIIIJ
 

 	e&<S+BSUa&b&b%cdddddr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrP   rD  r   r  r   z...ij,...jk->...ikr  r?  r   r   s     r.   test_einsum_ellipsis_2z)TestShapeInference.test_einsum_ellipsis_2  s      ;$i038I92UVx#scU=QRRRS
 

 	*30ACUVVW	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrP   rD  r   r  r   z...ij,...jkr  r?  r   r   s     r.   test_einsum_ellipsis_3z)TestShapeInference.test_einsum_ellipsis_3  s      ;$i038I92UVx#scU]KKKL
 

 	*30ACUVVW	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   )r<   r.  r9  rX  r   )rX  r   r2  r  r   zabcd,dfg->abcfgr  )NNNNNr   r   s     r.   test_einsum_contractionz*TestShapeInference.test_einsum_contraction  s      k'6k'4 x#scU=NOOOP
 
 	&*,J 	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r4  r   r  r  r   z
ijk,ik->jkr  rM  r   r   s     r.   test_einsum_contraction_2z,TestShapeInference.test_einsum_contraction_2  s      ;$i038I62RSx#scU\JJJK
 

 	*30A<PPQ	
 	
 	
 	
 	
r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   )r<   rR   r   r   )r<   r   r   r  r   zbij , b jk-> bikr  r?  r   r   s     r.   test_einsum_batch_matmulz+TestShapeInference.test_einsum_batch_matmul  s      ;$i038I92UVx#scU=OPPPQ
 

 	e&<S+BSUg&h&h%ijjjjjr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   r  r  r   zij,klr  r  r   r   s     r.   test_einsum_left_hand_eqnz,TestShapeInference.test_einsum_left_hand_eqn  s      ;$f-[5F/OPx#scUWEEEF
 

 	e&<S+BSUm&n&n%opppppr5   c           	        |                      dt          j        dfdt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     t
          j        j        | j        |           d S )NrP   r   r   r   r  zi,...j, k, l-> ir  r   r   s     r.    test_einsum_incorrect_num_inputsz3TestShapeInference.test_einsum_incorrect_num_inputs  s      k'0k'0k'0
 x#scU=OPPPQ
 
 	$.=t~uUUUUUr5   c           	        d\  }}|                      dt          j        ||ffdt          j        |ffgt	          dddgdgd          gg           }|                     |t          dt          j        |f          g           d S )Nr  r  targetNegativeLogLikelihoodLosslossnone	reductionrN  r^   r  r  r   s       r.   (test_negative_log_likehood_shape_is_NCddz;TestShapeInference.test_negative_log_likehood_shape_is_NCdd  s    1  {(1a&1Hk>ORSQU3VW/h'H$	   
 
 	e&<V[EVYZX\&]&]%^_____r5   c           	     &   d\  }}|                      dt          j        ||ffdt          j        |ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        |f          g           d S )
Nr  r  r  weightr  r  r  r  r  r  r  rN  r  s       r.   2test_negative_log_likehood_shape_is_NC_with_weightzETestShapeInference.test_negative_log_likehood_shape_is_NC_with_weight  s    1  ++aV4;,qd3;,qd3 /111H$	   
 
  	e&<V[EVYZX\&]&]%^_____r5   c           	        d\  }}|                      dt          j        ||ffdt          j        |ffgt	          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	Nr  r  r  r  r  r  r  r1   rN  r  s       r.   5test_negative_log_likehood_shape_is_NC_reduction_meanzHTestShapeInference.test_negative_log_likehood_shape_is_NC_reduction_mean  s    1  {(1a&1Hk>ORSQU3VW/h'H$	   
 
 	e&<V[EVXZ&[&[%\]]]]]r5   c           	     $   d\  }}|                      dt          j        ||ffdt          j        |ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        d
          g           d S )Nr  r  r  r  r  r  r  r  r  r1   rN  r  s       r.   Atest_negative_log_likehood_shape_is_NC_with_weight_reduction_meanzTTestShapeInference.test_negative_log_likehood_shape_is_NC_with_weight_reduction_mean  s    1  ++aV4;,qd3;,qd3 /111H$	   
 
  	e&<V[EVXZ&[&[%\]]]]]r5   c           
        d\  }}}}|                      dt          j        ||||ffdt          j        |||ffgt	          dddgdgd          gg           }|                     |t          dt          j        |||f          g           d S )Nr   r   r<   r.  r  r  r  r  r  r  rN  r^   r  r  d1d2r   s         r.   *test_negative_log_likehood_shape_is_NCd1d2z=TestShapeInference.test_negative_log_likehood_shape_is_NCd1d23  s    !1b"  ++aB^<;,q"bk:
 /h'H$	   
 
 	e&<V[EVYZ\^`bXc&d&d%efffffr5   c           
     6   d\  }}}}|                      dt          j        ||||ffdt          j        |||ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        |||f          g           d S )
Nr  r  r  r  r  r  r  r  r  rN  r  s         r.   6test_negative_log_likehood_shape_is_NCd1d2_with_weightzITestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_with_weightF  s    !1b"  ++aB^<;,q"bk:;,qd3 /111H$	   
 
  	e&<V[EVYZ\^`bXc&d&d%efffffr5   c           	        d\  }}}}|                      dt          j        ||||ffdt          j        |||ffgt	          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	Nr  r  r  r  r  sumr  r1   rN  r  s         r.   8test_negative_log_likehood_shape_is_NCd1d2_reduction_sumzKTestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_reduction_sumZ  s    !1b"  ++aB^<;,q"bk:
 /h'H#	   
 
 	e&<V[EVXZ&[&[%\]]]]]r5   c           	     0   d\  }}}}|                      dt          j        ||||ffdt          j        |||ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        d
          g           d S )Nr  r  r  r  r  r  r  r  r  r1   rN  r  s         r.   Etest_negative_log_likehood_shape_is_NCd1d2_with_weight_reduction_meanzXTestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_with_weight_reduction_meanm  s     "1b"  ++aB^<;,q"bk:;,qd3 /111H$	   
 
  	e&<V[EVXZ&[&[%\]]]]]r5   c           	     F   d\  }}}}|                      dt          j        |||ffdt          j        ||dz   |ffdt          j        |ffdt          j        dfgt	          dg d	dgd
          gg           }|                     t          j        j        | j	        |           d S )Nr  r  r  r   r  r  r1   r  r  r  r  )
re   r   r   r\   r   r   ro   rp   r   ru   r  s         r.   6test_negative_log_likehood_input_target_shape_mismatchzITestShapeInference.test_negative_log_likehood_input_target_shape_mismatch  s    !1b"  ++aR[9;,q"q&"o>;,qd3*B/	 /111H$	   
 
" 	$.=t~uUUUUUr5   c           
     D   d\  }}}}|                      dt          j        ||||ffdt          j        |||ffdt          j        |dz   ffdt          j        |||ffgt	          dg ddgd	
          gg           }|                     t          j        | j        |           d S )Nr  r  r  r  r   r  r  r  r  r  )	re   r   r   r\   r   r   r   r  ru   r  s         r.   6test_negative_log_likehood_input_weight_shape_mismatchzITestShapeInference.test_negative_log_likehood_input_weight_shape_mismatch  s    !1b"  ++aB^<;,q"bk:;,q1uh7*QBK8	 /111H$	   
 
" 	'14>5IIIIIr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrP   r   r   r   SoftmaxCrossEntropyLossr   r  r  r   r   s     r.   test_softmax_cross_entropy_nonez2TestShapeInference.test_softmax_cross_entropy_none  s      ;$f-[5F/MN03*sevVVVW
 

 	e&<S+BSUY&Z&Z%[\\\\\r5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r   r   r   r  r   r  r  r1   r   r   s     r.   test_softmax_cross_entropy_meanz2TestShapeInference.test_softmax_cross_entropy_mean  s      ;$f-[5F/MN03*sevVVVW
 

 	e&<S+BSUW&X&X%YZZZZZr5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrP   )rR   r   r<   rX  r   )rR   r<   rX  r  r   r  r  r   r   s     r.   &test_softmax_cross_entropy_none_NCD1D2z9TestShapeInference.test_softmax_cross_entropy_none_NCD1D2  s      k'6k'3 03*sevVVVW
 
 	e&<S+BSU^&_&_%`aaaaar5   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrP   r1  r   )rR   r   r<   r  r   r  r  r1   r   r   s     r.   &test_softmax_cross_entropy_mean_NCD1D2z9TestShapeInference.test_softmax_cross_entropy_mean_NCD1D2  s      k'6k'3 03*sevVVVW
 
 	e&<S+BSUW&X&X%YZZZZZr5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr   rf  Celur   r  )r  r   r   s     r.   test_celu_function_output_shapez2TestShapeInference.test_celu_function_output_shape  s      ;$&678vuse37778
 

 	*30ACSTTU	
 	
 	
 	
 	
r5   c                   t          dddgd          g}|g }n]d}|D ]}||z  }d t          |          D             }t          dt          j        ||          t          dt          j        ||          g}|g }n@t          j        dt          j        |          t          j        dt          j        |          g}t          j        |d|g |g           }	t          j        |	          S )	Nr  rP   r   r   r   c                    g | ]}d S )        r1   )r3   r  s     r.   r=   zHTestShapeInference.prepare_input_initializer_tensors.<locals>.<listcomp>  s    ---AC---r5   rW   )inputsoutputsrJ   rH   )	r   r&   r   r   r   r   r   r]   rn   )
r^   initializer_shapeinput_shaperF   rJ   r  dr  r  r   s
             r.   !prepare_input_initializer_tensorsz4TestShapeInference.prepare_input_initializer_tensors  s   53*c223$KKD&    ax--t---DC!24EtLLC!24EtLLK FF -c;3DkRR-c;3DkRRF
 !#
 
 
  '''r5   c                H   d}|                      |d           }t          j                            |d          }|j        j                                        }|j        j        j	        j
        d         j        |j        j        j	        j
        d         j        f}||k    sJ d S )NrX  r9  Tr  r   r   )r  ro   rp   rq   r   rH   rm   r   r   r   r   r   )r^   r  original_modelrt   z_tenorz_shapes         r.   3test_infer_with_initializer_without_input_above_ir4zFTestShapeInference.test_infer_with_initializer_without_input_above_ir4  s     #??@QSWXX-:: ; 
 

 !&15577L$*.q1;L$*.q1;
 +++++++r5   c                Z   d}d}|                      ||          }d|_        t          j                            |d          }|j        j                                        }|j        j	        j
        j        d         j        |j        j	        j
        j        d         j        f}|dk    sJ d S )	Nr  rM  r   Tr  r   r   r   r   )r  
ir_versionro   rp   rq   r   rH   rm   r   r   r   r   r   )r^   r  r  r  rt   r  r  s          r.   3test_infer_with_initializer_without_input_below_ir4zFTestShapeInference.test_infer_with_initializer_without_input_below_ir4  s     #"??{
 
 %&!-:: ; 
 
 !&15577L$*.q1;L$*.q1;

 &      r5   c                    d}d}|                      ||          }|                     t          j        j        t          j        j        |d           d S )Nr  r  Tr  r  r   ro   rp   r   rq   r^   r  r  r  s       r.   %test_infer_initializer_input_mismatchz8TestShapeInference.test_infer_initializer_input_mismatch#  sh    "??{
 
 	 / -	 	 	
 	
 	
 	
 	
r5   c                |    d}d}|                      ||          }t          j                            |d           d S Nr  rM  Tr  r  ro   rp   rq   r  s       r.   1test_infer_initializer_input_consistency_all_nonezDTestShapeInference.test_infer_initializer_input_consistency_all_none2  sK    ""??{
 
 	)).d)KKKKKr5   c                |    d}d}|                      ||          }t          j                            |d           d S )Nr  Nr9  Tr  r  r  s       r.   4test_infer_initializer_input_consistency_single_nonezGTestShapeInference.test_infer_initializer_input_consistency_single_none;  sK    "??{
 
 	)).d)KKKKKr5   c                    d}d}|                      ||          }|                     t          j        j        t          j        j        |d           d S )N)rX  r9  r   r  Tr  r  r  s       r.   6test_infer_initializer_input_consistency_differnt_rankzITestShapeInference.test_infer_initializer_input_consistency_differnt_rankD  sh    %??{
 
 	 / -	 	 	
 	
 	
 	
 	
r5   c                    d}d}|                      ||          }t          j                            |                                d           d S r  )r  ro   rp   rq   SerializeToStringr  s       r.   <test_infer_initializer_input_consistency_all_none_serializedzOTestShapeInference.test_infer_initializer_input_consistency_all_none_serializedR  sf     #"??{
 
 	)),,..D 	* 	
 	
 	
 	
 	
r5   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          g           d S )	NrP   r4  rw  r1   Trilur   r   r  r@  r   s     r.   test_trilu_upperz#TestShapeInference.test_trilu_upper_  s      ;$i038I22NOwc
SE223$S+*;RFFG	 ! 
 
 	e&<S+BSU^&_&_%`aaaaar5   c                0   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg t          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )NrP   r4  rw  r1   r  r   r   upperr2  r  r@  r   s     r.   test_trilu_lowerz#TestShapeInference.test_trilu_lowerh  s      ;$i038I22NOwc
SE;;;<$S+*;RGGH	 ! 
 
 	e&<S+BSU^&_&_%`aaaaar5   c                0   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg t	          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )NrP   )r   r<   rw  r1   r  r   r   r  r  r  )re   r   r\   r   r   r   r   r   s     r.   test_trilu_upper_zeroz(TestShapeInference.test_trilu_upper_zeroq  s      ;$f-[5F/KLwc
SE;;;<$S+*;RFFG	 ! 
 
 	e&<S+BSU[&\&\%]^^^^^r5   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrP   )r   r   r<   r  r   r   r  )re   r   rz  r   r   r   r   s     r.   test_trilu_lower_onez'TestShapeInference.test_trilu_lower_onez  sw      ;$i01wuA6667
 

 	e&<S+BSU^&_&_%`aaaaar5   c           
        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	g d
d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S NrP   rv  r  rv  r   
input_mean	input_varr  rP   r  r   r  r  rA  output_mean
output_varr   training_moderA  r  r  r   r   s     r.   test_batch_norm_trainz(TestShapeInference.test_batch_norm_train  s      k'9++T2k'.{0$7k/6 (BBB888"#	   !
 
$ 	&uk.?QQ&}k6GNN&|[5FMM	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	g d
d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S )NrP   )r   r  r<   r.  r9  r  r  r   r  r  r  r  r  r   r  rA  r  r  r   r   s     r.   test_batch_norm_train_dim_paramz2TestShapeInference.test_batch_norm_train_dim_param  s      k'):;++V4k'0{0&9k/8 (BBB888"#	   !
 
$ 	&uk.?ARSS&}k6GPP&|[5FOO	
 	
 	
 	
 	
r5   c           
        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	g d
d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S r
  )re   r   r  r   r   r   r   r   s     r.   $test_batch_norm_train_with_diff_typez7TestShapeInference.test_batch_norm_train_with_diff_type  s      k)?;+-t4k)40{0$7k/6 (BBB888"#	   !
 
$ 	&uk.A?SS&}k6GNN&|[5FMM	
 	
 	
 	
 	
r5   c           	     J   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
gd          gg           }|                     |t          d
t          j        d          g           d S )NrP   rv  r  rv  r   r  r  r  r  rA  r   r  r   r   s     r.   test_batch_norm_testz'TestShapeInference.test_batch_norm_test  s      k'9++T2k'.{0$7k/6 (BBBG"#	   !
 
$ 	e&<UKDUWf&g&g%hiiiiir5   c           	     J   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg           }|                     |t          dt          j        d          g           d S )NrP   )r   r   NNNr  rv  r   r  rU   r  r  r  rA  r   r  r   r   s     r.   test_batch_norm_test_no_dimz.TestShapeInference.test_batch_norm_test_no_dim  s      k')AB++T2k'.{0':k/6 (BBBG"#	   !
 
$ 	e&<UKDUWo&p&p%qrrrrrr5   c           
        |                      dt          j        d fdt          j        d fdt          j        d fdt          j        dfdt          j        dfgt          dg dg d	d
          gg           }|                     |t          dt          j        d           t          dt          j        d          t          dt          j        d          g           d S )NrP   r  r   r  r  r  r  r  )rA  running_meanrunning_varr   r  rA  r  r  r   r   s     r.   test_batch_norm_train_no_shapez1TestShapeInference.test_batch_norm_train_no_shape   s      k'.++T2k'.{0&9k/8 (BBB:::"#	   !
 
$ 	&uk.?FF&~{7H&QQ&}k6GPP	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   rU   NonZerorA  )r   Nr  r   s     r.   test_nonzerozTestShapeInference.test_nonzero  sr      ;$g./y3%%112
 

 	e&<UKDUW`&a&a%bcccccr5   c                    |                      dt          j        d fgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r"  rA  rM  r  r   s     r.   test_nonzero_no_shapez(TestShapeInference.test_nonzero_no_shape$  sq      ;$d+,ySEE7/S/S.TVX
 
 	e&<UKDUWc&d&d%efffffr5   c           	        |                      dt          j        dfgt          ddgdg          gt	          dt          j        d          g          }|                     |t	          dt          j        d          g           d S )NrP   r   r"  r   )NNZ)r   r'  )re   r   r   r   r   r\   r   r   s     r.   test_nonzero_existing_dim_paramz2TestShapeInference.test_nonzero_existing_dim_param*  s      ;$d+,y3%#//0#C):LIIJ
 

 	e&<S+BSU^&_&_%`aaaaar5   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r1   r"  rA  )r   Nr  r   s     r.   test_nonzero_scalarz&TestShapeInference.test_nonzero_scalar2  sq      ;$b)*Yy3%%-Q-Q,RTV
 
 	e&<UKDUW`&a&a%bcccccr5   c           	         t          j        t          j        g d          }t          j        |          }t          j        d|          }|                     g t          dg dg|          gg           }|                     ||g           d S )Nr  r  r  r*   
type_protor  r   	r   r  r   r   r  r  re   r   r   r^   r  r  optional_val_infor   s        r.   $test_optional_construct_empty_tensorz7TestShapeInference.test_optional_construct_empty_tensor8  s    "9!'yyy
 
 
 %=>OPP"2&9
 
 
   :rH:<MNNNOQS
 
 	e&7%899999r5   c           	     H   t          j        t          j        g d          }t          j        |          }t          j        |          }t          j        d|          }|                     g t          dg dg|          gg           }| 	                    ||g           d S )Nr  r  r  r,  r  r.  )
r   r  r   rz  r  r  r  re   r   r   )r^   r  r  r  r1  r   s         r.   &test_optional_construct_empty_sequencez9TestShapeInference.test_optional_construct_empty_sequenceE  s    "9!'yyy
 
 
 %=>OPP$=>QRR"2"/B
 
 
   z2(9':ATUUUV
 

 	e&7%899999r5   c                :   t          j        t          j        g d          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          gg           }|                     ||g           d S )Nr   r  r  r,  r  r  r/  r0  s        r.   test_optional_construct_tensorz1TestShapeInference.test_optional_construct_tensorU  s    "9!'yyy
 
 
 %=>OPP"2&9
 
 
   )956zH:z::;
 

 	e&7%899999r5   c           	        t          j        t          j        g d          }t          j        |          }t          j        d|          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          gg           }| 	                    |||g           d S )	N)rR   r   r   r  input_sequencer,  r  r  r  r  )
r   r  r   r\   r  r  r  re   r   r   r^   r  r  sequence_val_infor  r1  r   s          r.    test_optional_construct_sequencez3TestShapeInference.test_optional_construct_sequenced  s   "9!'yyy
 
 
 %=>OPP"2!.A
 
 
 %=>QRR"2"/B
 
 
   )956-z<L;MNN*'7&8;L:MNN 
 
 	e&79J%KLLLLLr5   c           	        t          j        t          j        g d          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          gg           }|                     ||t          dt          j
        d	          g           d S )
Nr   r  r  r,  r  r  OptionalHasElementr  r1   )r   r  r   r   r  r  re   r   r   r   r6  r0  s        r.    test_optional_tensor_has_elementz3TestShapeInference.test_optional_tensor_has_elementz  s    "9!'yyy
 
 
 %=>OPP"2(;
 
 
   )956*xj:,??.xjII 
 
 	 6xAQSU V VW	
 	
 	
 	
 	
r5   c           
        t          j        t          j        g d          }t          j        |          }t          j        d|          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          t          d	dgd
g          gg           }| 	                    |||t          d
t          j        d          g           d S )N)r   r   r   r  r  r,  optionalr  r  r  r=  r  r1   )r   r  r   r   r  r  r  re   r   r   r   r6  r9  s          r.   "test_optional_sequence_has_elementz5TestShapeInference.test_optional_sequence_has_element  s:   "9!'yyy
 
 
 %=>OPP"2(;
 
 
 %=>QRR"2(;
 
 
   )956-zJ<HH*zlZLAA.xjII
 
 
 	!!&x1A2FF	
 	
 	
 	
 	
r5   c                   t          j        t          j        g d          }t          j        d|          }|                     dt          j        dfgt          ddgdg          gg           }|                     ||g           d S )NrR   r   r   r  r  r,  r  OptionalGetElement)r   r  r   rs  r  re   r   r   )r^   r  output_tensor_val_infor   s       r.   test_tensor_get_elementz*TestShapeInference.test_tensor_get_element  s    "9!(			
 
 
 "(!7&7"
 "
 "
   {)956.	H:FF 
 
 	e&<%=>>>>>r5   StringSplitc           	     L   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddg          g||g          }|                     |||gt          j        t          |          g           d S )N
substrings)rR   Nlengthr   rP   rG  r   
r   r   r   r\   re   r   r   r   r   r   r^   r   r-   rI  rJ  r   s         r.   test_string_split_basicz*TestShapeInference.test_string_split_basic  s    +
 


 (+2CTJJ  k($/ }selH-EFFG 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     L   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddg          g||g          }|                     |||gt          j        t          |          g           d S )NrI  )rB  NrJ  )rB  rP   rG  r   rK  rL  s         r.   test_string_split_symbolicz-TestShapeInference.test_string_split_symbolic  s    +
 


 (+2CVLL  k(&1 }selH-EFFG 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     P   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddgd          g||g          }|                     |||gt          j        t          |          g	           d S )
NrI  )rR   r   r   NrJ  r  rP   rG  rR   maxsplitr   rK  rL  s         r.   test_string_split_nestedz+TestShapeInference.test_string_split_nested  s    ++,o
 

 (+2CYOO  k()4 }selH-EPQRRRS 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     P   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddgd          g||g          }|                     |||gt          j        t          |          g	           d S )
NrI  rU   rJ  r1   rP   rG  rR   rQ  r   rK  rL  s         r.   (test_string_split_zero_dimensional_inputz;TestShapeInference.test_string_split_zero_dimensional_input  s    +L+:LgVV
'+2CRHH  k("- }selH-EPQRRRS 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r5   c           	     P   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddgd          g||g          }|                     |||gt          j        t          |          g	           d S )
NrI  )rQ  r   r   NrJ  )rQ  r   r   rP   rG  rR   rQ  r   rK  rL  s         r.   test_string_split_empty_inputz0TestShapeInference.test_string_split_empty_input  s    ++,.?
 

 (+2C[QQ  k(+6 }selH-EPQRRRS 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r5   c           	        t          j        t          j        g d          }t          j        d|          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          gg           }|                     |||g           d S )	NrC  r  r  r,  r@  r  r  rD  )	r   r  r   rs  r  r  re   r   r   )r^   r  tensor_val_intor  r1  r   s         r.    test_optional_tensor_get_elementz3TestShapeInference.test_optional_tensor_get_element   s    "9!(			
 
 
 !0&7
 
 
 %=>OPP"2(;
 
 
   *I67*xj:,??.xjII 
 
 	e&7%IJJJJJr5   c           
        t          j        t          j        g d          }t          j        |          }t          j        d|          }t          j        |          }t          j        d|          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          d	dgdg          t          d
dgdg          gg           }| 	                    ||||g           d S )N)rR   r   r   r  r  r,  r@  r  r  r  r  rD  )
r   r  r   rz  r  r  r  re   r   r   )r^   r  r  sequence_val_intor  r1  output_val_intor   s           r.   "test_optional_sequence_get_elementz5TestShapeInference.test_optional_sequence_get_element5  s<   "9!'yyy
 
 
 %=>OPP"2(;
 
 
 %=>QRR"2(;
 
 
 !0&9
 
 
   )956-zJ<HH*zlZLAA.xjII
 
 
 	e&79JO%\]]]]]r5   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d          g           d S )Nr  r  rP   r   Where)r  rP   r   rA  )re   r   r6  BFLOAT16r   r   r   r   s     r.   test_where_bfloatz$TestShapeInference.test_where_bfloatO  s      )51k*E2k*E2
 w 2 2 2UG<<=
 
 	e&<UKDXZ_&`&`%abbbbbr5   c                \   t          j        t          j        dg t          j        dt          j        d           gt          ddgdg          gt          j        t          j
        ddgt          j                  d	          g
                    }|                     t          j        j        t          j        j        |d           t          j                            |          }|                     |j        j        d         j        j                            d                     d S )Ngraph_with_unsupported_typer   r   r  rP   r   r   r  rN   r*   r  r  rF   rJ   r   Tr  r   r   )r   rn   r]   r   r   r   r   r   
from_arrayr   r  int32r   ro   rp   r   rq   assertFalser   r  r   r   r   )r^   modelrt   s      r.   ,test_parse_data_with_unsupported_tensor_typez?TestShapeInference.test_parse_data_with_unsupported_tensor_type[  s.   !#21#{7HPTUUU !!2SEC5AAB !+BHaV28,L,L,LSVWWW  
 
 
 	 / -	 	 	
 	
 	
 -::5AA '*/;DDWMM	
 	
 	
 	
 	
r5   c                   t          j        t          j        dg t          j        dt          j        d           gt          ddgdg          gt          j        t          j
        ddgt          j                  d	          g
                    }t          j        |j        j        d         _        |                     t"          j        j        t"          j        j        |d           t"          j                            |          }|                     |j        j        d         j        j                            d                     |                     dt          j        dfdt          j        dfgt          dddgdgd          gg t;          dt          j        dd          g          }|                     |t          dt          j        d          g           d S )Ngraph_with_undefined_typer   re  r  rP   r   r   r  rN   rf  rg  r   Tr  r   rb  r   rV   r   rc  r_  r  )r   rn   r]   r   r   r   r   r   rh  r   r  int64rZ   r   rJ   	data_typer   ro   rp   r   rq   rj  r  r   r   r   re   r  r\   r   r   )r^   rk  rt   r   s       r.   *test_parse_data_with_undefined_tensor_typez=TestShapeInference.test_parse_data_with_undefined_tensor_typew  s   !#01#{7HPTUUU !!2SEC5AAB +BHaV28,L,L,LSVWWW
 
 

 
 
 0;/D", / -	 	 	
 	
 	
 -::5AA '*/;DDWMM	
 	
 	
   ;$i07K<Mt2TUy3.3%1EEEF$Wk.?yQQR	 ! 
 
 	*30A9MMN	
 	
 	
 	
 	
r5   c                T   d\  }}}}|                      dt          j        |ddffdt          j        dfgt	          dddgdgd	
          gg t          dt          j        d||||f          g          }|                     |t          dt          j        |||df          g           d S )Nr1  thetarR   r   r  rv  
AffineGridgridr   )align_cornersr  r@  )r^   r  r  r  ri  r   s         r.   test_affinegrid_2dz%TestShapeInference.test_affinegrid_2d  s    
1a  ++aAY7*D1
  f%H"#	   $V[->q!QPQlSST ! 
 
  	*6;3Dq!QPQlSST	
 	
 	
 	
 	
r5   c                V   d\  }}}}}|                      dt          j        |ddffdt          j        dfgt	          dddgdg          gg t          dt          j        d|||||f          g	          }|                     |t          dt          j        ||||df          g           d S )
N)rR   r   r   r<   r.  rs  r   r   r  r  rt  ru  r  r@  )r^   r  r  Dr  ri  r   s          r.   test_affinegrid_3dz%TestShapeInference.test_affinegrid_3d  s    %1aA  ++aAY7*D1
  f%H  $V[->q!QPQSToVVW ! 
 
 	*6;3Dq!QPQSToVVW	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdgddd	
          gg           }|                     |t          dt          j        d          g           d S )NrP   r~  ru  )r   r   r   rR   
GridSampler   nearestborderr   rL  padding_moderv  rN  r   s     r.   test_gridsample_2dz%TestShapeInference.test_gridsample_2d  s      k'6*L9
  &ME"!)"#  	 
 
" 	*30A<PPQ	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdgddd	
          gg           }|                     |t          dt          j        d          g           d S )NrP   )r   r   r   r   r   ru  )r   r   rR   r   r   r|  r   r}  r~  r   r  )r   r   r   rR   r   rN  r   s     r.   test_gridsample_3dz%TestShapeInference.test_gridsample_3d  s      k'9*O<
  &ME"!)"#  	 
 
" 	*30A?SST	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   r  ru  )r  H_outW_outrR   r|  r   )r  r  r  r  r   r   s     r.   test_gridsample_2d_defaultsz.TestShapeInference.test_gridsample_2d_defaults  s      k')=>*,FG |c6]SE::;
 
 	&*,H 	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrP   )r  r  ry  r  ri  ru  )r  D_outr  r  r   r|  r   )r  r  r  r  r  r   r   s     r.   test_gridsample_3d_defaultsz.TestShapeInference.test_gridsample_3d_defaults   s      k')BC*,OP |c6]SE::;
 
 	&*,Q 	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdgdd	          gg           }|                     |t          dt          j        d          g           d S )
NrP   )r  r  NNru  )r  NNrR   r|  r   linearr~  rL  r  r   r   s     r.   test_gridsample_2d_no_dimz,TestShapeInference.test_gridsample_2d_no_dim   s      k')?@*,@A
  &ME!!)   
 
  	#C):<RSST	
 	
 	
 	
 	
r5   c           
         |                      dt          j        dfdt          j        dfgt          dddgdgdd	          gg           }|                     |t          dt          j        d          g           d S )
NrP   )r  r  NNNru  )r  NNNr   r|  r   r  r~  r  r   r   s     r.   test_gridsample_3d_no_dimz,TestShapeInference.test_gridsample_3d_no_dim/   s      k')EF*,FG
  &ME!!)   
 
  	&*,H 	
 	
 	
 	
 	
r5   c           
     ,   t          dt          j        d          g}t          dt          j        d          g}t          j        t          ddgdg          gd||          }|                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          t          ddgdg|          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )Nr  )   r  r   r  r  
body_graphr  r  r  r  r  r  SequenceMapout_sequencer  	r   r   r   r   r]   r   re   r   r   r^   r`   r  r  r   s        r.   %test_sequence_map_identity_known_dimsz8TestShapeInference.test_sequence_map_identity_known_dimsI   sU   "7K,=}MM
 #8[->NN
 &zG9xj99:	
 

   ;,m<;,m<;,m< ')G)G)G-  !M?^4D:  	 
 
  	/!;#4m  0"K$5} 	
	
 
	
 
	
 
	
 
	
r5   c           
     ,   t          dt          j        d          g}t          dt          j        d          g}t          j        t          ddgdg          gd||          }|                     dt          j        dfdt          j        d	fd
t          j        dfgt          dg ddg          t          ddgdg|          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )Nr  r  ri  r   r  r  r  r  )rc  rD  r   r  )r?  rc  r   r  )r<   r   r   r  r  r  r  r  r  NNr   r  r  s        r.   'test_sequence_map_identity_unknown_dimsz:TestShapeInference.test_sequence_map_identity_unknown_dimsr   sU   "7K,=}MM
 #8[->NN
 &zG9xj99:	
 

   ;,m<;,m<;,i8 ')G)G)G-  !M?^4D:  	 
 
  	/!;#4o  0"K$5 	
	
 
	
 
	
 
	
 
	
r5   c                F   t          j        t          dg ddg          t          dg ddg          gdt          j                             dt          j        j        d          gt          j                             dt          j        j        d	          t          j                             dt          j        j        d
          gt          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          g          }| 	                    dt
          j        dfdt
          j        dfdt
          j        dfgt          dg ddg          t          ddgd d!g|"          gg           }| 
                    |t          dt
          j        d#          t          d t
          j        d	          t          d!t
          j        d
          g           d S )$NrL  rP   starts1ends1r  r  y1rP   starts2ends2r  r  y2r  rP   r  )r2  r3  r   )r   (   r   r  r   rd  r  r  r  r2  r3  r  r  r   r  rF   r*   r  r  rJ   r  r  i6  r   r  n      r   r  Z   r  r   r  r  r  r  out_sequence1out_sequence2r  r  r   r]   r   ro   r   r   r   r   r\   re   r   r   r^   r  r   s      r.   'test_sequence_map_slice_outs_known_dimsz:TestShapeInference.test_sequence_map_slice_outs_known_dims   s:   &'#H#H#H4&QQ'#H#H#H4&QQ 22)/  22$*0+  22$*0+ 	 FK$5tVDDI{'8$GGG[%6hGGI{'8$GGG[%6hGG'
 
 

8   ;,m<;,m<;,l; ')G)G)G-  !"O$o6#	  	
 #
 
& 	/!;#4o  0#[%6  0#[%6 
	
 	
 	
 	
 	
r5   c                F   t          j        t          dg ddg          t          dg ddg          gdt          j                             dt          j        j        d          gt          j                             dt          j        j        d	          t          j                             dt          j        j        d
          gt          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          g          }| 	                    dt
          j        dfdt
          j        dfdt
          j        dfgt          dg ddg          t          ddgd d!g|"          gg           }| 
                    |t          dt
          j        d#          t          d t
          j        d#          t          d!t
          j        d#          g           d S )$NrL  r  r  r  r  r  rP   r  )r_  W1r   )r`  W2r   r  r   rd  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  s      r.   )test_sequence_map_slice_outs_unknown_dimsz<TestShapeInference.test_sequence_map_slice_outs_unknown_dims   s:   &'#H#H#H4&QQ'#H#H#H4&QQ 22)/  22$*0/  22$*0/ 	 FK$5tVDDI{'8$GGG[%6hGGI{'8$GGG[%6hGG'
 
 

8   ;,m<;,m<;,l; ')G)G)G-  !"O$o6#	  	
 #
 
& 	/!;#4o  0#[%6  0#[%6 
	
 	
 	
 	
 	
r5   c           
     z   t          j        t          ddgdg          gdt          j                             dt          j        j        d          gt          j                             dt          j        j        d          g          }|                     dt
          j        d	fd
t
          j        dfdt
          j        dfgt          dg ddg          t          ddgdg|          gg           }| 	                    |t          dt
          j        d          t          dt
          j        d          g           d S )Nr  rP   r   r  )r  ri  r  r   )rF   r*   r  r  r  r  r  r  r  r  r  r  r  r  shapesr  r  )r   r]   r   ro   r   r   r   r\   re   r   r   r  s      r.   'test_sequence_map_different_tensor_typez:TestShapeInference.test_sequence_map_different_tensor_type!  s_   &WsegY77822)/  22T-3T 
 
 

   ;,m<;,m<;,l; ')G)G)G-  --8*:VVV	 
 
 	/!;#4o  0+:KTRR		
 	
 	
 	
 	
r5   c                   |                      g t          dg dgt          dt          j        dd                    t          ddgdg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          ddgdgd	          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nrg  r   r1   r  rh  HammingWindowr   r   periodicre   r   r   r   r\   r   r   r   r   s     r.   test_hammingwindowz%TestShapeInference.test_hammingwindowA!  so     I%g{/@"eLL	   /G9se<< 
 
 	&w0A2FF&sK,=uEE	
 	
 	
   I%g{/@"eLL	   /G9seaHHH 
 
 	&w0A2FF&sK,=uEE	
 	
 	
 	
 	
r5   c                   |                      g t          dg dgt          dt          j        dd                    t          ddgdg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          ddgdgd	          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nrg  r   r1   r  rh  
HannWindowr   r   r  r  r   s     r.   test_hannwindowz"TestShapeInference.test_hannwindowl!  so     I%g{/@"eLL	   ,	C599 
 
 	&w0A2FF&sK,=uEE	
 	
 	
   I%g{/@"eLL	   ,	C51EEE 
 
 	&w0A2FF&sK,=uEE	
 	
 	
 	
 	
r5   c                   |                      g t          dg dgt          dt          j        dd                    t          ddgdg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          ddgdgd	          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nrg  r   r1   r  rh  BlackmanWindowr   r   r  r  r   s     r.   test_blackmanwindowz&TestShapeInference.test_blackmanwindow!  sq     I%g{/@"eLL	   *WIu== 
 
 	&w0A2FF&sK,=uEE	
 	
 	
   I%g{/@"eLL	   *WIuqIII 
 
 	&w0A2FF&sK,=uEE	
 	
 	
 	
 	
r5   c           
     <    g | ]\  \  }}\  }}}}}}||||||||fS r1   r1   	r3   r*   r-   test_aspectr  r;  onesidedinverseexpected_shapes	            r.   r=   zTestShapeInference.<listcomp>!  a     $	
 $	
 $	
w " 	$	
 $	
 $	
r5   DFT))reals_default_axisrR   r<   r   NNNr  )reals_axis_0r   r<   r2  r   r   r   r   r   r<   r2  rR   )reals_axis_1r  r   r   r   r  )reals_axis_2r  rR   r   r   r  )reals_axis_negr  rk  r   r   r  )reals_axis_0_onesidedr  r   r   r   )rR   r<   r2  rR   )reals_axis_1_onesidedr  r   r   r   )r   r   r2  rR   )reals_axis_2_onesidedr  rR   r   r   r   r<   r.  rR   )reals_axis_neg_onesidedr  rk  r   r   r  )complex_default_axisr  NNNr  )complex_onesidedr  r   r   N)rR   r   rR   )real_inverser  r   Nr   r  )complex_inverser  r   Nr   r  r   r-   _test_aspectr  
tuple[int]r;  
int | Noner  r  r  c	                "   i }	|||	d<   |||	d<   |dk     r|||	d<   t          dddgdgfi |	g}
g }n}|dk    sJ |^t          d	g dgt          dt          j        d
|f                    t          dg ddgfi |	g}
t	          dt          j        d
          g}nt          dg ddgfi |	g}
g }|                     g t          d	g dgt          dt          j        |t          j        |t          j	                  
                                                    g|
g           }|                     |t	          dt          j        |          g|t	          dt          j        |          t          j        t          |          g           d S )Nr  r  r3  r;  r  r  r  r  rg  r1   rh  r  r  r;  r  r  r  r  r   r   r   r   r\   r   re   r   r   onesfloat32flattenr   r   r   r   )r^   r   r-   r  r  r;  r  r  r  
attributesrF   value_infosr   s                r.   test_dftzTestShapeInference.test_dft!  s$   f 
%-Jz"$+Jy!R<<%)
6"uwmhZNN:NNOEKKb====")&+2CR$QQ	   e%:%:%:XJUU*UU  6fk>OQSTTU e%6%6%6
QQjQQ !   I%#)#2:>>>FFHH	 	
 
 
  !
 
$ 	&w0A;OO 'x1BNSS
 ".{GDDE 	 	
 	
 	
 	
 	
r5   c           
     <    g | ]\  \  }}\  }}}}}}||||||||fS r1   r1   r  s	            r.   r=   zTestShapeInference.<listcomp>1"  r  r5   ))r  r  NNNrR   r  rR   )r  r  r   r   r   )r  r<   r2  rR   )r  r  r   r   r   )r   r  r2  rR   )r  r  rR   r   r   r   r<   r  rR   )r  r  rk  r   r   r  )r  r  r   r   r   )   r<   r2  rR   )r  r  r   r   r   )r   r  r2  rR   )r  r  rR   r   r   r   r<   r  rR   )r  r  rk  r   r   r  )r  r  NNNr  )r  r  r   r   N)rR   r  rR   )r  r  r   Nr   r  )r  r  r   Nr   r  c	                   i }	|||	d<   |||	d<   d}
|dk     rf|||	d<   t          dg dgt          dt          j        d|
f          	          t          d
ddgdgfi |	g}t	          dt          j        d          g}n|dk    sJ |t          dg dgt          dt          j        d|f          	          t          dg dgt          dt          j        d|
f          	          t          d
g ddgfi |	g}t	          dt          j        d          t	          dt          j        d          g}n]t          dg dgt          dt          j        d|
f          	          t          d
g ddgfi |	g}t	          dt          j        d          g}|                     g t          dg dgt          dt          j        |t          j        |t          j	                  
                                          	          g|g           }|                     |t	          dt          j        |          g|t	          dt          j        |          t          j        t          |          g           d S )Nr  r  r  r3  r;  rg  
dft_lengthr1   rh  r  r  r  r  r  r;  )r  r  r  r  r   r  )r^   r   r-   r  r  r;  r  r  r  r  r  rF   r  r   s                 r.   test_dft_dft_lengthz&TestShapeInference.test_dft_dft_length0"  s   f 
%-Jz"$+Jy!
R<<%)
6"!N%$k&7j] 	   %'<!88*SS
SS
E 2,@QSUVVWKKb====")&+2CR$QQ	   "%)(+*;R* 	   e%D%D%Dxj__T^__$ +<9JBOO*6;3DbII "%)(+*;R* 	   e%@%@%@8*[[PZ[[
 +<9JBOO
   I%#)#2:>>>FFHH	 	
 
 
  !
 
$ 	&w0A;OO 'x1BNSS
 ".{GDDE 	 	
 	
 	
 	
 	
r5   ))rY  r   )last_negativer$   )out_of_ranger   )out_of_range_negativer  c                ^   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dddgdgd	|
          gg           }| 	                    t          j        j                  5  |                     |t          dt          j        d          t          dt          j        d          gt          j        t"          d          g           d d d            d S # 1 swxY w Y   d S )Nrg  r  rR   r<   r<   rR   r  rh  r  r  r  r   )r  r;  rR   r   r<   rR   r  r   )re   r   r   r   r   r   r  r  r  r   ro   rp   r   r   r   r   r   r   r^   r   r;  r   s       r.   test_dft_invalid_axis_opset17z0TestShapeInference.test_dft_invalid_axis_opset17"  sx      I%#)$BJ???GGII	 	
 
 
 %'2
QTRRR !
 
$ t3BCC 	 	!!*7K4E|TT*8[5FUU  &2;CCD "   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   /A&D""D&)D&c                   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dg dgt          dt          j	        d|f                    t          dg d	d
g          gg           }| 
                    t          j        j                  5  |                     |t          dt          j        d          t          dt          j	        d          t          d
t          j        d          gt!          j        t$          d          g           d d d            d S # 1 swxY w Y   d S )Nrg  r  r  r  rh  r;  r1   r  r  r  r  r3  r   )re   r   r   r   r   r   r  r  r  r\   r   ro   rp   r   r   r   r   r   r   r  s       r.   test_dft_invalid_axis_opset20z0TestShapeInference.test_dft_invalid_axis_opset20"  s      I%#)$BJ???GGII	 	
 
 
 H%fk.?dWMM	   %!6!6!6
CC%( -
 
0 t3BCC 		 		!!*7K4E|TT*6;3DbII*8[5FUU
  &2;CCD "   		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		s   B E''E+.E+)real)rR   r<   r<   r   )complexr  tuple[int, ...]c                   |                      dt          j        dfgt          dg dgt	          dt          j        |t          j        |t          j                  	                                                    t          dg dd	g          gg           }| 
                    |t          dt          j        |          t          d	t          j        d
          gt          j        t          d          g           d S )Nr;  r1   rg  r  r  rh  r  r  r  r  r3  r   re   r   r\   r   r   r   r   r  r  r  r   r   r   r   r   r^   r   r   r   s       r.   test_dft_dynamic_axis_opset20z0TestShapeInference.test_dft_dynamic_axis_opset20#  s      k',-I%#)RZ888@@BB	 	
 
 
 %!6!6!6
CC !
 
$ 	&w0A5II&x1BLQQ ".{B??@ 	 	
 	
 	
 	
 	
r5   c                   |                      dt          j        dfgt          dg dgt	          dt          j        |t          j        |t          j                  	                                                    t          dg dgt	          dt          j        dt          j
        dgt          j                                      t          d	g d
dgd          gg           }|                     |t          dt          j        |          t          dt          j        d          t          dt          j        d          gt          j        t           d          g           d S )Nr;  r1   rg  r  r  rh  r  r  r  r  r  r   r  NNNrR   r3  r   )re   r   r\   r   r   r   r   r  r  r  r  ro  r   r   r   r   r   r  s       r.   1test_dft_dynamic_axis_onesided_dft_length_opset20zDTestShapeInference.test_dft_dynamic_axis_onesided_dft_length_opset202#  s      k',-I%#)RZ888@@BB	 	
 
 
 !N%$#)"RX666	 	
 
 
 :::XJQR  /6 ;
 
> 	&w0A5II&|[5FKK&k/1F  ".{B??@ 	 
	
 
	
 
	
 
	
 
	
r5   c                   |                      dt          j        dfgt          dg dgt	          dt          j        |t          j        |t          j                  	                                                    t          dg dd	gd
          gg           }| 
                    |t          dt          j        |          t          d	t          j        d          gt          j        t          d          g           d S )Nr;  r1   rg  r  r  rh  r  r  r  r   r	  r
  r3  r   r  r  s       r.   &test_dft_dynamic_axis_onesided_opset20z9TestShapeInference.test_dft_dynamic_axis_onesided_opset20f#  s      k',-I%#)RZ888@@BB	 	
 
 
 %!6!6!6
QOOO !
 
$ 	&w0A5II&k/1F  ".{B??@ 	 		
 		
 		
 		
 		
r5   c                   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dddgdgd	
          gg           }| 	                    |t          dt          j        d          t          dt          j        d          gt          j        t          d          g           d S )Nrg  r  r  r  rh  r  r  r  r   r	  r  r  r   re   r   r   r   r   r   r  r  r  r   r   r   r   r   r   s     r.   &test_dft_onesided_default_axis_opset17z9TestShapeInference.test_dft_onesided_default_axis_opset17#  s      I%#)$BJ???GGII	 	
 
 
 %'2
QGGG !
 
$ 	&w0A<PP&x1BLQQ ".{B??@ 	 	
 	
 	
 	
 	
r5   c                   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dg ddgd	
          gg           }| 	                    |t          dt          j        d          t          dt          j        d          gt          j        t          d          g           d S )Nrg  r  r  r  rh  r  r  r  r   r	  )rR   r<   r   rR   r3  r   r  r   s     r.   &test_dft_onesided_default_axis_opset20z9TestShapeInference.test_dft_onesided_default_axis_opset20#  s     I%#)$BJ???GGII	 	
 
 
 %!2!2!2XJKKK !
 
$ 	&w0A<PP&x1BLQQ ".{B??@ 	 	
 	
 	
 	
 	
r5   c                   |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        d
d                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d	t          j        d
          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        d
d                    t          dg dgt          dt          j        dd
                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d	t          j        d
          t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd
                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S )Nrg  signal)rR   r2  r   )r   r   r   r   r   r   r   r   r   r   rR   rR   rR   rR   rR   r   r   r   r   r   rh  
frame_stepr1   r   windowr  r5  STFT)r  r  r  r  r  frame_length)r  r  r  r  )re   r   r   r   r   r\   r   r   r   s     r.   test_stft_realsz"TestShapeInference.test_stft_reals#  s;     J% #)"T	 	
 
 
 !N%lK4Er4PP	   J% +"3T? 	   &"D"D"DxjQQ58 =
 
B 	&x1BJOO&|[5FKK&x1BDII&x1BLQQ		
 	
 	
   J% #)"T	 	
 
 
 !N%lK4Er4PP	   J% +"3T? 	   #$%nk6GTRR	   &"D"D"DxjQQA!D I%
 %
N 	&x1BJOO&|[5FKK&x1BDII&~{7H"MM&x1BLQQ		
 		
 		
   J% #)"T	 	
 
 
 !N%lK4Er4PP	   #$%nk6GTRR	   HHH8* 18 =
 
B 	&x1BJOO&|[5FKK&~{7H"MM&x1BLQQ		
 	
 	
 	
 	
r5   c                   |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        dd
                    t          dg dgt          dt          j        dd                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          d	t          j        d          t          dt          j        d          t          dt          j        d          g           d S )Nrg  num_mel_binsr1   r  rh  r  r  sample_ratelower_edge_hertzg      $@upper_edge_hertzg      Y@MelWeightMatrixr  r  r  r  r  r  r  r2  )re   r   r   r   r\   r   r   r   r   s     r.   test_melweightmatrixz'TestShapeInference.test_melweightmatrixO$  s     #$%nk6GUSS	   !N%lK4Er6RR	   "O%m[5FERR	   '(%*K,=r7 	   '(%*K,=r8 	   %   J
 
G.^ c2
 2
f 	&~{7H"MM&|[5FKK&}k6GLL&'9;;LbQQ&'9;;LbQQ&x1BHMM
	
 
	
 
	
 
	
 
	
r5   c                   |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        dd
                    t          dg dgt          dt          j        dd                    t          dg ddgt          j                  gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          d	t          j        d          t          dt          j        d          t          dt          j        d          g           d S )Nrg  r  r1   r  rh  r  r  r  r  r  r  r   r!  r"  r  )output_datatyper#  )	re   r   r   r   r\   r   rs  r   r   r   s     r.   )test_melweightmatrix_with_output_datatypez<TestShapeInference.test_melweightmatrix_with_output_datatype$  s     #$%nk6GUSS	   !N%lK4Er6RR	   "O%m[5FERR	   '(%*K,=r7 	   '(%*K,=r8 	   %   J$/$6  G/` e3
 3
h 	&~{7H"MM&|[5FKK&}k6GLL&'9;;LbQQ&'9;;LbQQ&x1CXNN
	
 
	
 
	
 
	
 
	
r5   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )N
input_data)r3  r2  r   r   r   CenterCropPadr   r   r   r  r2  rX  r  r2  rX  r   r  r   r  r   s     r.   test_center_crop_pad_hwc_cropz0TestShapeInference.test_center_crop_pad_hwc_crop$        {0+>++T2 w(?#aQRVTTTU$Wk.?wOOP ! 
 
 	#C):JGGH!.{B??@ 	 	
 	
 	
 	
 	
r5   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr)  )r   r3  r2  r   r   r*  r   r   rR   r  r+  r  )r   r2  rX  r  r   r  r   s     r.   test_center_crop_pad_chw_cropz0TestShapeInference.test_center_crop_pad_chw_crop$  r.  r5   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr)  )r2  r2  r   r   r   r*  r   r   r   r  r3  rX  r  )r3  rX  r   r  r   r  r   s     r.    test_center_crop_pad_hwc_croppadz3TestShapeInference.test_center_crop_pad_hwc_croppad$  r.  r5   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr)  )r   r2  r2  r   r   r*  r   r   rR   r  r2  r  )r   r3  rX  r  r   r  r   s     r.    test_center_crop_pad_chw_croppadz3TestShapeInference.test_center_crop_pad_chw_croppad %  r.  r5   c                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d           gt          j        t          d          g           d S )	Nr)  r  r   r   r*  r   r  r   r  r   s     r.   (test_center_crop_pad_without_input_shapez;TestShapeInference.test_center_crop_pad_without_input_shape%  s      {0&9++T2 w(?#GGH
 
 	#C):DAAB!.{B??@ 	 	
 	
 	
 	
 	
r5   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr)  )r3  ri  r   r   r   r*  r   r   r   r  r+  r  r,  r  r   r  r   s     r.   ;test_center_crop_pad_with_input_shape_containing_dim_paramszNTestShapeInference.test_center_crop_pad_with_input_shape_containing_dim_params%  s       {0,?++T2 w(?#aQRVTTTU$Wk.?wOOP ! 
 
 	#C):JGGH!.{B??@ 	 	
 	
 	
 	
 	
r5   c           	     :   t          ddgdgt                    }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d          g           |                     dt          j        d	fg|gg           }|                     |t          dt          j        d	          gt          t          d          t          t          d          g           d S )
NCategoryMapperrP   r   rW  r   r   r  r   )r   r<   r   )
r   r   re   r   r\   r   r   r   r   r   )r^   cat	graph_int	graph_strs       r.   test_category_mapperz'TestShapeInference.test_category_mapper1%  s:   EE!	
 
 
 $$;$j12E
 
	
 	#C);ZHHI^Q//["-- 	 	
 	
 	
 $$;%z23E
 
	
 	#C):JGGH^Q//["-- 	 	
 	
 	
 	
 	
r5   c           	     <   t          ddgdgt          d          }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d	          g
           d S )NTreeEnsembleRegressorrP   r   r<   )r+   	n_targetsr   r   r   r<   r   r  r   )
r   r   re   r   rs  r   r   r   r   r   r^   treer   s      r.   test_tree_ensemble_regressorz/TestShapeInference.test_tree_ensemble_regressorT%  s    #EE!
 
 
   ;%w/0F
 

 	#C):GDDE^Q//["-- 	 	
 	
 	
 	
 	
r5   c                d   d}d}t          ddgdgt          ddg|z  t          d||ft          t	          |                              t          dt
          j        |fdg|z            dg|z  dg|z  dg|z  dg|z  t          d	|d
dddt          j        dddg          dg|z  t          d||fdg|z            dg          }| 	                    d|dfg|gg           }| 
                    |t          d|d          gt          t          d          t          t          d          g           d S )Nr<   r   TreeEnsemblerP   r   r   nodes_splitsnodes_modesmembership_values)r9  r  r  r  r  r  ro  leaf_weightsr   )r+   rB  nodes_featureidsrJ  rK  nodes_truenodeidsnodes_falsenodeidsnodes_trueleafsnodes_falseleafsrL  leaf_targetidsrM  
tree_roots
Batch SizeFeatures)rV  r<   r  r   )r   r   r   r   r&   r   r  r   nanre   r   r   r   r   )r^   r  interior_nodesleavesrF  r   s         r.   test_tree_ensemblez%TestShapeInference.test_tree_ensemblek%  s    EE!S>1$!U>**++	  $!!n$	   !cN2 !s^3C.0S>1)#c3S#6	  3<$^UVIsV|TTs? 
  
  
D   5456F
 
 	#C0ABBC^Q//["-- 	 	
 	
 	
 	
 	
r5   r   r.  rM  )r   r   r   rJ  r  r<   )rO  rM  rJ  )r  r  c                b   d}d}t          ddgdgt          ddg|z  |t          dt          j        |fdg|z            |dg|z  dg|z  dg|z  dg|z  |dg          }|                     dt          j        d	fg|gg           }|                     t          j	        j
        | j        |           d S )
Nr<   r   rI  rP   r   r   rK  )r+   rB  rN  rJ  rK  rO  rP  rQ  rR  rS  rM  rT  rU  )r   r   r   r   r  re   rs  r   ro   rp   r   ru   )r^   rO  rM  rJ  rY  rZ  rF  r   s           r.   .test_tree_ensemble_fails_if_invalid_attributeszATestShapeInference.test_tree_ensemble_fails_if_invalid_attributes%  s    ^ EE!S>1%#!!n$	  0 !s^3C.0S>13<%s)
 
 
.   ;%'ABCF
 

 	$.=t~uUUUUUr5   c           	     v   t          ddgddgg dt                    }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          t          dt          j        d	          gt          t          d
          t          t          d          g           d S )NTreeEnsembleClassifierrP   r   r   )r   r   rR   r   r   )classlabels_int64sr+   rC  )r   rD  r   r  r   )r   r   re   r   rs  r   r   r\   r   r   r   rE  s      r.   test_tree_ensemble_classifierz0TestShapeInference.test_tree_ensemble_classifier%  s    $E#J.!
 
 
   ;%w/0F
 

 	&sK,=uEE&sK,=wGG
 ^Q//["-- 	 
	
 
	
 
	
 
	
 
	
r5   c                n   t          dddgdgt                    }dD ]\  }}|                     dt          j        dfdt          j        |fg|gg           }|                     |t          dt          j        dd	|f          gt          t          d          t          t          d
          g           d S )NArrayFeatureExtractorrP   r   r   rW  ))r   rR   )r1   r  )r  r  r4  r   r   r  r   	r   r   re   r   r\   r   r   r   r   )r^   node
axes_shapeexpectedr   s        r.   test_array_feature_extractorz/TestShapeInference.test_array_feature_extractor
&  s    ##JE!	
 
 
%
 	 	 J
 $$++Y7++Z8  E !!'[->Ax@PQQR 33 b11 "    	 	r5   c           	     :   t          ddgdgt                    }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d          g           d S )	N	BinarizerrP   r   rW  r4  r   r  r   rd  )r^   re  r   s      r.   test_binarizerz!TestShapeInference.test_binarizer(&  s    EE!	
 
 
   k'3 F
 
 	#C):IFFG^Q//["-- 	 	
 	
 	
 	
 	
r5   c           
     2   |                      dt          j        dfgt          ddgdgg dd          gg           }|                     |t          dt          j        d          gt          t          d	          t          t          d
          g           d S )Nr  )rR   r  r   OneHotEncoderr  r  
ai.onnx.ml)cats_int64sr+   rR   r  r   r   r   r  r   )
re   r   r\   r   r   r   r   r   r   r   r   s     r.   test_one_hot_encoderz'TestShapeInference.test_one_hot_encoder@&  s      {(+67#IJ ,'   
 
 	#Hk.?PPQ^Q//["-- 	 	
 	
 	
 	
 	
r5   c                    dg dit           j        j        fdg dit           j        j        ff}|D ]J\  }}|                     ||          5  |                     ||           d d d            n# 1 swxY w Y   Kd S )Nr`  r  classlabels_strings)r   r   c)attrsr  )ro   r   r\   r   subTestzip_map_test_case)r^   paramsru  r  s       r.   test_zip_mapzTestShapeInference.test_zip_mapX&  s     #III.0@0FG#___5t7G7NO
 "( 	: 	:E:EjAA : :&&uj999: : : : : : : : : : : : : : :	: 	:s   A00A4	7A4	c           	         |                      dt          j        dfgt          ddgdgfi |ddigg           }t          j                            |t          j                            t          j        d                    }|                     |t          j        	                    dt          j        
                    |                    gt          t          d          t          t          d	          g
           d S )Nr  )r  r   ZipMapr  r+   rn  r1   r   r  r   )re   r   r   r   ro   r   make_map_type_protor  r   r  r  r   r   r   )r^   ru  r  r   typs        r.   rw  z$TestShapeInference.zip_map_test_caseb&  s     {((34IJ  	 
 (   
 
 k--::;;LbQQ
 
 	++dkBB3GG  ^Q//["-- 	 	
 	
 	
 	
 	
r5   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr  rp  r   rU   Compressr  re   r   r\   r6  r   r   r   r   s     r.   test_compress_without_axisz-TestShapeInference.test_compress_without_axis&  s      ++^<k.8 zG[#9H:FFG
 
 	e&<X{GXZa&b&b%cdddddr5   c           	         |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
Nr  rp  r   rU   r  r  r$   r:  )rR   r  r   Nr  r   s     r.   test_compress_with_axisz*TestShapeInference.test_compress_with_axis&  s      ++^<k.8 zG[#9H:BOOOP
 
 	e&<X{GXZk&l&l%mnnnnnr5   c                   d}t           j                            |          }t          j        dddg g           }t           j                            |           |                     t           j        j                  5  t           j        	                    |d           d d d            n# 1 swxY w Y   t           j        
                    |j        |j        |j                   d S )Nz
            <
                ir_version: 7,
                opset_import: ["" : 1]
            >
            agraph (X, Y) => (Z)
            {
                Z = CustomOp(X, Y)
            }
           CustomOpr  r   )r  r  T)ro   parserparse_modelr   r   register_schemar   rp   r   rq   deregister_schemar*   r'   r+   )r^   r  rk  	op_schemas       r.   (test_check_type_when_schema_has_empty_ioz;TestShapeInference.test_check_type_when_schema_has_empty_io&  s   	 ''..M
 
 
	 		!!),,,t3BCC 	; 	; --eT:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;	##NI3Y5E	
 	
 	
 	
 	
s   >!B++B/2B/N)r!   rw   )r   r8   rh   r   r!   rw   )r   r   r   r   r!   rw   )r   r   r   r   r   r   r!   rw   )r   r8   r  r	  r!   rw   )
rN  rO  rP  rO  rQ  rO  rR  rO  r!   rw   )rh  )rN  rO  rP  rO  rQ  rO  rR  rO  r  r8   r!   rw   )
r   r   r  r   r  r   r  r   r!   r   )r   r8   r-   rO  r  r8   r  r  r;  r  r  r  r  r  r  r  r!   rw   )r   r8   r;  rO  r!   rw   )r   r8   r   r  r!   rw   (  r   r   r   r   r   r   expandrA   r   r   r   r   r   r   r   r   r   r   r   r  unittestr   r
  r  r  r$  r)  r0  r6  r<  rB  rE  rH  rJ  rN  rS  rU  rZ  r\  r`  re  rj  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r!  r$  r(  r,  r/  r7  r9  r=  rA  rD  rF  rH  rO  rR  rT  rZ  r]  r`  re  rg  ri  rl  ro  rq  rt  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$  r&  r)  r,  r/  r4  r7  r:  r<  rF  rH  rM  r]  ra  rd  rg  rf  rm  rq  rs  ry  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r   r"  r%  r'  r)  r,  r/  r4  r6  r9  r;  r=  r?  rA  rC  rF  rH  rJ  rL  rN  rP  rU  rX  r[  r^  ra  rd  rm  rp  rs  ru  rx  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r#  r%  r(  r*  r,  r.  r0  r9  r;  r>  r@  rD  rF  ro   r   r   r  ra  rL  rO  rQ  rW  r[  r^  r`  rc  rf  rj  rq  rs  rv  r{  r}  r  
skipUnlessr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r!  r$  r)  r+  r-  r/  r1  r3  r5  r8  r:  r>  r@  rD  rF  rI  rM  rO  rY  re  ro  rv  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r#  r%  r(  r*  r2  r4  r6  r;  r>  rA  rF  rM  rO  rS  rU  rW  rZ  r^  rb  rl  rq  rw  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  	itertoolsproductr  r  r  r   r  r  r  r  r  r  r$  r'  r-  r0  r3  r5  r7  r9  r?  rG  rs  r[  r   r]  ra  rh  rk  rq  ry  rw  r  r  r  r1   r5   r.   r   r      sF8       V V V V
 
 
 
 ]**;7788

 

 

 98

 ]**;7788

 

 

 98

 ]**;7788
 
 
 98
 ]**;7788

 

 

 98

 ]**;7788V V V 98V ]**;7788V V V 98V ]**;7788V V V 98V
 
 
 
$ ]**84455J J J 65J
 
 
 
 ]**84455H H H 65H  ]**62233

 

 

 43

 ]**62233X] V V V  43V ]**:6677

 

 

 87

 ]**84455
 
 
 65
0 ]**84455
 
 
 65
6 ]**84455
 
 
 65
6 ]**84455
 
 
 65
6 ]**84455
 
 
 65
0 ]**84455

 

 

 65

 ]**84455
V 
V 
V 65
V ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**95566
 
 
 76
 ]**95566

 

 

 76

 ]**95566

 

 

 76

 ]**95566
 
 
 76
 ]**95566
 
 
 76
 ]**95566
 
 
 76
 ]**95566
 
 
 76
" ]**95566
 
 
 76
. ]**:6677'B 'B 'B 87'BR ]**:6677-B -B -B 87-B^ ]**84455
 
 
 65
 ]**84455
 
 
 65
 ]**84455
 
 
 65
* ]**84455
 
 
 65
  ]**84455
 
 
 65
" ]**844556 6 6 656p ]**84455
 
 
 65
$ ]**84455
 
 
 65
$ ]**84455
 
 
 65
8 ]**84455
 
 
 65
: ]**84455
 
 
 65
8 ]**84455
 
 
 65
: ]**84455
 
 
 65
( ]**84455
 
 
 65
$ ]**84455
 
 
 65
$ ]**84455
 
 
 65
4 ]**84455 
  
  
 65 
D ]**84455
 
 
 65
@ ]**73344

 

 

 54

 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**62233
 
 
 43
 ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**+;<<==

 

 

 >=

 ]**+;<<==

 

 

 >=

 ]**95566( ( ( 76(
 
 
 
  ]**95566. . . 76.
 
 
 
  ]**+<==>>
 
 
 ?>
  ]**+<==>>
 
 
 ?>
  ]**;7788
 
 
 98
  ]**;7788
 
 
 98
2 ]**95566   76< ]**>::;;
 
 
 <;
 ]**>::;;
 
 
 <;
 ]**+;<<==

 

 

 >=

 ]**+;<<==

 

 

 >=


 
 
 
	
 	
 	
 	
	
 	
 	
 	
	
 	
 	
 	
	
 	
 	
 	

 
 
 

 
 
 
0e e e e 
 
 
 
*
 
 
 
*
 
 
 
(
 
 
 
(
 
 
 
,_ _ _ _(_ _ _ _(_ _ _ _,a a a a$
 
 
 
(
 
 
 
,
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
$
 
 
 

 
 
 
	m 	m 	m 	m
 
 
 

 
 
 
&
 
 
 

 
 
 
($ $ $ $( ( ( (
 
 
 
2
 
 
 
&
 
 
 
<
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
# # # #
 
 
 

 
 
 

 
 
 

 
 
 
$
 
 
 

 
 
 
"a a a ae e e e
 
 
 


 

 

 

K K K KJ J J JK K K KO O O OL L L LM M M MO O O O
 
 
 
S S S SV V V V
 
 
 

 
 
 

 
 
 
c c c c	
 	
 	
 	
j j j j	
 	
 	
 	

 
 
 
8) ) ) )
 
 
 
@9 9 9 9 #*
 *
 *
 *
 *
X/ / / / 
  
  
  
D* * * *
 
 
 

 
 
 

 
 
 
.
 
 
 
 
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
"
 
 
 

 
 
 

 
 
 
 
 
 
 
 
 
 
 

 
 
 
	
 	
 	
 	

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
@@ @ @ @
 
 
 
(
 
 
 
(V V V V$
 
 
 

 
 
 

 
 
 
$
 
 
 

 
 
 

 
 
 

 
 
 
$
 
 
 
(
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 
&
 
 
 
&
 
 
 
&
 
 
 

 
 
 
&
 
 
 
(
 
 
 
&
 
 
 
&
 
 
 
(
 
 
 
&
 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 
&
 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 

 
 
 
(
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 
.
 
 
 
6
 
 
 
*
 
 
 
8
 8
 8
 8
t7
 7
 7
 7
r9
 9
 9
 9
v7
 7
 7
 7
r7
 7
 7
 7
r*
 *
 *
 *
X(
 (
 (
 (
T&h &h &h &hPe e e e4e e e e4B; B; B; B;H
 
 
 
"
 
 
 
,
e 
e 
e 
e
h 
h 
h 
h4
 4
 4
 4
l'
 '
 '
 '
R
 
 
 
6
 
 
 
"
 
 
 
"
 
 
 
6
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 

 
 
 
m m m m(
 
 
 
#
 #
 #
 #
J!
 !
 !
 !
F!
 !
 !
 !
F!
 !
 !
 !
F!
 !
 !
 !
Fm m m mB!
 !
 !
 !
F&
 &
 &
 &
P9 9 9 9"
 "
 "
 "
HF F F F
 
 
 
29 9 9 9 ]			!1!94;K;TU 
 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
*
 
 
 
0 X] 
 
 
 
( ]			!1!94;K;TU 
 
 
 

 
 
 
&
 
 
 

 
 
 
 
 
 
 
.
 
 
 
"	
 	
 	
 	

 
 
 
&k k k k X"QRR
 
 
 SR
8 X"QRR
 
 
 SR
8q q q q(
p 
p 
p 
p
h 
h 
h 
h ],3;(((4  O
 O
 O
 O
b ],3;(((4  "
 "
 "
 "
H ],3;(((4  B
 B
 B
 B
H   $` ` ` `
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
&e e e e 
 
 
 

 
 
 

 
 
 
	b 	b 	b 	bk k k k
 
 
 
2
 
 
 

 
 
 
2
 
 
 
2
 
 
 
<
 
 
 
<
 
 
 
8
 
 
 
4
 
 
 
0
 
 
 
0
 
 
 
8
 
 
 
4
 
 
 
2
 
 
 
 
 
 
 
 
 
 
 

 
 
 

 
 
 
.
 
 
 

 
 
 

 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
.
 
 
 
.
 
 
 
.
 
 
 
.
 
 
 
6
 
 
 
6
 
 
 
@#
 #
 #
 #
J!
 !
 !
 !
F'
 '
 '
 '
R%
 %
 %
 %
N,
 ,
 ,
 ,
\

 

 

 


 
 
 
*e e e e.
 
 
 
	] 	] 	] 	]e e e e[ [ [ [[ [ [ [q q q q` ` ` `e e e e
 
 
 

 
 
 

 
 
 
$
 
 
 
k k k kq q q q
V 
V 
V 
V` ` ` ` ` ` ` `(^ ^ ^ ^ ^ ^ ^ ^(g g g g&g g g g(^ ^ ^ ^&^ ^ ^ ^,V V V V*J J J J*] ] ] ][ [ [ [	b 	b 	b 	b	[ 	[ 	[ 	[
 
 
 
( ( (>, , , ,"! ! ! !,
 
 
 
L L L LL L L L
 
 
 

 
 
 
b b b bb b b b_ _ _ _b b b b
 
 
 
8
 
 
 
8
 
 
 
8j j j j*s s s s*
 
 
 
8d d d dg g g gb b b bd d d d: : : :: : : : : : : :M M M M,
 
 
 
*
 
 
 
<? ? ? ?  ]**=99::
 
 
 ;:
( ]**=99::
 
 
 ;:
( ]**=99::
 
 
 ;:
$ ]**=99::
 
 
 ;:
" ]**=99::
 
 
 ;:
&K K K K*^ ^ ^ ^4
c 
c 
c 
c
 
 
 
8%
 %
 %
 %
N
 
 
 
,
 
 
 
*
 
 
 
,
 
 
 
,
 
 
 
$
 
 
 
$
 
 
 
,
 
 
 
4'
 '
 '
R'
 '
 '
R=
 =
 =
~=
 =
 =
~&
 &
 &
P)
 )
 )
V)
 )
 )
V)
 )
 )
V ]$	
 $	
$ #"  '' %$	
 $	
 $	
& &NE
 E
 E
O& &NE
N ]$	
 $	
$ #"  '' %$	
 $	
 $	
& &Nf
 f
 f
O& &Nf
P ]	
 	
 	
    : ]	
 	
 	
 " " " "H ]"%	
 
 
 
 
8 ]"%	
 ,
 ,
 ,
 ,
\ ]"%	
 
 
 
 
@
 
 
 
:
 
 
 
:G
 G
 G
R>
 >
 >
@?
 ?
 ?
B
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
$ X"QRR 
  
  
 SR 
D X"QRR
 
 
 SR
, ];,k.@+BUVWWX"QRR2
 2
 2
 SR XW2
h ] '(S1W +"K$6qcAg! ! !,"K$6qcAg! !  '(S1W +"K$5taS1W! ! !,"K$6qcAg! !  '(S1W +"K$6sRx! ! !,"K$6qcAg! !  '(S1W +"K$6qcAg! ! !,"K$5taS1W! ! 9%	
' 'P X"QRR$V $V $V SRQ' 'R$VL X"QRR
 
 
 SR
2 X"QRR   SR: X"QRR
 
 
 SR
. X"QRR
 
 
 SR
. X"QRR: : : SR:
 
 
 
<	e 	e 	e 	e	o 	o 	o 	o
 
 
 
 
r5   r   __main__)r    r   r!   r"   )r7   r8   r!   r9   )3
__future__r   r  r  typingr   r   numpyr   r   r   onnx.shape_inferencero   r   r   r	   r
   r   r   r   r   r   r   r   r   r   	onnx.defsr   r   r   r   r   onnx.helperr   r   r   r   r   r   onnx.parserr   r/   get_all_schemasr6   __annotations__rA   TestCaserC   r   r   mainr1   r5   r.   <module>r     s  
 # " " " " " "                           ' ' ' ' ' '                                                              $ # # # # #	 	 	 	: :&$&((: : :       "K  K  K  K  K x0 K  K  K \MW
 MW
 MW
 MW
 MW
1 MW
 MW
 MW
`n zHMOOOOO r5   