
    hY             
         % S SK Jr  S SKrS SKrS SKJrJr  S SKrS SK	r	S SK
J
r
  S SKrS SKJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJrJrJrJr  S SK J!r!J"r"J#r#J$r$J%r%J&r&  S SK'J(r(  SS	 jr)\RT                  " 5        V s0 s H(  n U RV                  U RX                  \-" \)" U 5      5      4_M*     sn r.S
\/S'   SS jr0 " S S\Rb                  5      r2 " S S\25      r3\4S:X  a  \Rj                  " 5         ggs  sn f )    )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_graphc                   [        5       n[        U R                  SS5       HH  n UR                  [        R
                  " U R                  X R                  5      R                  5        MJ     U$ ! [         a       U$ f = f)Nr   )	setrangesince_versionaddr   
get_schemanamedomainr   )schemaversionsversions      X/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/shape_inference_test.pyget_available_versionsr-   1   so    H--q"5	LLWmmDRR 6 O  	O	s   AA00
A?>A?z%dict[str, tuple[str, frozenset[int]]]ALL_OP_VERSIONSc                    [         U    u  pU(       d  [        SU  35      e[        U5      nU Vs/ s H  nUS:  d  U[        :w  d  M  SU 3U4PM     sn$ s  snf )Nz#No versions available for operator    r+   )r.   
ValueErrorsortedr   )op_namer(   versions_setr*   r+   s        r,   all_versions_forr5   C   s|    *73F>wiHIIl#H  	
  G Q;&K/	
gY	
  	 	 	s   AAc                      \ rS rSr S	         S
S jjr      SS jr        SS jr      SS jrS rSr	g)TestShapeInferenceHelperT   Nc           	     4   Uc  / nU Vs1 s H  oUR                   iM     nn/ nU H  n[        U[        5      (       a  US S u  p[        U6 nOU[        R
                  p[        U5      nX;   a  UR                  U5        M\  UR                  U5        UR                  [        SU	-   U
S5      5        UR                  [        SU	-   [        R                  S5      5        [        SSU	-   SU	-   /U	/5      /US S& M     [        R                  " USU/ UUS	9$ s  snf )
N   SEED_ UNKNOWN_SHAPE_NReshaper   test)initializer
value_info)r'   
isinstancetupler   r   	UNDEFINEDr   appendINT64r   r   
make_graph)selfseed_valuesnodesrB   rA   xnames_in_initializerinput_value_infos
seed_value	seed_name
proto_typeseed_value_infos               r,   _make_graph$TestShapeInferenceHelper._make_graphU   s=    K0;<1< &J*e,,(22A%	"8*"E(2K4I4I:">z"J0!((9!!/2!((*7Y+>
BO "((*(94k6G6G ! 9,.>.JK"bq	' &4   #!
 	
?  =s   Dc                    UR                  SS5      n[        U[        5      (       a  SUS'   [        R                  " U40 UD6nOUn[
        R                  R                  USUS9n[        R                  " U5        U$ )N	data_propFz	onnx-testproducer_nameT)strict_moderV   )
poprC   r   r   
make_modelonnxshape_inferenceinfer_shapesr   check_model)rI   graph_or_modelkwargsrV   
orig_modelinferred_models         r,   	_inferred"TestShapeInferenceHelper._inferred   s}     JJ{E2	nj11&1F?#**>DVDJ'J--::DI ; 
 	N+    c                .   [        U[        5      (       a  UOUR                  nU Vs1 s H  oUR                  iM     nnUR                   Vs/ s H  oUR                  U;  d  M  UPM     snU-   nU R
                  " U40 UD6n[        UR                  R                  5      n[        US S9n[        US S9n[        U5      [        U5      :X  d   e[        X(5       H+  u  pU R                  U	R                  U
R                  5        M-     g s  snf s  snf )Nc                    U R                   $ r>   r'   rL   s    r,   <lambda>;TestShapeInferenceHelper._assert_inferred.<locals>.<lambda>   s    re   )keyc                    U R                   $ r>   rh   ri   s    r,   rj   rk      s    !&&re   )rC   r   graphr'   rB   rc   listr2   lenzip_compare_value_infostype)rI   r_   visr`   rn   rL   names_in_visrb   inferred_visv
inferred_vs              r,   _assert_inferred)TestShapeInferenceHelper._assert_inferred   s     .*55 %% 	
 ),,1,**I*QffL.Hq*ICOA&AN00;;<S./l0@A3x3|,,,, 3MA%%affjoo> 4 -Is   DD$Dc                   UR                  S5      (       Ga  UR                  S5      (       d   eUR                  R                  S5      (       d   eUR                  R                  S5      (       d   eUR                  R                  UR                  R                  :X  d   eUR                  R                  S5      UR                  R                  S5      :X  d   eUR                  R                  S5      (       Ga  [        UR                  R                  R
                  5      [        UR                  R                  R
                  5      :X  d   e[        UR                  R                  R
                  5       H  u  p4UR                  R                  R
                  U   nUR                  (       a*  UR                  UR                  :X  d   SU SU S35       eMc  UR                  UR                  :X  a  M   SU SU S35       e   g g UR                  S5      (       aV  UR                  S5      (       d   eUR                  R                  nUR                  R                  nU R                  Xg5        g UR                  S5      (       aV  UR                  S5      (       d   eUR                  R                  nUR                  R                  nU R                  Xg5        g UR                  S5      (       a  UR                  S5      (       d   eUR                  R                  UR                  R                  :X  d   eU R                  UR                  R                  UR                  R                  5        g U[        R                   " 5       :X  a  U[        R                   " 5       :X  d   eg [#        S[%        U5      5      e)	Ntensor_type	elem_typeshape
sequence_typeoptional_typemap_typez6Unrecognized value info type in _compare_value_infos: )HasFieldr|   r}   rp   r~   dim	enumerate	dim_param	dim_valuer   rr   r   r   key_type
value_typer[   r   NotImplementedErrorstr)rI   vi_typeinferred_vi_typedim_ir   inferred_dimviinferred_vis           r,   rr   -TestShapeInferenceHelper._compare_value_infos   sL    M**#,,];;;;&&//<<<<#//88EEEE##--1A1M1M1W1WWW&&//!--66w?@ @ @ ""++G447..44889S$0066::>    #,G,?,?,E,E,I,I"JJE#3#?#?#E#E#I#I%#PL}}MM\-C-CC@y+;*<B?@C  MM\-C-CC@y+;*<B?@C #K	 5 o..#,,_====&&00B*88BBK%%b6o..#,,_====&&00B*88BBK%%b6j))#,,Z8888##,,0@0@0I0IIII%%  ++-=-F-F-Q-Q ((#t~~'7777%H#g, re   c                @    U(       a  [         R                  " U5        g g r>   )pytestskip)rI   	conditionreasons      r,   skipIfTestShapeInferenceHelper.skipIf   s    KK re   r<   r>   )
rJ   z5Sequence[str | tuple[str, TensorProto.DataType, Any]]rK   zlist[NodeProto]rB   list[ValueInfoProto]rA   zSequence[TensorProto] | Nonereturnr   )r_   GraphProto | ModelProtor`   r   r   r	   )r_   r   rt   r   r`   r   r   None)r   r   r   r   r   r   )
__name__
__module____qualname____firstlineno__rS   rc   ry   rr   r   __static_attributes__r<   re   r,   r7   r7   T   s     59/
J/
 /
 )	/

 2/
 
/
b5AD	?/? "? 	?
 
?*1 14=1	1f re   r7   c                  0   \ rS rSrGSS jrGSS jr\R                  " \" S5      5      GSS j5       r	\R                  " \" S5      5      GSS j5       r
\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS	 j5       r\R                  " \" S5      5      GSS
 j5       r\R                  " \" S5      5      GSS j5       r      GSS jr\R                  " \" S5      5      GSS j5       r        GSS jr\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS j5       r\R                  " \" S5      5      GSS  j5       r\R                  " \" S!5      5      GSS" j5       r \R                  " \" S!5      5      GSS# j5       r!\R                  " \" S!5      5      GSS$ j5       r"\R                  " \" S!5      5      GSS% j5       r#\R                  " \" S!5      5      GSS& j5       r$\R                  " \" S!5      5      GSS' j5       r%\R                  " \" S!5      5      GSS( j5       r&\R                  " \" S!5      5      GSS) j5       r'\R                  " \" S*5      5      GSS+ j5       r(\R                  " \" S*5      5      GSS, j5       r)\R                  " \" S-5      5      GSS. j5       r*\R                  " \" S-5      5      GSS/ j5       r+\R                  " \" S-5      5      GSS0 j5       r,\R                  " \" S-5      5      GSS1 j5       r-\R                  " \" S-5      5      GSS2 j5       r.\R                  " \" S35      5      GSS4 j5       r/\R                  " \" S35      5      GSS5 j5       r0\R                  " \" S35      5      GSS6 j5       r1\R                  " \" S35      5      GSS7 j5       r2\R                  " \" S35      5      GSS8 j5       r3\R                  " \" S35      5      GSS9 j5       r4\R                  " \" S35      5      GSS: j5       r5\R                  " \" S35      5      GSS; j5       r6\R                  " \" S35      5      GSS< j5       r7\R                  " \" S35      5      GSS= j5       r8\R                  " \" S35      5      GSS> j5       r9\R                  " \" S35      5      GSS? j5       r:\R                  " \" S35      5      GSS@ j5       r;\R                  " \" SA5      5      GSSB j5       r<\R                  " \" SA5      5      GSSC j5       r=\R                  " \" SA5      5      GSSD j5       r>\R                  " \" SA5      5      GSSE j5       r?\R                  " \" SA5      5      GSSF j5       r@\R                  " \" SA5      5      GSSG j5       rA\R                  " \" SH5      5      GSSI j5       rB\R                  " \" SJ5      5      GSSK j5       rC\R                  " \" SJ5      5      GSSL j5       rD\R                  " \" SJ5      5      GSSM j5       rE\R                  " \" SN5      5      GSSO j5       rF\R                  " \" SN5      5      GSSP j5       rG\R                  " \" SQ5      5      GSSR j5       rHGSSS jrI\R                  " \" SQ5      5      GSST j5       rJGSSU jrK\R                  " \" SV5      5      GSSW j5       rL\R                  " \" SV5      5      GSSX j5       rM\R                  " \" SY5      5      GSSZ j5       rN\R                  " \" SY5      5      GSS[ j5       rO\R                  " \" S\5      5      GSS] j5       rP\R                  " \" S^5      5      GSS_ j5       rQ\R                  " \" S^5      5      GSS` j5       rR\R                  " \" Sa5      5      GSSb j5       rS\R                  " \" Sa5      5      GSSc j5       rTGSSd jrUGSSe jrVGSSf jrWGSSg jrXGSSh jrYGSSi jrZGSSj jr[GSSk jr\GSSl jr]GSSm jr^GSSn jr_GSSo jr`GSSp jraGSSq jrbGSSr jrcGSSs jrdGSSt jreGSSu jrfGSSv jrgGSSw jrhGSSx jriGSSy jrjGSSz jrkGSS{ jrlGSS| jrmGSS} jrnGSS~ jroGSS jrpGSS jrqGSS jrrGSS jrsGSS jrtGSS jruGSS jrvGSS jrwGSS jrxGSS jryGSS jrzGSS jr{GSS jr|GSS jr}GSS jr~GSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jr      GSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jr          GSS jrGSS jr          GSS jrGSS jr GS           GSS jjrGSS jr          GSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSS jrGSGS  jrGSGS jrGSGS jrGSGS jrGSGS jrGSGS jrGSGS jrGSGS jrGSGS jrGSGS	 jrGSGS
 jrGSGS jrGSGS jrGSGS jrGSGS jrGSGS jGr GSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGr	GSGS jGr
GSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS  jGrGSGS! jGrGSGS" jGrGSGS# jGrGSGS$ jGrGSGS% jGrGSGS& jGrGSGS' jGrGSGS( jGr      GSGS) jGrGSGS* jGr        GSGS+ jGrGSGS, jGr      GSGS- jGrGSGS. jGrGSGS/ jGr GSGS0 jGr!GSGS1 jGr"GSGS2 jGr#GSGS3 jGr$GSGS4 jGr%GSGS5 jGr&GSGS6 jGr'GSGS7 jGr(GSGS8 jGr)GSGS9 jGr*GSGS: jGr+G\,GRZ                  " G\.GS;5      GSGS< j5       Gr/G\,GRZ                  " G\.GS;5      GSGS= j5       Gr0GSGS> jGr1GSGS? jGr2GSGS@ jGr3\R                  " G\.(       a	  \" GSA5      O/ GSBGSC9GSGSD j5       Gr4\R                  " G\.(       a	  \" GSA5      O/ GSBGSC9GSGSE j5       Gr5\R                  " G\.(       a	  \" GSA5      O/ GSBGSC9  GSGSF j5       Gr6          GSGSG jGr7GSGSH jGr8GSGSI jGr9GSGSJ jGr:GSGSK jGr;GSGSL jGr<GSGSM jGr=GSGSN jGr>GSGSO jGr?GSGSP jGr@GSGSQ jGrAGSGSR jGrBGSGSS jGrCGSGST jGrDGSGSU jGrEGSGSV jGrFGSGSW jGrGGSGSX jGrHGSGSY jGrIGSGSZ jGrJGSGS[ jGrKGSGS\ jGrLGSGS] jGrMGSGS^ jGrNGSGS_ jGrOGSGS` jGrPGSGSa jGrQGSGSb jGrRGSGSc jGrSGSGSd jGrTGSGSe jGrUGSGSf jGrVGSGSg jGrWGSGSh jGrXGSGSi jGrYGSGSj jGrZGSGSk jGr[GSGSl jGr\GSGSm jGr]GSGSn jGr^GSGSo jGr_GSGSp jGr`GSGSq jGraGSGSr jGrbGSGSs jGrcGSGSt jGrdGSGSu jGreGSGSv jGrfGSGSw jGrgGSGSx jGrhGSGSy jGriGSGSz jGrjGSGS{ jGrkGSGS| jGrlGSGS} jGrmGSGS~ jGrnGSGS jGroGSGS jGrpGSGS jGrqGSGS jGrrGSGS jGrsGSGS jGrtGSGS jGruGSGS jGrvGSGS jGrwGSGS jGrxGSGS jGryGSGS jGrzGSGS jGr{GSGS jGr|GSGS jGr}GSGS jGr~GSGS jGrGSGS jGrGSGS jGr  GSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGS GrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGr\R                  " \" GS5      5      GSGS j5       Gr\R                  " \" GS5      5      GSGS j5       Gr\R                  " \" GS5      5      GSGS j5       Gr\R                  " \" GS5      5      GSGS j5       Gr\R                  " \" GS5      5      GSGS j5       GrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGSGS jGrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr\R                  " G\GR                  " \" GS5      GS5       V VVVVVVVVs
/ s H  u  u  pu  nnnnnnUUUUUUUU4PM     s
nnnnnnnnn 5                        GSGS j5       Gr\R                  " G\GR                  " \" GS5      GS5       V VVVVVVVVs
/ s H  u  u  pu  nnnnnnUUUUUUUU4PM     s
nnnnnnnnn 5                        GSGS j5       Gr\R                  " / GSQ5      GS GS j5       Gr\R                  " / GSQ5      GS GS j5       Gr\R                  " GSGS/5      GSGS j5       Gr\R                  " GSGS/5            GSGS j5       Gr\R                  " GSGS/5            GSGS j5       GrGSGS jGrGSGS jGrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrG\,GRZ                  " G\.GS;5      GSGS j5       GrG\,GRZ                  " G\.GS;5      GSGS j5       GrG\,GRZ                  " G\.GS;5      GSGS j5       GrG\,GRZ                  " G\.GS;5      GSGS j5       GrG\,GRZ                  " G\.GS;5      GSGS j5       GrG\,GRZ                  " G\.GS;5      GSGS j5       GrG\,GRZ                  " G\.GS;5      GSGS j5       GrGSGS jGrGSGS jGrGSGS jGrGSGrGgs  s
nnnnnnnnn f s  s
nnnnnnnnn f (  TestShapeInference   c                    U R                  S// / 5      nU R                  [        R                  R                  U R
                  U5        g )Ny)rS   assertRaisesr[   r\   InferenceErrorrc   rI   rn   s     r,   test_empty_graph#TestShapeInference.test_empty_graph   s:      #B/$..==t~~uUre   c                    U R                  S[        R                  S4/[        USS40 UD6// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL         r0   r   rS   r   FLOATr   ry   r   )rI   opr`   rn   s       r,   _identity_prop!TestShapeInference._identity_prop   sd      ;$$j12r3.v./

 	*30A0A:NO	
re   	Transposec           
         U R                  S[        R                  S4/[        SS/S// SQS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g 	NXr:      r   r   Y   r   r:   permr   r:   r   opset_imports	rS   r   r   r   ry   r   r   r   r   rI   _r+   rn   s       r,   test_transpose!TestShapeInference.test_transpose   s}      ;$$i01{SEC5yAB

 	#C):):IFG!..{GDE 	 	
re   c           
     *   U R                  S[        R                  S4/[        SS/S// SQS9/[	        S[        R                  S 5      /5      nU R                  U[	        S[        R                  S5      /[        R                  " [        U5      /S9  g r   )	rS   r   r   r   r   ry   r   r   r   r   s       r,   test_transpose_preexisting-TestShapeInference.test_transpose_preexisting   s      ;$$i01{SEC5yAB#C):):DAB

 	#C):):IFG!..{GDE 	 	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr   r<   r   r   r   r   r   s       r,   test_transpose_scalar(TestShapeInference.test_transpose_scalar  s{      ;$$b)*{SEC512
 	#C):):B?@!..{GDE 	 	
re   c           
     *   U R                  S[        R                  S4/[        SS/S// SQS9/[	        S[        R
                  S5      /5      nU R                  U[	        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
Nr   r   r   r   r   r   )r   abr   r   )
rS   r   r   r   r   rE   ry   r   r   r   r   s       r,   test_transpose_partial)TestShapeInference.test_transpose_partial  s      ;$$i01{SEC5yAB#C)>)>NO

 	#C):):IFG!..{GDE 	 	
re   c           
     
   U R                  S[        R                  S4/[        SS/S// SQS9/[	        S[        R                  S5      /5      nU R                  [        R                  R                  U R                  U5        g )Nr   r   r   r   r   r   )r0   r0   r0   )
rS   r   r   r   r   r   r[   r\   r   rc   rI   r   rn   s      r,   *test_transpose_preexisting_incorrect_shape=TestShapeInference.test_transpose_preexisting_incorrect_shape&  ss      ;$$i01{SEC5yAB#C):):IFG

 	$..==t~~uUre   c           
     
   U R                  S[        R                  S4/[        SS/S// SQS9/[	        S[        R
                  S5      /5      nU R                  [        R                  R                  U R                  U5        g )Nr   r   r   r   r   r   r   )rS   r   r   r   r   STRINGr   r[   r\   r   rc   r   s      r,   )test_transpose_preexisting_incorrect_type<TestShapeInference.test_transpose_preexisting_incorrect_type/  ss      ;$$i01{SEC5yAB#C););YGH

 	$..==t~~uUre   c           
         U R                  S[        R                  S4/[        SS/S// SQS9// 5      nU R	                  [
        R                  R                  U R                  U5        g )Nr   r   r   r   )r   r   r   r   	rS   r   r   r   r   r[   r\   r   rc   r   s      r,   &test_transpose_incorrect_repeated_perm9TestShapeInference.test_transpose_incorrect_repeated_perm8  sa      ;$$i01{SEC5yAB

 	$..==t~~uUre   c                8   [         R                  " [         R                  " [         R                  " U5      5      R	                  U5      [         R                  " [         R                  " U5      5      R	                  U5      5      R
                  nU R                  S[        R                  U4S[        R                  U4/[        SSS/S/5      // 5      nU R                  U[        S[        R                  U5      /[        R                  " [        U5      /S9  g NrL   r   MatMulzr   )npmatmularangeprodreshaper~   rS   r   r   r   ry   r   r   r   r   rI   r+   shape1shape2expected_out_shapern   s         r,    _make_matmul_test_all_dims_known3TestShapeInference._make_matmul_test_all_dims_knownA  s      YYIIbggfo&..v6IIbggfo&..v6
 % 	   ;$$f-[5F5F/OPx#scU34

 	#C):):<NOP!..{GDE 	 	
re   r   c                   U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS	5        U R                  US
S	5        U R                  USS5        U R                  USS	5        g )Nr:   r   r:   r:   r   )r0   r:   r:   r   r   r:   r:   r   r   r   r:   r   r:   r   )r   r   r:   r0   r   r   r:   r   r   r:   r   )r   rI   r   r+   s      r,   test_matmul_all_dims_known-TestShapeInference.test_matmul_all_dims_knownS  s    --gtTB--gvvF--gvvF--gvvF--gvvF--gtVD--gvtD--gy)L--gy)L--g|\R--gvyIre   c                   U R                  S[        R                  U4S[        R                  U4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  U5      /[        R                  " [        U5      /S9  g r   r   r   s         r,   _make_matmul_test_allow_unknown2TestShapeInference._make_matmul_test_allow_unknownb  s       ;$$f-[5F5F/OPx#scU34

 	#C):):<NOP!..{GDE 	 	
re   c                   U R                  USSS5        U R                  USSS5        U R                  USSS5        U R                  USSS5        U R                  US	SS5        U R                  US	S
S5        U R                  USSS5        U R                  USSS5        U R                  USS S 5        U R                  US S S 5        g Nr>   r<   r   r   )r:   r   )r   r   )r   r   )r   N)Nr   r   )r   r:   r0   r   r   r0   )r   r   r   r:   r   r   r   r0   )r   r   s      r,   test_matmul_allow_unknown,TestShapeInference.test_matmul_allow_unknownp  s    ,,WgwK,,WdGRH,,WdHfM,,WfhQ,,Wi8T,,WihW,,Y[	
 	,,\;	
 	,,WdD$G,,WdD$Gre   Castc           
        U R                  S[        R                  S4/[        SS/S/[        R                  S9// 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r:   r   r   r  r   )tor   )
rS   r   r   r   UINT8ry   r   r   r   r   r   s       r,   	test_castTestShapeInference.test_cast  s      ;$$i01vuse0A0ABC

 	#C):):IFG!..{GDE 	 	
re   CastLikec                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r	  tNr  r   r   )
rS   r   r   FLOAT16r   ry   r   r   r   r   r   s       r,   test_cast_like!TestShapeInference.test_cast_like  s      ;$$i038K8KV2TUzC:u56

 	#C)<)<iHI!..{GDE 	 	
re   Col2Imc                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // [        S[        R                  SS	5      [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Ninput)r   r0   r0   output_shaper   kernel_shaper  r  r  r  outputr0   r0   r   r0   rA   r   r   r0   r0   r   rS   r   r   rG   r   r   ry   r   r   r   r   r   s       r,   test_col2imTestShapeInference.test_col2im  s      +++Y7!2!2D9!2!2D9 G(
 NK,=,=tVLNK,=,=tVL ! 
" 	#Hk.?.?NO!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/S	S	/S
9// [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  )r   	   r   r  r   r  r  r  r  r:   stridesr  r   r   r  r   r   r!  r   s       r,   test_col2im_strides&TestShapeInference.test_col2im_strides  s      +++Y7!2!2D9!2!2D9 =JF	 NK,=,=tVLNK,=,=tVL ! 
( 	#Hk.?.?NO!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS// S	QS
9// [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  )r   r0      r  r   r  r  r  r  )r   r   r   r   padsr  r  r  r   r   r!  r   s       r,   test_col2im_pads#TestShapeInference.test_col2im_pads  s      +++Z8!2!2D9!2!2D9 =J%	 NK,=,=tVLNK,=,=tVL ! 
( 	#Hk.?.?NO!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/S	S
/S9// [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  )r   r   r0   r  r   r  r  r  r  r   r0   	dilations   r5  r:   r:   r  )r   r   r5  r5  r   r!  r   s       r,   test_col2im_dilations(TestShapeInference.test_col2im_dilations  s      +++Y7!2!2D9!2!2D9 =J !f	 NK,=,=tVLNK,=,=tVL ! 
( 	#Hk.?.?NO!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // [        S[        R                  SS	5      [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  )r   
      r  r  r  r  r  r  r   r   r0   )r   r   r0   r  r   r:   r   r   r0   r   r!  r   s       r,   test_col2im_5d!TestShapeInference.test_col2im_5d  s      +++[9!2!2D9!2!2D9 G(
 NK,=,=tYONK,=,=tYO ! 
" 	#Hk.?.?QR!..{GDE 	 	
re   Concatc           
        U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )NrL   r	  r   )   r   r   r@  r   r   axis)r%  r   r   r   r   r   s       r,   test_concatTestShapeInference.test_concat!        ;$$i038I8I92UVx#scU;<

 	#C):):IFG!..{GDE 	 	
re   c           
         U R                  S[        R                  S4SS[        R                  S4/[        S/ SQS/S	S
9// 5      nU R	                  [
        R                  R                  U R                  U5        g )NrL   r	  r   r   NNNr@  rL   r   r   outr   rC  r   r   s      r,   test_concat_missing_shape,TestShapeInference.test_concat_missing_shape.  sw      k''3k'');<
 x5'BC
 	$..==t~~uUre   c           
        U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r:   r:   r:   r   r@  r   r:   rC  )r:   r:   r   r   r   r   s       r,   test_concat_3d_axis_2(TestShapeInference.test_concat_3d_axis_2;  rG  re   c           
        U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )NrL   r   r:   r   )r   r   r@  r   r   rC  )r   r0   r   r   r   s       r,   test_concat_param$TestShapeInference.test_concat_paramH  s      ;$$h/#{7H7H(1STx#scU;<

 	#C):):HEF!..{GDE 	 	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   rS  r@  r   r   rC  r   r   r   s       r,   test_concat_param_single_input1TestShapeInference.test_concat_param_single_inputU  s}      ;$$h/0x#A67

 	#C):):HEF!..{GDE 	 	
re   r?   c                D   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )N   z'Rank inference is added from Version 14rL   r	  r~   r   r?   r   NNr   )r   rS   r   r  rG   r   ry   r   r   r   r   r   s       r,   %test_reshape_dynamic_shape_known_rank8TestShapeInference.test_reshape_dynamic_shape_known_rankb  s    GbL"KL  ;$$i07K<M<Mt2TUy3.3%89

 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S 5      /[        R                  " [        U5      /S9  g )NrL   r	  r~   Mr?   r   r   
rS   r   r  rG   r   ry   r   r   r   r   r   s       r,   #test_reshape_dynamic_shape_symbolic6TestShapeInference.test_reshape_dynamic_shape_symbolicp  s      ;$$i07K<M<Mv2VWy3.3%89

 	#C):):DAB!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S 4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S 5      /[        R                  " [        U5      /S9  g )NrL   r	  r~   r?   r   r   ra  r   s       r,   "test_reshape_dynamic_unknown_shape5TestShapeInference.test_reshape_dynamic_unknown_shape}  s      ;$$i07K<M<Mt2TUy3.3%89

 	#C):):DAB!..{GDE 	 	
re   c                N   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r	  r~   r   r?   r   r      r  r   rS   r   r  rG   r   r   ry   r   r   r   r   r   s       r,   test_reshape_static_shape,TestShapeInference.test_reshape_static_shape  s      ;$$i07K<M<Mt2TUy3.3%89$Wk.?.?vNO	 ! 
 	#C):):FCD!..{GDE 	 	
re   c                N   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )NrL   r	  r~   r  r?   r   )r   r   r!   r  r   r   rj  r   s       r,   "test_reshape_static_shape_inferred5TestShapeInference.test_reshape_static_shape_inferred  s      ;$$i07K<M<Mt2TUy3.3%89$Wk.?.?zRS	 ! 
 	#C):):IFG!..{GDE 	 	
re   c                N   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r   r   r   r~   r  r?   r   r   r   r   r  r   rj  r   s       r,   test_reshape_static_shape_zero1TestShapeInference.test_reshape_static_shape_zero  s      ;$$i07K<M<Mt2TUy3.3%89$Wk.?.?yQR	 ! 
 	#C):):IFG!..{GDE 	 	
re   c                v   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4/[        SSS/S/S	S
9// [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrZ  z"allowzero is added from Version 14rL   r   r   r   r~   r  r?   r   r   	allowzerorr  r  r   )r   rS   r   r  rG   r   r   ry   r   r   r   r   r   s       r,   #test_reshape_static_shape_allowzero6TestShapeInference.test_reshape_static_shape_allowzero  s    GbL"FG  k''3+++T2 y3.3%1EF$Wk.?.?yQR ! 
 	#C):):IFG!..{GDE 	 	
re   c                v   U R                  S[        R                  S4/[        S/ S/[	        S[        R
                  SS5      S9[        SSS/S	/5      // 5      nU R                  U[        S[        R
                  S5      [        S	[        R                  S5      /[        R                  " [        U5      /S
9  g )NrL   r	  Constantr~   r   rh  valuer?   r   r   )rS   r   r  r   r   rG   ry   r   r   r   r   r   s       r,   "test_reshape_static_shape_constant5TestShapeInference.test_reshape_static_shape_constant  s      ;$$i01I%g{/@/@$O	 )c7^cU; 
 	&w0A0A4H&sK,=,=vF "..{GDE 	 	
re   Upsamplec                  ^ ^^ TS:X  az  T R                  S[        R                  S4/[        SS/S// SQS9// 5      mT R	                  T[        S[        R                  S5      /[        R                  " [        T5      /S	9  g T R                  S[        R                  S4S
[        R                  S4/[        SSS
/S/5      // [        S
[        R                  SS5      /S9mUU U4S jnTS:X  a  U" 5         g T R                  [        R                  R                  5       nU" 5         S S S 5        WR                  nS[!        U5      ;   d   eg ! , (       d  f       N,= f)NrB  rL   r:   r   r   r0   r  r         ?皙??ffffff?scalesr:   r   r   r%  r   r  r   r  c                    > TR                  T [        S[        R                  S5      /[        R
                  " [        T5      /S9  g Nr   r  r   ry   r   r   INT32r   r   r   rn   rI   r+   s   r,   call_inference8TestShapeInference.test_upsample.<locals>.call_inference  A    %%+C1B1BLQR#)#6#6{G#L"M & re   r%  Upsample is deprecated)rS   r   r  r   ry   r   r   r   r   r   r   r   r[   r   ValidationError	exceptionr   rI   r   r+   r  cmr  rn   s   ` `   @r,   test_upsample TestShapeInference.test_upsample  sW   a<$${((,78:use<PQRE
 !!'[->->MN%22;HI "  $$+++\:{00$7 :X>?+*;*;TCWX % 
E !|  &&t||'C'CD"$ ELL	/3y>AAA EDs   #E
Ec                  ^ ^^ TS:X  az  T R                  S[        R                  S4/[        SS/S// SQS9// 5      mT R	                  T[        S[        R                  S5      /[        R                  " [        T5      /S	9  g T R                  S[        R                  S
4S[        R                  S4/[        SSS/S/5      // [        S[        R                  S[        R                  " / SQSS9R                  5       SS9/S9mUU U4S jnTS:X  a  U" 5         g T R                  [        R                   R"                  5       nU" 5         S S S 5        WR$                  nS['        U5      ;   d   eg ! , (       d  f       N,= f)NrB  rL   r  r  r          @r  gffffff@r  r  r:   r   r%  r%  r   r  r  r  r  <f4dtypeTvalsrawr  c                    > TR                  T [        S[        R                  S5      /[        R
                  " [        T5      /S9  g r  r  r  s   r,   r  ATestShapeInference.test_upsample_raw_data.<locals>.call_inference(  r  re   r%  r  )rS   r   r  r   ry   r   r   r   r   r   r   r   arraytobytesr   r[   r   r  r  r   r  s   ` `   @r,   test_upsample_raw_data)TestShapeInference.test_upsample_raw_data  st   a<$${((,78:use<PQRE
 !!'[->->MN%22;HI "  $$+++\:{00$7 :X>? #))XX&:%HPPR  % E$ !|  &&t||'C'CD"$ ELL	/3y>AAA EDs   E33
FExpandc                N   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )NrL   r   r   r~   r  r  r   )r:   r   r5  r  r:   r   r5  r   rS   r   r  rG   r   r   ry   r   r   r   r   r   s       r,   test_expandTestShapeInference.test_expand8  s      ;$$f-9J9JD/QRx#w#78$Wk.?.?yQR	 ! 
 	#C):):IFG!..{GDE 	 	
re   c                N   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r<   r~   r   r  r   )r   ri  r  r   r  r   s       r,   test_expand_scalar_input+TestShapeInference.test_expand_scalar_inputF  s      ;$$b)G[5F5F+MNx#w#78$Wk.?.?vNO	 ! 
 	#C):):FCD!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  S[        R                  " SS/S	S
9R                  5       SS9/S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r  r~   r   r  r   r   r   <i8r  Tr  r  r   r   r   )rS   r   r  rG   r   r   r   r  r  ry   r   r   r   r   r   s       r,   test_expand_raw_data'TestShapeInference.test_expand_raw_dataT  s      ;$$f-9J9JD/QRx#w#78%%1a&6>>@	 ! 
 	#C):):FCD!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // / S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r   r:   Nr~   r  r  r   r  )Nr:   Nr   
rS   r   r  rG   r   ry   r   r   r   r   r   s       r,   test_expand_dynamic_shape,TestShapeInference.test_expand_dynamic_shapej  s      k''6+++T2 x#w#78 ! 
 	#C):):OLM!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // / S9nU R                  U[        S[        R                  S 5      /[        R                  " [        U5      /S9  g )	NrL   r  r~   )unk__0r  r   r  r   r  r   s       r,   test_expand_symbolic_shape-TestShapeInference.test_expand_symbolic_shape{  s      k''6+++[9 x#w#78 ! 
 	#C):):DAB!..{GDE 	 	
re   Resizec                j   US:X  a  U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S	9nU R                  U[        S[        R                  S
5      /[        R                  " [        U5      /S9  g US:X  a  U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // [        S[        R                  SS5      /S	9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // [        S[        R                  SS5      /S	9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr:  rL   r  r  r  r  r   r  r  r  r      roiri  sizesrL   r  r  r  )r   r0   r5  rB  rL   r   r  )rS   r   r  r   r   r   ry   r   r   r   r   rG   r   s       r,   test_resize_size#TestShapeInference.test_resize_size  sF   b=$$+++\:{00$7 8c8_se<=+*;*;TCWX % 
E !!'[->->MN%22;HI " 
 ]$$+++\:K--t4{00$7k//6	 8%DseLM):):D,O % E !!'[->->MN%22;HI "  $$+++\:K--t4k//6
 8%>FG):):D,O % E !!'[->->MN%22;HI " re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        S	/ S
QS/SS9// [        S[        R
                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )N   axes is from Version 18rL   r  r  r  r  r   r  r  r   r   axesr5  rB  r  )r:   r   r5  rB  r   r   rS   r   r  r   rG   r   r   ry   r   r   r   r   r   s       r,   test_resize_size_axes_2_3,TestShapeInference.test_resize_size_axes_2_3      GbL";<  k''6))40+++T2
 x!:SEOP$Wk.?.?vNO ! 	
 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        S	/ S
QS/SS9// [        S[        R
                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r   r  r  r   r   r:   r  r  r  )r:   r   rB  r5  r   r  r   s       r,   test_resize_size_axes_3_2,TestShapeInference.test_resize_size_axes_3_2  r  re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        S	/ S
QS/SS9// [        S[        R
                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  +keep_aspect_ratio_policy is from Version 18rL   r   r0   r  r  r  r   r  r  r   
not_largerkeep_aspect_ratio_policyr4  r  )r   r5  r   r  r   s       r,   test_resize_size_not_larger.TestShapeInference.test_resize_size_not_larger  s    bL9	
   k''0))40+++T2 -E-9	 $Wk.?.?vNO ! 
" 	#C):):FCD!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        S	/ S
QS/SSS9// [        S[        R
                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  3axes & keep_aspect_ratio_policy are from Version 18rL   r  r  r  r  r   r  r  r   r   r  r  r  r4  r  )r:   r   r   r5  r   r  r   s       r,   $test_resize_size_axes_2_3_not_larger7TestShapeInference.test_resize_size_axes_2_3_not_larger	  s    bLA	
   k''6))40+++T2 -E-9 $Wk.?.?vNO! ! 
$ 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        S	/ S
QS/SS9// [        S[        R
                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r   r  r  r   not_smallerr  r4  r  )r5  r:  r   r  r   s       r,   test_resize_size_not_smaller/TestShapeInference.test_resize_size_not_smaller'  s    bL9	
   k''0))40+++T2 -E-:	 $Wk.?.?vNO ! 
" 	#C):):GDE!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        S	/ S
QS/SSS9// [        S[        R
                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r   r  r  r   r   r  r  r4  r  )r:   r   r5  r:  r   r  r   s       r,   %test_resize_size_axes_2_3_not_smaller8TestShapeInference.test_resize_size_axes_2_3_not_smallerD  s    bLA	
   k''6))40+++T2 -E-: $Wk.?.?vNO! ! 
$ 	#C):):MJK!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  roi input is from Version 11rL   r  r  r  r  r  r  rL   r  r  r   r  r  r  r   r   rS   r   r  r   r   r   ry   r   r   r   r   r   s       r,   test_resize_scale$TestShapeInference.test_resize_scaleb  s    GbL"@A  k''6))40;,,d3
 x!7#?@Hk&7&7?ST ! 
 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/SS9// [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r   r  r  r   r   r  )r  r  r  r  r   r  r   s       r,   test_resize_scale_axes_2_3-TestShapeInference.test_resize_scale_axes_2_3w      GbL";<  k''6))40;,,d3
 x!7#VLM$X{/@/@$
ST ! 	
 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/SS9// [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r   r  r  r   r  r  )r  r  r  r  r   r  r   s       r,   test_resize_scale_axes_3_2-TestShapeInference.test_resize_scale_axes_3_2  r  re   c                   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/5      // [        S[        R                  S[        R                  " / SQSS9R                  5       SS9/S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r  r  r  r   r  r  r  Tr  r  r  r   )r   rS   r   r  r   r   r   r   r  r  ry   r   r   r   r   r   s       r,   test_resize_scale_raw_data-TestShapeInference.test_resize_scale_raw_data  s    GbL"@A  k''6))40;,,d3
 x!7#?@%%"6eDLLN ! 
$ 	#C):):LIJ!..{GDE 	 	
re   c                z   U R                  US:  S5        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S	[        R
                  S
4/[        S/ SQS/5      // [        S[        R                  S[        R                  " / SQSS9R                  5       SS9[        S	[        R
                  S
[        R                  " / SS9R                  5       SS9/S9nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )Nr  r  rL   r  r  r  r  r  r  r   r  r  r   r  r  r  Tr  r  r  r  r   )r   rS   r   r  r   rG   r   r   r   r  r  ry   r   r   r   r   r   s       r,   +test_resize_scale_and_size_but_one_is_empty>TestShapeInference.test_resize_scale_and_size_but_one_is_empty  s0   GbL"@A  k''6))40;,,d3+++T2	 x!@3%HI%%"6eDLLN %%"E2::< ! 
4 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  US:g  S5        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S	[        R
                  S
4/[        S/ SQS/5      // [        S	[        R
                  S
[        R                  " / SQSS9R                  5       SS9/S9nU R                  U[        S[        R                  S5      /[        R                  " SU5      /S9  g )Nr  z#This test only works for Version 11rL   r  r  r  r  r  r  r  r  r  r   )r:   r5  ri  r:  r  r  Tr  r  r  r   )r   rS   r   r  r   rG   r   r   r   r  r  ry   r   r   r   r   s       r,   #test_resize_opset11_scales_is_empty6TestShapeInference.test_resize_opset11_scales_is_empty  s    GrM#HI   k''6))40;,,d3+++T2	 x!@3%HI%%%Ugi
 ! 
, 	#C):):MJK!..r7;< 	 	
re   Shapec                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r	  r  r   r  r   
rS   r   r   r   ry   r   rG   r   r   r   r   s       r,   
test_shapeTestShapeInference.test_shape  s{      ;$$i01wu-.

 	#C):):DAB!..{GDE 	 	
re   c           
        U R                  US:  S5        U R                  S[        R                  S4/[	        SS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )Nr,  !start and end are from Version 15rL   r	  r  r   r   startr   r   r   rS   r   r   r   ry   r   rG   r   r   r   r   s       r,   test_shape_start_1%TestShapeInference.test_shape_start_1	  s    GbL"EF  ;$$i01wuA67

 	#C):):DAB!..{GDE 	 	
re   c           
        U R                  US:  S5        U R                  S[        R                  S4/[	        SS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )Nr,  r  rL   r	  r  r   r   endr   r   r  r   s       r,   test_shape_end_1#TestShapeInference.test_shape_end_1  s    GbL"EF  ;$$i01wu!45

 	#C):):DAB!..{GDE 	 	
re   c           
        U R                  US:  S5        U R                  S[        R                  S4/[	        SS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )Nr,  r  rL   r	  r  r   r!   r  r  r   r  r   s       r,   test_shape_negative_start,TestShapeInference.test_shape_negative_start%      GbL"EF  ;$$i01wuB78

 	#C):):DAB!..{GDE 	 	
re   c           
        U R                  US:  S5        U R                  S[        R                  S4/[	        SS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )Nr,  r  rL   r	  r  r   r  r  r   r  r   s       r,   test_shape_clip1#TestShapeInference.test_shape_clip13  r  re   c           
        U R                  US:  S5        U R                  S[        R                  S4/[	        SS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )Nr,  r  rL   r	  r  r   r:  r  r  r   r  r   s       r,   test_shape_clip2#TestShapeInference.test_shape_clip2A  s    GbL"EF  ;$$i01wu"56

 	#C):):DAB!..{GDE 	 	
re   Sizec                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r	  r%  r   r<   r   r
  r   s       r,   	test_sizeTestShapeInference.test_sizeO  sz      ;$$i01IfsecU4S3TVX
 	#C):):B?@!..{GDE 	 	
re   Gatherc                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )	NrL   r   r   ir   r)  r   r   r   
rS   r   r   rG   r   ry   r   r   r   r   r   s       r,   test_gatherTestShapeInference.test_gatherZ  s      ;$$f-[5F5F/MNx#scU34

 	#C):):FCD!..{GDE 	 	
re   c           
        U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /[        R                  " [        U5      /S
9  g )NrL   )r   r   r0   r,  r   r)  r   r   rC  )r   r   r:   r0   r   r-  r   s       r,   test_gather_axis1$TestShapeInference.test_gather_axis1g  s      ;$$i038I8I62RSx#scU;<

 	#C):):LIJ!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r  r,  r<   r)  r   r   r-  r   s       r,   test_gather_into_scalar*TestShapeInference.test_gather_into_scalart  s      ;$$d+c;3D3Db-IJx#scU34

 	#C):):B?@!..{GDE 	 	
re   GatherElementsc           
        U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )	NrL   r6  r,  r6  r   r   rC  r   r-  r   s       r,   test_gather_elements'TestShapeInference.test_gather_elements        ;$$f-[5F5F/OP'#scUCD

 	#C):):FCD!..{GDE 	 	
re   c           
        U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r(  r,  r   r6  r   r   rC  r   r-  r   s       r,   test_gather_elements_axis0-TestShapeInference.test_gather_elements_axis0  r:  re   Scatterc                   US:  aa  U R                  [        R                  R                  5       nU R	                  U5        S S S 5        WR
                  nS[        U5      ;   d   eg U R	                  U5        g ! , (       d  f       N>= fNr  zScatter is deprecated)r   r[   r   r  _test_scatterr  r   rI   r   r+   r  r  s        r,   test_scatterTestShapeInference.test_scatter  sj    b=""4<<#?#?@B""7+ AI*c)n<<<w' A@   A::
Bc                >   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r(  r,  r   ur>  rL   r,  rG  r   r   r-  rI   r+   rn   s      r,   rA   TestShapeInference._test_scatter  s      k''0k''0k''0
 y/C59:
 	#C):):FCD!..{GDE 	 	
re   c                   US:  aa  U R                  [        R                  R                  5       nU R	                  U5        S S S 5        WR
                  nS[        U5      ;   d   eg U R	                  U5        g ! , (       d  f       N>= fr@  )r   r[   r   r  _test_scatter_axis1r  r   rB  s        r,   test_scatter_axis1%TestShapeInference.test_scatter_axis1  sj    b=""4<<#?#?@B((1 AI*c)n<<<$$W- A@rE  c           
     <   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/S	S
9// 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r  r,  r   rG  r>  rH  r   r   rC  r   r-  rI  s      r,   rL  &TestShapeInference._test_scatter_axis1  s      k''0k''0k''0
 y/C5qAB
 	#C):):FCD!..{GDE 	 	
re   ScatterElementsc                >   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )
NrL   r(  r,  r   rG  rQ  rH  r   r   r-  r   s       r,   test_scatter_elements(TestShapeInference.test_scatter_elements  s      k''0k''0k''0
 (/C5AB
 	#C):):FCD!..{GDE 	 	
re   c           
     <   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/S	S
9// 5      nU R                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r  r,  r   rG  rQ  rH  r   r   rC  r   r-  r   s       r,   test_scatter_elements_axis1.TestShapeInference.test_scatter_elements_axis1  s      k''0k''0k''0
 (/C5qIJ
 	#C):):FCD!..{GDE 	 	
re   	ScatterNDc                >   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	/5      // 5      nU R                  U[        S	[        R                  S5      /[        R                  " [        U5      /S
9  g )NrL   r   r0   r5  indicesr   r   r:   updatesr   r   r5  rX  )rL   r[  r]  r   r   r-  r   s       r,   test_scatternd!TestShapeInference.test_scatternd  s      k''3K--y9K--y9
 {$?#GH
 	#C):):IFG!..{GDE 	 	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S	SS/S
/5      [	        S/ SQS/5      // 5      nU R                  U[        S
[        R                  S 5      [        S[        R                  S 5      /[        R                  " [        U5      /S9  g )NrL   rZ  r[  r\  r]  r^  r~   r_  r?   
x_reshapedrX  )rb  r[  r]  r   r   r-  r   s       r,   test_scatternd_noshape)TestShapeInference.test_scatternd_noshape  s       k''3K--y9K--y9+++V4	 )c7^l^D+'KcUS 
 	&|[5F5FM&sK,=,=tD "..{GDE 	 	
re   Squeezec                H   US:X  ax  U R                  S[        R                  S4/[        SSS/ SQS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g U R                  S[        R                  S4S
[        R                  S4/[        SSS
/S5      // [        S
[        R                  SS5      /S9nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S	9  g )Nr  rL   )r   r   r   r   r:   r   re  r   )r   r:   r   r0   r  r  r   r  r  r  )rS   r   r   r   ry   r   r   r   r   rG   r   r   s       r,   test_squeezeTestShapeInference.test_squeeze  s/   b=$${((*<=>9c3\BCE
 !!'[->->GH%22;HI "  $$+++-?@[..5 9sFmS9:(9(94N % 
E !!'[->->GH%22;HI " re   StringConcatc                   U R                  S[        R                  S4S[        R                  S4/[        SSS/S5      // 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r   r   ri  r   r   	rS   r   r   r   ry   r   r   r   r   r   s       r,   test_stringconcat$TestShapeInference.test_stringconcat=        k(()4k(()4 ~Sz378
 	#C););YGH!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[        SSS/S5      // 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r   r   )r   r   r   ri  r   r   rk  r   s       r,   test_stringconcat_broadcasting1TestShapeInference.test_stringconcat_broadcastingM  rn  re   RegexFullMatchc           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r  rr  r   ^[A-Z][a-z]*$patternr   
rS   r   r   r   ry   r   BOOLr   r   r   r   s       r,   test_regex_full_match(TestShapeInference.test_regex_full_match]  s      ;%%|45'#?OPQ

 	#C)9)9<HI!..{GDE 	 	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        U5      /S9  g )NrL   r<   rr  r   rt  ru  r   rw  r   s       r,   !test_regex_full_match_empty_shape4TestShapeInference.test_regex_full_match_empty_shapej  s      ;%%r*+'#?OPQ

 	#C)9)92>?!..{GDE 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
NrL   r  r  r  	Unsqueezer   )r   r   r   r0   r  )r   r   r   r   r:   r   rS   r   r   rG   r   r   ry   r   r   s     r,   test_unsqueeze_regular)TestShapeInference.test_unsqueeze_regularw  s      ;$$f-8I8I4/PQ{S&M378$V[->->lST	 ! 
 	*30A0ACUVW	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
NrL   r<  r  r   r  r   )r   r   r  r   r   r   r0   r   r  r   s     r,   test_unsqueeze_unsorted_axes/TestShapeInference.test_unsqueeze_unsorted_axes  s      ;$$i06;;L;Ld2ST{S&M378$V[->->fMN	 ! 
 	*30A0A?ST	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
NrL   r<  r  r   r  r   )r   r!   r  r  r  r   s     r,   test_unsqueeze_negative_axes/TestShapeInference.test_unsqueeze_negative_axes  s      ;$$i06;;L;Ld2ST{S&M378$V[->->gNO	 ! 
 	*30A0A?ST	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /5        g )	NrL   r<   r  r  r   )r!   r  r  r  r   s     r,   test_unsqueeze_scalar(TestShapeInference.test_unsqueeze_scalar  s      ;$$b)FK4E4Er+JK{S&M378$V[->->EJK	 ! 
 	*30A0A4HI	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // 5      nU R                  U[        S[        R                  S	5      /5        g )
NrL   )r   r:   r   startsr  endsSlicerL   r  r  r   rI  rS   r   r   rG   r   ry   r   r   s     r,   test_slice_without_input_shape1TestShapeInference.test_slice_without_input_shape  s      k''5;,,d3**D1
 w 7#?@
 	*30A0ACUVW	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // [        S[        R                  S[        R                  " S	S
/SS9R                  5       SS9[        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /5        g )NrL   r  r  r   r  r  r  r   r   r   r  r  Tr  r6  r  r   rS   r   r   rG   r   r   r   r  r  ry   r   r   s     r,   test_slice_with_input_shape.TestShapeInference.test_slice_with_input_shape  s      k''0;,,d3**D1
 w 7#?@%%1a&6>>@ FK$5$5tVD	 ! 
& 	*30A0A6JK	
re   c                v   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // [        S[        R                  SS	5      [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /5        g )NrL   )r   r   r   r  r  r  r  r  r   )r   r   r   rq  r  )r   Nr   r  r   s     r,   1test_slice_with_input_shape_containing_dim_paramsDTestShapeInference.test_slice_with_input_shape_containing_dim_params  s      k''5;,,d3**D1
 w 7#?@Hk&7&7yIFK$5$5tYG ! 
 	e&<S+BSBSUa&b%cdre   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S 4S[        R                  S4/[	        S/ S	QS
/5      // [        S[        R                  SS5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S
[        R                  S5      /5        g )NrL   r0   r5  rB  r  r  r  r  stepsr  rL   r  r  r  r  r   rv  )r:   r5  r5  )r   r   r   r  r   r:   r:   r  r   s     r,   !test_slice_with_input_shape_steps4TestShapeInference.test_slice_with_input_shape_steps  s      k''3;,,d3**D1**T3+++T2 w H3%PQHk&7&7yIFK$5$5tYGG[%6%6iH ! 
  	*30A0A9MN	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S 4/[	        S/ S	QS
/5      // [        S[        R                  SS5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S
[        R                  S5      /5        g )NrL   )r   r5  r:   r  r   r  r  r  r  r  r   r   r   r6  )r   r:   r  )r   r5  r:   r  r   s     r,    test_slice_with_input_shape_axes3TestShapeInference.test_slice_with_input_shape_axes  s      k''3;,,d3**D1**D1+++d4 w H3%PQHk&7&7vFFK$5$5tVDFK$5$5tVD ! 
  	*30A0A9MN	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // [        S[        R                  SS
5      [        S[        R                  SS5      [        S[        R                  SS
5      /S9nU R                  U[        S	[        R                  S5      /5        g )NrL   r  r  r   r  r  r  rL   r  r  r  r   r  r6  r  r   r  r   s     r,   test_slice_unsorted_axes+TestShapeInference.test_slice_unsorted_axes  s      k''0;,,d3**D1**D1	 w ?EFHk&7&7vFFK$5$5tVDFK$5$5tVD ! 
 	*30A0A6JK	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // [        S[        R                  SS
5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S	[        R                  S5      /5        g NrL   r  r  r   r  r  r  r  r   r  )   iU  r   r   r  r6  r  r   s     r,   test_slice_giant_number*TestShapeInference.test_slice_giant_number  s      k''0;,,d3**D1**D1	 w ?EFHk&7&7vFFK$5$5t\JFK$5$5tVD ! 
 	*30A0A6JK	
re   c                (   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
5      // [        S[        R                  SS5      [        S[        R                  SS5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S
[        R                  S5      /5        g )NrL   r  r  r   r  r  r  r  r  r   r  )r  r  r  )r   r  r  r   r  r   s     r,   test_slice_giant_step(TestShapeInference.test_slice_giant_step+  s      k''0;,,d3**D1**D1+++T2 w H#NOHk&7&7vFFK$5$5tZHFK$5$5tVDG[%6%6hG	 ! 
" 	*30A0A6JK	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // [        S[        R                  SS
5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S	[        R                  S5      /5        g )NrL   r  r  r   r  r  r  r  r   r  )r  r!   r  r  r   r  r   s     r,   test_slice_negative_end*TestShapeInference.test_slice_negative_endA  s      k''0;,,d3**D1**D1	 w ?EFHk&7&7vFK--tY FK$5$5tVD ! 
" 	e&<S+BSBSU[&\%]^re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // [        S[        R                  SS
5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S	[        R                  S5      /5        g )NrL   r  r  r   r  r  r  r  r   )r   )r  r   r  r  r6  r  r   s     r,   test_slice_negative_start,TestShapeInference.test_slice_negative_startU  s      k''0;,,d3**D1**D1	 w ?EFk//w FK$5$5tXFFK$5$5tVD ! 
" 	e&<S+BSBSU[&\%]^re   c                (   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
5      // [        S[        R                  SS5      [        S[        R                  SS5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S
[        R                  S5      /5        g )NrL   r  r  r   r  r  r  r  r  r   r   r   )r  r   r  )r   r!   r  r   r  r   s     r,   test_slice_negative_step+TestShapeInference.test_slice_negative_stepi  s     k''0;,,d3**D1**D1+++T2 w H#NOk//v FK$5$5tXFFK$5$5tVDG[%6%6gF ! 
& 	e&<S+BSBSU[&\%]^re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // [        S[        R                  SS5      [        S[        R                  SS
5      [        S[        R                  SS5      /S9nU R                  U[        S	[        R                  S5      /5        g )NrL   rS  r  r  r  r  r  r  r   )r  r  )r   r   r  r   s     r,   test_slice_variable_copy+TestShapeInference.test_slice_variable_copy  s      k''2;,,d3**D1**D1	 w ?EFHk&7&7tDFK$5$5tVDFK$5$5tTB ! 
 	e&<S+BSBSU]&^%_`re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // [        S[        R                  SS
5      [        S[        R                  SS5      [        S[        R                  SS5      /S9nU R                  U[        S	[        R                  S5      /5        g r  )rS   r   DOUBLEr  r   r   ry   r   r   s     r,   test_slice_variable_input_types2TestShapeInference.test_slice_variable_input_types  s      k((&1;,,d3**D1**D1	 w ?EFHk&7&7vFFK$5$5t\JFK$5$5tVD ! 
 	*30B0BFKL	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQ/ SQ/ S	QS
9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r   r0   r5  rB  r   r0   r   r:   r   r   Convr   r   r   r   r   r   r   r  r   r   r:   r.  r3  r'  r   r0   r   r   r   r   r   s     r,   	test_convTestShapeInference.test_conv  s      k''9k''9
 #J+'%	 
" 	*30A0A?ST	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   )2   r   r:   r  r   r   r2  )r   r  r   r   r   s     r,   test_conv_1d_simple&TestShapeInference.test_conv_1d_simple  s{      k''4k''4 vSz31#>?
 	*30A0A;OP	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   ri  ri  ri  r   r  r   r   r   r   r  r   r   r:   r   r2  r   r  r5  r   r:   r   r   s     r,   test_conv_dilations&TestShapeInference.test_conv_dilations  s|      k'')9:k'')9: vSz3)DE
 	*30A0ACTUV	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  r   r  r  r   r  r&  r   r  r5  r   r:   r   r   s     r,   test_conv_strides$TestShapeInference.test_conv_strides  s|      k'')9:k'')9: vSz3	BC
 	*30A0ACTUV	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   rB  r5  r   r   r  r  r   r   r   r:   r   r   r:   r-  r   r  r5  r5  r5  r   r   s     r,   test_conv_pads!TestShapeInference.test_conv_pads  s}      k'')9:k'')9: vSz35GHI
 	*30A0ACTUV	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  r   r  r   r   r   r:   r  r   
SAME_UPPER)auto_pad)r   r  rB  r5  r   r   r   s     r,   test_conv_auto_pad%TestShapeInference.test_conv_auto_pad  s|      k'')9:k'')9: vSz3FG
 	*30A0ACTUV	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SS/ SQS	9// 5      nU R	                  U[        S[        R                  S
5      /5        g )NrL   r  r   r  r  r   r  r:   r:   r   r  r'  )r   r  r   r   r   r   r   s     r,   test_conv_auto_pads&TestShapeInference.test_conv_auto_pads  s      k'')9:k'')9:
 S#JlI
 
 	*30A0ACTUV	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SS/ SQS	9// 5      nU R	                  U[        S[        R                  S
5      /5        g )NrL   )r   r   A   @   ?   r   r  r  r   r  r   )r  r3  )r   r  r  r  r  r   r   s     r,   test_conv_auto_pad_dilation.TestShapeInference.test_conv_auto_pad_dilation  s      k'')<=k'')9:
 S#Jli
 
 	#C):):<PQR	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  r   r   r   ri  ri  ri  r  r   r   groupr   r   r   r   r   r   r   s     r,   test_conv_group"TestShapeInference.test_conv_group  s{      k'')9:k''9 vSz3a89
 	*30A0ACSTU	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   )r  r   r0   r  r   r:   r&  )r   r  r   r   r   s     r,   test_conv_only_one_pos)TestShapeInference.test_conv_only_one_pos,  s{      k''4k''4 vSz3<=
 	*30A0A;OP	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   Nr5  r   r   r  r  r   r  r-  r   r  Nr5  r5  r   r   s     r,   test_conv_partial_missing_shape2TestShapeInference.test_conv_partial_missing_shape9  sz      k'')<=k'')9: vSz35GHI
 	e&<S+BSBSUi&j%klre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQS9// 5      nU R	                  U[        S[        R                  S 5      /5        g )	NrL   r  r   r  r   Nr   r   r  r   r  r-  r   r   s     r,   &test_conv_partial_missing_weight_shape9TestShapeInference.test_conv_partial_missing_weight_shapeD  s|      k'')9:k'')<= vSz35GHI
 	*30A0A4HI	
re   c                    U R                  S[        R                  S4/[        SS/SS/ SQ/ SQS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  AveragePoolr   r  )r   r   r:   r  r  r  r'  )r   r   r   r   r   r   r   s     r,   test_average_pool_auto_pads.TestShapeInference.test_average_pool_auto_padsQ  su      ;$$&678!E)!*%	 
 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r0   r   r   r   r
  r   r:   r  r3  r0   r   r:   r:   r   r   s     r,    test_average_pool_with_dilations3TestShapeInference.test_average_pool_with_dilationsd  sy      ;$$l34!C53%q!fQRTUPV
 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r  r
  r   r  r:   r   r  r  r'  r3  r  r   r   s     r,   Atest_average_pool_with_same_upper_padding_and_stride_and_dilationTTestShapeInference.test_average_pool_with_same_upper_padding_and_stride_and_dilationr  s      ;$$l34!EE)"#QF !f
 
 	*30A0A<PQ	
re   c                &    U R                  S5        g )NRelur   rI   s    r,   	test_reluTestShapeInference.test_relu  s    F#re   c                &    U R                  S5        g )NIdentityr  r  s    r,   test_identity TestShapeInference.test_identity  s    J're   c           	     \   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	S/S
/5      // 5      nU R	                  U[        S[        R                  S5      [        S
[        R                  S5      /5        g )Ninput1r   input2input3r:   r0   r   SequenceConstructr#  r$  r%  in_sequencer  output_sequencer:   Nr   rS   r   r   r   ry   r   r   s     r,   test_identity_sequence)TestShapeInference.test_identity_sequence  s      ;,,i8;,,i8;,,i8 ')G- *}o8I7JK	 
 	/{?P?PR^_/%{'8'8,	
re   c           	     x   U R                  S[        R                  S4/[        SS/S/5      [        SS/S/5      // 5      n[        R
                  " [        R                  S5      n[        R                  " U5      nU R                  U[        R                  " SU5      [        R                  " SU5      /5        g )N	in_tensorr   Optionalin_optionalr  output_optional)	rS   r   r   r   r   make_tensor_type_protomake_optional_type_protory   make_value_info)rI   rn   tensor_type_protooptional_type_protos       r,   test_identity_optional)TestShapeInference.test_identity_optional  s      ;,,i89*{mm_E*}o8I7JK 
 #99+:K:KYW$==>OP&&}6IJ&&'8:MN	
re   c           
     6   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	S/S
/5      [        SS
/S/5      // 5      n[        R
                  " [        R                  S5      n[        R                  " U5      n[        R                  " U5      nU R                  U[        R                  " SU5      [        R                  " S
U5      [        R                  " SU5      /5        g )Nr#  r   r$  r%  r&  r'  r(  r)  r1  r2  r  r3  r+  )
rS   r   r   r   r   r4  make_sequence_type_protor5  ry   r6  )rI   rn   r7  sequence_type_protor8  s        r,   test_identity_optional_sequence2TestShapeInference.test_identity_optional_sequence  s     ;,,i8;,,i8;,,i8 ')G- *}oG*}o8I7JK 
 #99|
 %==>OP$==>QR&&}6IJ&&}6IJ&&'8:MN	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r   Addr   r   r   s     r,   test_addTestShapeInference.test_add  w      k''4k''4 usCj#./
 	*30A0A:NO	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r   Powr   r   r   s     r,   test_powTestShapeInference.test_pow  rD  re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r:   r   r   r   BitShiftr   RIGHT	directionrS   r   UINT32r   ry   r   r   s     r,   test_bitshift TestShapeInference.test_bitshift  sy      k(()4k(()4 zC:sgFG
 	*30B0BINO	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   )   r   r   r   r  rK  r   rL  rM  rO  r   s     r,    test_bitshift_broadcast_to_first3TestShapeInference.test_bitshift_broadcast_to_first  st      ;%%z2S+:L:Ld4STzC:sgFG

 	*30B0BJOP	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   r  r   rJ  rK  r   rL  rM  rO  r   s     r,   !test_bitshift_broadcast_to_second4TestShapeInference.test_bitshift_broadcast_to_second	  st      ;%%t,sK4F4F	.RSzC:sgFG

 	*30B0BINO	
re   c                &    U R                  S5        g )NSumr  r  s    r,   test_sum_single"TestShapeInference.test_sum_single	  s    E"re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r   r   r[  rJ  rK  r   r   s     r,   test_sum_multi!TestShapeInference.test_sum_multi	  s      k''4k''4k''4
 uow78
 	*5+2C2CZPQ	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS	/5      // 5      nU R	                  U[        S	[        R                  S
5      /5        g )NrL   )r   r   r0   r   r   r   r   r   )r   r   r[  rJ  rK  r   r   r   s     r,   test_sum_multi_broadcasting.TestShapeInference.test_sum_multi_broadcasting"	  s      k''4k''5k''2
 uow78
 	*5+2C2CZPQ	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )r   r   r0   r   rb  r[  rK  r  r   r   s     r,   test_sum_broadcasting_param.TestShapeInference.test_sum_broadcasting_param0	  sy      k''5k''5 usCj5'23
 	*5+2C2C[QR	
re   c                    U R                  / [        S/ S/[        R                  SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NRandomNormalrK  r<  )r  r~   )rS   r   r   r  ry   r   r   s     r,   test_random_normal%TestShapeInference.test_random_normal=	  sf      "G%,,# 
 	*5+2D2DiPQ	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r   RandomNormalLikerK  r   r   s     r,   test_random_normal_like*TestShapeInference.test_random_normal_likeO	  sd      ;$$i01)C55':;

 	*5+2C2CYOP	
re   c           
         U R                  S[        R                  S4/[        SS/S/[        R                  S9// 5      nU R                  U[        S[        R                  S5      /5        g )Nr   r   rm  rK  r  rS   r   r   r   r  ry   r   r   s     r,   "test_random_normal_like_with_dtype5TestShapeInference.test_random_normal_like_with_dtypeY	  su      ;$$i01&EG%,,	 
 	*5+2D2DiPQ	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  	BernoullirK  r   r   s     r,   test_bernoulli!TestShapeInference.test_bernoullij	  sa      ;$$f-.{SEE734

 	e&<UKDUDUW]&^%_`re   c           
         U R                  S[        R                  S4/[        SS/S/[        R                  S9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r   ru  rK  r  rq  r   s     r,   test_bernoulli_with_dtype,TestShapeInference.test_bernoulli_with_dtyper	  ss      ;$$i01EG%,,	 
 	e&<UKDVDVXa&b%cdre   c                    U R                  SUS4SUS4/[        USS/S5      // 5      nU R                  U[        S[        R
                  S5      /5        g )NrL   r   r   r   rS   r   ry   r   r   rx  rI   r   
input_typern   s       r,   _logical_binary_op%TestShapeInference._logical_binary_op	  sf      :z*S*j,IJrC:s+,

 	*30@0@*MN	
re   c                    U R                  SUS4SUS4/[        USS/S5      // 5      nU R                  U[        S[        R
                  S5      /5        g )NrL   r  r   r   r   r|  r}  s       r,   $_logical_binary_op_with_broadcasting7TestShapeInference._logical_binary_op_with_broadcasting	  sh       :v&j*(EFrC:s+,

 	*30@0@*MN	
re   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NAndr  r   rx  r  r  s    r,   test_logical_and#TestShapeInference.test_logical_and	  .    {'7'7811%9I9IJre   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NOrr  r  s    r,   test_logical_or"TestShapeInference.test_logical_or	  s.    k&6&6711$8H8HIre   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NXorr  r  s    r,   test_logical_xor#TestShapeInference.test_logical_xor	  r  re   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NGreaterr  r  s    r,   test_greaterTestShapeInference.test_greater	  s.    	;+;+;<11)[=M=MNre   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NLessr  r  s    r,   	test_lessTestShapeInference.test_less	  s.    (8(8911&+:J:JKre   c                    U R                  S[        R                  5        U R                  S[        R                  5        g NEqualr  r  s    r,   
test_equalTestShapeInference.test_equal	  s.    )9)9:11';;K;KLre   c                    U R                  S[        R                  5        U R                  S[        R                  5        g r  )r  r   r   r  r  s    r,   test_equal_string$TestShapeInference.test_equal_string	  s.    ););<11';;M;MNre   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   Notr   )rS   r   rx  r   ry   r   r   s     r,   test_logical_not#TestShapeInference.test_logical_not	  s`      ;##Z01IecUC4P3QSU
 	*30@0@*MN	
re   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NLessOrEqualr  r  s    r,   test_less_or_equal%TestShapeInference.test_less_or_equal	  s.    {/?/?@11-AQAQRre   c                    U R                  S[        R                  5        U R                  S[        R                  5        g )NGreaterOrEqualr  r  s    r,   test_greater_or_equal(TestShapeInference.test_greater_or_equal	  s0     0+2B2BC112BKDTDTUre   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r:   r   r   r0   Flattenr   r:   rC  )r5     r   r   s     r,   test_flattenTestShapeInference.test_flatten	  se      ;$$l34y3%#Q78

 	*30A0A7KL	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r  r   )r:   <   r   r   s     r,   test_flatten_default_axis,TestShapeInference.test_flatten_default_axis	  sc      ;$$l34y3%#/0

 	*30A0A7KL	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r  r   r   rC  )r   x   r   r   s     r,   test_flatten_zero_axis)TestShapeInference.test_flatten_zero_axis	  se      ;$$l34y3%#Q78

 	*30A0A8LM	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )r:   r  r   r0   r  r   r:   rC  )Nr  r   r   s     r,   test_flatten_unknown_dim+TestShapeInference.test_flatten_unknown_dim	  sc      ;$$n56y3%#Q78

 	e&<S+BSBSU_&`%abre   c           
         SnU R                  S[        R                  S4/[        SS/S/US9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr:  rL   r:   r   d   r  SpaceToDepthr   	blocksizer:   ,  r:  r:  r   rI   r   rn   s      r,   test_space_to_depth&TestShapeInference.test_space_to_depth	  sl      ;$$&678~useqAB

 	*30A0ACSTU	
re   c           
         SnU R                  S[        R                  S4/[        SS/S/US9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr:  rL   )r:   r  r  r  r  r   r  )r:   Nr:  r:  r   r  s      r,   test_space_to_depth_unknown_dim2TestShapeInference.test_space_to_depth_unknown_dim	  si      ;$$&89:~useqAB

 	e&<S+BSBSUf&g%hire   c                    SnU R                  S[        R                  S4/[        SS/S/USS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr:  rL   r  DepthToSpacer   DCR)r  moder  r   r  s      r,   test_depth_to_space&TestShapeInference.test_depth_to_space	  sn      ;$$&678~usequMN

 	*30A0ACSTU	
re   c                V   U R                  S[        R                  XU44S[        R                  SXC44S[        R                  SXD44/[        S/ SQSS/US	9// 5      nU R	                  U[        S[        R                  USX$45      [        S[        R                  SX$45      /5        g )
NrL   wr   rRNNrL   r  r  alllasthidden_sizer   rI   seqlen	batchsizeinpsize
hiddensizern   s         r,   _rnn_forwardTestShapeInference._rnn_forward
  s       k''&W)EFk''!Z)ABk''!Z)DE ?UFO
 
 	&;,,vq).P 'K--9/I	
	
re   c                ,    U R                  SSSS5        g Nr      r:  r   )r  r  s    r,   test_rnn_forward#TestShapeInference.test_rnn_forward$
  s    "b"a(re   c                X   U R                  S[        R                  XU44S[        R                  SXC44S[        R                  SXD44/[        S/ SQSS/US	S
9// 5      nU R	                  U[        S[        R                  USX$45      [        S[        R                  SX$45      /5        g )NrL   r  r:   r  r  r  r  r  bidirectional)r  rN  r   r  s         r,   _rnn_bidirectional%TestShapeInference._rnn_bidirectional'
  s       k''&W)EFk''!Z)ABk''!Z)DE #FO *- 
" 	&;,,vq).P 'K--9/I	
	
re   c                V    U R                  SSSS5        U R                  SSSSS5        g )Nr  r  r:  r   r  )_rnn_layoutr  s    r,   test_rnn_layout"TestShapeInference.test_rnn_layoutG
  s,    RQ'RQ8re   c                n   U R                  S[        R                  X!U44S[        R                  SXC44S[        R                  SXD44/[        S/ SQSS/USUS	9// 5      nUS
:X  a  SnOSnU R	                  U[        S[        R                  X!Xt45      [        S[        R                  X'U45      /5        g )NrL   r  r   r  r  r  r  r  )r  layoutrN  r  r:   r   )rI   r  r  r  r  rN  rn   num_directionss           r,   r  TestShapeInference._rnn_layoutK
  s       k'')W)EFk''!Z)ABk''!Z)DE #FO *'	 !
$ 'NN&%%C
 'K--	:/V		
re   c                ,    U R                  SSSS5        g r  )r  r  s    r,   test_rnn_bidirectional)TestShapeInference.test_rnn_bidirectionalw
  s    BA.re   c                   U R                  S[        R                  XU44S[        R                  SSU-  U44S[        R                  SSU-  U44/[        S/ SQ/ SQUS	9// 5      nU R	                  U[        S
[        R                  USX$45      [        S[        R                  SX$45      [        S[        R                  SX$45      /5        g )NrL   r  r   r   r  LSTMr  )r  hiddenr  r  r  r  r  r   r  s         r,   _lstm_forward TestShapeInference._lstm_forwardz
  s       k''&W)EFk''!Q^W)EFk''!Q^Z)HI #- *	 
  	&;,,vq).P 'k//!Y1K 'K--9/I
	
re   c                ,    U R                  SSSS5        g r  )r  r  s    r,   test_lstm_forward$TestShapeInference.test_lstm_forward
  s    2r2q)re   c                .   U R                  S[        R                  S4/[        SSS/SS/5      // [	        S[        R
                  SS5      /S	9nU R                  U[        S[        R                  S
5      [        S[        R
                  S
5      /5        g )NrL   r   r   r0   r:  TopKkr   r   r  r   r  )r   r   r0   r:   rS   r   r   r   r   rG   ry   r   r   s     r,   test_topk_default_axis)TestShapeInference.test_topk_default_axis
  s      ;$$m45vSzC:67$S+*;*;T4HI	 ! 
 	&sK,=,=|L&sK,=,=|L	
re   c                ,   U R                  S[        R                  S4/[        SSS/SS/SS9// [	        S[        R
                  S	S
5      /S9nU R                  U[        S[        R                  S5      [        S[        R
                  S5      /5        g )NrL   r   r  r  r   r   r:   rC  r  r   r  )r   r   r:   r:  r  r   s     r,   	test_topkTestShapeInference.test_topk
  s      ;$$m45vSzC:A>?$S+*;*;T4HI	 ! 
 	&sK,=,=}M&sK,=,=}M	
re   c                n   U R                  S[        R                  S4/[        SSS/SS/SS9// [	        S[        R
                  S	[        R                  " S
/SS9R                  5       SS9/S9nU R                  U[        S[        R                  S5      [        S[        R
                  S5      /5        g )NrL   r   r  r  r   r   r:   rC  r  r   r  r  Tr  r  )r   r   r   r:  )rS   r   r   r   r   rG   r   r  r  ry   r   r   s     r,   test_topk_raw_data%TestShapeInference.test_topk_raw_data
  s      ;$$m45vSzC:A>?%%1#U3;;=	 ! 
 	&sK,=,=}M&sK,=,=}M	
re   c           
        U R                  S[        R                  S4S[        R                  S4/[	        SSS/SS/SS	9// 5      nU R                  U[        S[        R                  S
5      [        S[        R                  S
5      /5        g )NrL   r   r  r  r  r   r   r:   rC  NNNNr  r   s     r,   +test_topk_missing_k_value_output_rank_check>TestShapeInference.test_topk_missing_k_value_output_rank_check
  s      ;$$m4sK<M<Mt6TUvSzC:A>?

 	&sK,=,=?WX&**,D	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S 4/[        S/ SQS/5      // 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   rB  r0   r   r0   r  r   GemmrJ  rK  rB  r  r   r   s     r,   	test_gemmTestShapeInference.test_gemm
  s      k''0k''1k''.
 v89
 	*5+2C2CWMN	
re   c           
     
   U R                  S[        R                  S4S[        R                  S4S[        R                  S 4/[        S/ SQS/S	S
9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r0   rB  r   r  r   r  rJ  rK  r   )transAr  r   r   s     r,   test_gemm_transA#TestShapeInference.test_gemm_transA
        k''0k''1k''.
 vBC
 	*5+2C2CWMN	
re   c           
     
   U R                  S[        R                  S4S[        R                  S4S[        R                  S 4/[        S/ SQS/S	S
9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r   r  r0   r   r  rJ  rK  r   )transBr  r   r   s     r,   test_gemm_transB#TestShapeInference.test_gemm_transB   r  re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S 4/[        S/ SQS/S	S	S
9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r   r  r   r  rJ  rK  r   )r  r  r  r   r   s     r,   test_gemm_transA_and_transB.TestShapeInference.test_gemm_transA_and_transB  s      k''0k''1k''.
 v!LM
 	*5+2C2CWMN	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )   rB  r   )rB     r  rK  )r&  r'  r   r   s     r,   test_gemm_no_bias$TestShapeInference.test_gemm_no_bias  st      ;$$g.k6G6G0QRvSzE734

 	*5+2C2CXNO	
re   c                "   U R                  S[        R                  S4/[        SSSSSS9// [	        S[        R
                  S	S5      /S
9n[        5       nSUl        SUl        U R                  U[        S[        R                  S5      /U/S9  g )NrL      r   r  ReduceL1r   r   r   r  keepdimsr  r   r  r  r&  r,  r   rS   r   r   r   r   rG   r   r(   r+   ry   r   rI   rn   operatorsetids      r,   #test_reduce_op_shape_2_axis_opset136TestShapeInference.test_reduce_op_shape_2_axis_opset13&  s      ;$$k23z3&1EF$V[->->fMN	 ! 
 +,! "#C):):EBC(/ 	 	
re   c                H   U R                  S[        R                  S4S[        R                  S4/[	        SSS/SSS9// [        S[        R                  SS	5      /S
9n[        5       nSUl        SUl        U R                  U[        S[        R                  S5      /U/S9  g )NrL   r+  r  r   r-  r   r   r/  r   r  r  r  r0  r   rS   r   r   rG   r   r   r   r(   r+   ry   r   r2  s      r,   #test_reduce_op_shape_2_axis_opset186TestShapeInference.test_reduce_op_shape_2_axis_opset187  s      ;$$k2V[=N=NPT4UVzC=#BC$V[->->fMN	 ! 
 +,! "#C):):EBC(/ 	 	
re   c                    U R                  S[        R                  S4/[        SSSSSS9// / S9n[	        S	S
S9nU R                  U[        S[        R                  S5      /U/S9  g )NrL   r,  r   r  r-  r   r  r   r.  r  r  r&  r(   r+   r,  r   r  r   )rS   r   r   r   r   ry   r   r2  s      r,    test_reduce_op_empty_set_opset133TestShapeInference.test_reduce_op_empty_set_opset13H  s      ;$$k23z3$CD	 ! 
 +"bA#C):):KHI(/ 	 	
re   c                ,   U R                  S[        R                  S4S[        R                  S4/[	        SSS/SSS9// [        S[        R                  SS5      /S	9n[        S
SS9nU R                  U[        S[        R                  S5      /U/S9  g )NrL   r<  r  r  r-  r   r   r7  r  r  r  r=  r>  r   )	rS   r   r   rG   r   r   r   ry   r   r2  s      r,    test_reduce_op_empty_set_opset183TestShapeInference.test_reduce_op_empty_set_opset18V  s      ;$$k2V[=N=NPT4UVzC=#BC$V[->->dKL	 ! 
 +"bA#C):):KHI(/ 	 	
re   c                "   U R                  S[        R                  S4/[        SSSSSS9// [	        S[        R
                  S	S5      /S
9n[        5       nSUl        SUl        U R                  U[        S[        R                  S5      /U/S9  g )NrL   r+  r-  r   r   r   r.  r  r   r  r  r&  r,  r   r   r   r1  r2  s      r,   &test_reduce_op_shape_keep_dims_opset139TestShapeInference.test_reduce_op_shape_keep_dims_opset13d  s      ;$$k23z3&1EF$V[->->fMN	 ! 
 +,! "#C):):JGH(/ 	 	
re   c                H   U R                  S[        R                  S4S[        R                  S4/[	        SSS/SSS9// [        S[        R                  SS	5      /S
9n[        5       nSUl        SUl        U R                  U[        S[        R                  S5      /U/S9  g )NrL   r+  r  r   r-  r   r   r7  r   r  r  r  rE  r   r8  r2  s      r,   &test_reduce_op_shape_keep_dims_opset189TestShapeInference.test_reduce_op_shape_keep_dims_opset18t  s      ;$$k2V[=N=NPT4UVzC=#BC$V[->->fMN	 ! 
 +,! "#C):):JGH(/ 	 	
re   c                    U R                  S[        R                  S4/[        SSS5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r+  r-  r   rq  r   r   s     r,   "test_reduce_op_shape_default_value5TestShapeInference.test_reduce_op_shape_default_value  s_      ;$$k23z3,-

 	*30A0A9MN	
re   c           
         U R                  S[        R                  S4/[        SSSSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r+  r-  r   r   r7  r<   r   r   s     r,   -test_reduce_op_shape_no_axes_do_not_keep_dims@TestShapeInference.test_reduce_op_shape_no_axes_do_not_keep_dims  sa      ;$$k23z3a89

 	*30A0A2FG	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
NrL   r+  r  r   r-  r   )r!   r  r  rE  r  r   s     r,   "test_reduce_op_shape_negative_axis5TestShapeInference.test_reduce_op_shape_negative_axis  s      ;$$k2V[=N=NPT4UVzC=#67$V[->->hOP	 ! 
 	*30A0A:NO	
re   c                    U R                  S[        R                  S4/[        SSSSSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r+  ArgMaxr   r   rD  r/  r>  rS   r   r   r   ry   r   rG   r   s     r,   test_argmax_shape$TestShapeInference.test_argmax_shape  sc      ;$$k23xcA>?

 	*30A0A;OP	
re   c                    U R                  S[        R                  S4/[        SSSSSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r+  rU  r   r   rV  )r   r  rW  r   s     r,   test_argmax_shape_keepdims-TestShapeInference.test_argmax_shape_keepdims  sc      ;$$k23xcA>?

 	*30A0A7KL	
re   c                    U R                  S[        R                  S4/[        SSS5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r+  rU  r   )r   r   r  rW  r   s     r,   test_argmax_shape_default_value2TestShapeInference.test_argmax_shape_default_value  s^      ;$$k23i#s6S5TVX
 	*30A0A:NO	
re   c           
         U R                  S[        R                  S4/[        SSSSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r+  rU  r   r  rC  r>  rW  r   s     r,   test_argmax_shape_negative_axis2TestShapeInference.test_argmax_shape_negative_axis  sa      ;$$k23xc34

 	*30A0A;OP	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Ndatar<  ratior<   DropoutrK  r   r   s     r,   test_dropoutTestShapeInference.test_dropout  s       %% +++R0 y67"3eW=>
  	&%%
	
re   c                (    U R                  SSSSS9  g )NLRN      ?r   )alphabetasizer  r  s    r,   test_LRNTestShapeInference.test_LRN  s    E3Q?re   c           	     T   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	QS
/5      // 5      nU R	                  U[        S
[        R                  S5      /5        g )NrL   r  scaler  r   meanvarBatchNormalizationrL   rr  r   rs  rt  rK  r   r   s     r,   test_batch_norm"TestShapeInference.test_batch_norm  s      k''9+++T2k''.**D1))40 (*Lug
 
 	*5+2C2C_UV	
re   c           	     T   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	QS
/5      // 5      nU R	                  U[        S
[        R                  S5      /5        g )NrL      rr  r  r   rs  rt  ru  rv  rK  r   r   s     r,   test_batch_norm_rank1(TestShapeInference.test_batch_norm_rank1   s      k''0+++T2k''.**D1))40 (*Lug
 
 	*5+2C2CVLM	
re   c           	     f   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/5      // 5      nU R	                  [
        R                  R                  U R                  U5        g )NrL   rz  rr  r   r   r  rs  rt  ru  rv  rK  r   r   s     r,   test_batch_norm_invalid*TestShapeInference.test_batch_norm_invalid  s      k''0+++V4k''.**D1))40 (*Lug
 
 	$..==t~~uUre   c                    U R                  S[        R                  S4/[        SS/SS/SSS9// 5      nU R	                  U[        S[        R                  S	5      [        S[        R                  S	5      /5        g )
NrL   r   Splitr   r   r!   r:   rD  num_outputsr6  r   r   s     r,   test_split_negative_axis+TestShapeInference.test_split_negative_axis&  s}      ;$$f-.wSzJK

 	&sK,=,=vF&sK,=,=vF	
re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/SS/SS	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )NrL   r   splitr   r  r   r   r   rC  r  r  r   r   r  r   s     r,   test_split_with_split_attribute2TestShapeInference.test_split_with_split_attribute4  s      ;$$f-9J9JD/QRwgc
CD$Wk.?.?vNO	 ! 
 	&sK,=,=vF&sK,=,=vF	
re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/SS/SS	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )NrL   )r:   r   r   r  r   r  r   r   r   rC  r  r  )r:   Nr   r  r   s     r,   1test_split_with_split_attribute_unknown_split_dimDTestShapeInference.test_split_with_split_attribute_unknown_split_dimC  s      k''7+++T2 wgc
CD$Wk.?.?vNO ! 
 	&sK,=,=~N&sK,=,=~N	
re   c                    U R                  S[        R                  S4/[        SS/SS/SSS9// 5      nU R	                  U[        S[        R                  S	5      [        S[        R                  S	5      /5        g )
NrL   r  r  r   r   r   r:   r  r0   r   rB  r   r   s     r,   test_split_from_GLU&TestShapeInference.test_split_from_GLUU  s}      ;$$i01wSzqIJ

 	&sK,=,=yI&sK,=,=yI	
re   c                ,   U R                  S[        R                  S4/[        SS// SQSSS9// 5      nU R	                  U[        S[        R                  S	5      [        S
[        R                  S	5      [        S[        R                  S5      /5        g )NrL   )ri  r:   r  r   r   r   r   r   r  r   r  r   r   r6  r   r   s     r,   test_split_uneven_split_2d-TestShapeInference.test_split_uneven_split_2dc  s      ;$$f-.wQANO

 	&sK,=,=vF&sK,=,=vF&sK,=,=vF	
re   c                ,   U R                  S[        R                  S4/[        SS// SQSSS9// 5      nU R	                  U[        S[        R                  S	5      [        S
[        R                  S	5      [        S[        R                  S5      /5        g )NrL   )r:   rB  r   r  r  r   r   r  r   )r:   r   r   r   r   r:   r   r   r   r   s     r,   test_split_uneven_split_3d-TestShapeInference.test_split_uneven_split_3dr  s      ;$$i01wQANO

 	&sK,=,=yI&sK,=,=yI&sK,=,=yI	
re   c                H   U R                  S[        R                  S4/[        SS/SS/SSS9[        S	S/S
/5      // 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      [        S
[        R                  S5      /5        g )NrL   r  r  r   r   r   r:   r  Sigmoidr   r  r   r   s     r,   test_GLU_partial#TestShapeInference.test_GLU_partial  s      ;$$i01'C53*1!L)cUSE2 
 	&sK,=,=yI&sK,=,=yI&sK,=,=yI	
re   c                   U R                  S[        R                  S4/[        SS/SS/SSS9[        S	S/S
/5      [        SSS
/S/5      // 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      [        S
[        R                  S5      [        S[        R                  S5      /5        g )NrL   r  r  r   r   r   r:   r  r  r   Mulr   r  r   r   s     r,   test_GLUTestShapeInference.test_GLU  s      ;$$i01'C53*1!L)cUSE2%#scU3
 
 	&sK,=,=yI&sK,=,=yI&sK,=,=yI&sK,=,=yI		
re   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r0   Softmaxr   r   r   s     r,   test_softmax_2d"TestShapeInference.test_softmax_2d  `      ;$$f-.9seS1Q0RTV
 	*30A0A6JK	
re   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   rZ  r  r   r   r   s     r,   test_softmax_3d"TestShapeInference.test_softmax_3d  a      ;$$i01y3%-.

 	*30A0A9MN	
re   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  Hardmaxr   r   r   s     r,   test_hardmax_2d"TestShapeInference.test_hardmax_2d  r  re   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   rZ  r  r   r   r   s     r,   test_hardmax_3d"TestShapeInference.test_hardmax_3d  r  re   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  
LogSoftmaxr   r   r   s     r,   test_logsoftmax_2d%TestShapeInference.test_logsoftmax_2d  sa      ;$$f-.|cUC01

 	*30A0A6JK	
re   c                    U R                  S[        R                  S4/[        SS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   rZ  r  r   r   r   s     r,   test_logsoftmax_3d%TestShapeInference.test_logsoftmax_3d  sa      ;$$i01|cUC01

 	*30A0A9MN	
re   c           
         U R                  S[        R                  S4/[        SS/SSS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   rZ  r  r   r!   rC  r   r   s     r,    test_logsoftmax_3d_negative_axis3TestShapeInference.test_logsoftmax_3d_negative_axis  sc      ;$$i01|cUCb9:

 	*30A0A9MN	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  MaxPoolr   r:   r  r0   r   r   r   r   r   s     r,   test_maxpoolTestShapeInference.test_maxpool  si      ;$$l34y3%#aVDE

 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4/[        SS/SS/SS/S9// 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )	Nr   r  r  r   Zr:   r  r  rW  r   s     r,   test_maxpool_with_indices,TestShapeInference.test_maxpool_with_indices  s      ;$$l34y3%#s1a&IJ

 	&sK,=,=|L&sK,=,=|L	
re   c           
         U R                  S[        R                  S4/[        SS/S// SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r0   r   r   r   r   r  r   rO  r  r0   r   r   r   r   r   r   s     r,   test_maxpool_3D"TestShapeInference.test_maxpool_3D  se      ;$$o67y3%#YGH

 	*30A0A?ST	
re   c                    U R                  S[        R                  S4/[        SS/S/SS// SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r:   r   r   r:   r:   r  r.  r0   r   r5  r5  r   r   s     r,   test_maxpool_with_padding,TestShapeInference.test_maxpool_with_padding  sr      ;$$l34use1a&|
 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS// SQSS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r:   r  r  r.  r'  r  r   r   s     r,   $test_maxpool_with_padding_and_stride7TestShapeInference.test_maxpool_with_padding_and_stride  s}      ;$$l34EE"#Q%F	 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r     #   r  r  r   r:   Fr  r'  	ceil_mode)r  r  r'  r'  r   r   s     r,   test_maxpool_with_floor_mode/TestShapeInference.test_maxpool_with_floor_mode,  s      ;$$&789EE"#QF#	 
 	*30A0ACTUV	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r:   Tr  )r  r  r  r  r   r   s     r,   test_maxpool_with_ceil_mode.TestShapeInference.test_maxpool_with_ceil_mode?  s      ;$$&789EE"#QF"	 
 	*30A0ACTUV	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r   r   r   r   r  r   r   r:   Tr  r  r   r   s     r,   test_maxpool_ceil$TestShapeInference.test_maxpool_ceilR  s}      ;$$l34EE"#QF"	 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  r  r   r:   r  r  r   r   s     r,   test_maxpool_with_dilations.TestShapeInference.test_maxpool_with_dilationse  sq      ;$$l34y3%#aVPQSTvVW

 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r  r:   r  r  r   r   s     r,   /test_maxpool_with_same_upper_padding_and_strideBTestShapeInference.test_maxpool_with_same_upper_padding_and_strideo  }      ;$$l34EE)"#QF	 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r  r  r   r  r:   r   r  r  r   r   s     r,   <test_maxpool_with_same_upper_padding_and_stride_and_dilationOTestShapeInference.test_maxpool_with_same_upper_padding_and_stride_and_dilation        ;$$l34EE)"#QF !f
 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r  r:   r   r  r   r   s     r,   3test_maxpool_with_same_upper_padding_and_stride_oneFTestShapeInference.test_maxpool_with_same_upper_padding_and_stride_one  r  re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r0   r   r%  r%  r  r   
SAME_LOWERr:   r  r0   r   r0   r0   r   r   s     r,   /test_maxpool_with_same_lower_padding_and_strideBTestShapeInference.test_maxpool_with_same_lower_padding_and_stride  r  re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r  r  r   r  r:   r   r  r  r   r   s     r,   <test_maxpool_with_same_lower_padding_and_stride_and_dilationOTestShapeInference.test_maxpool_with_same_lower_padding_and_stride_and_dilation  r  re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r  r  r   r  r:   r   r  r0   r   r   r   r   r   s     r,   3test_maxpool_with_same_lower_padding_and_big_strideFTestShapeInference.test_maxpool_with_same_lower_padding_and_big_stride  r  re   c           
         U R                  S[        R                  S4/[        SS/S/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  r
  r   r:   r  r  r   r   s     r,   test_averagepool#TestShapeInference.test_averagepool  si      ;$$l34}secU!QHI

 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4/[        SS/S// SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  r
  r   rO  r  r  r   r   s     r,   test_averagepool_3D&TestShapeInference.test_averagepool_3D  se      ;$$o67}secUKL

 	*30A0A?ST	
re   c                    U R                  S[        R                  S4/[        SS/S/SS// SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r
  r   r:   r  r  r  r   r   s     r,   test_averagepool_with_padding0TestShapeInference.test_averagepool_with_padding  sr      ;$$l34!C53%q!f<
 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS// SQSS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r
  r   r:   r  r  r  r   r   s     r,   (test_averagepool_with_padding_and_stride;TestShapeInference.test_averagepool_with_padding_and_stride  s}      ;$$l34!EE"#Q%F	 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r  r
  r   r   r:   Tr  r  r   r   s     r,   test_averagepool_ceil(TestShapeInference.test_averagepool_ceil  s}      ;$$l34!EE"#QF"	 
 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  LpPoolr   r:   r  r  r   r   s     r,   test_lppoolTestShapeInference.test_lppool+  si      ;$$l34x#QFCD

 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4/[        SS/S// SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  r  r   rO  r  r  r   r   s     r,   test_lppool_3D!TestShapeInference.test_lppool_3D5  se      ;$$o67x#IFG

 	*30A0A?ST	
re   c                    U R                  S[        R                  S4/[        SS/S/SS// SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r:   r  r  r  r   r   s     r,   test_lppool_with_padding+TestShapeInference.test_lppool_with_padding?  sk      ;$$l34x#QFVW

 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS// SQSS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	Nr   r  r  r   r:   r  r  r  r   r   s     r,   #test_lppool_with_padding_and_stride6TestShapeInference.test_lppool_with_padding_and_strideI  s}      ;$$l34EE"#Q%F	 
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  r  r   r:   r  r  r   r   s     r,   test_lppool_with_dilations-TestShapeInference.test_lppool_with_dilations\  sp      ;$$l34x#QFqRSfUV

 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/SSS/SS/SS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr   r  r  r   r  r:   r   r  r  r   r   s     r,   ;test_lppool_with_same_upper_padding_and_stride_and_dilationNTestShapeInference.test_lppool_with_same_upper_padding_and_stride_and_dilationf  s      ;$$l34EE)"#QF !f
 
 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS/S9// 5      nU R                  U[        S[        R                  S	5      /5        g )
Nr   r  rois)r:   r0   
MaxRoiPoolr   r:   )pooled_shape)r:   r   r:   r:   r  r   s     r,   test_roipoolTestShapeInference.test_roipoolz  s      k''6**F3 |c6]SEAOP
 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  LpNormalizationrK  r   r   s     r,   test_lp_normTestShapeInference.test_lp_norm  sd      ;$$o67(3%%9:

 	*5+2C2C_UV	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   r  rr  r  r   InstanceNormalization)rL   rr  r   rK  r   r   s     r,   test_instance_norm%TestShapeInference.test_instance_norm  s      k''9+++T2k''.
 .0CeWMN
 	*5+2C2C_UV	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  GlobalMaxPoolr   r  r   r   s     r,   test_global_maxpool&TestShapeInference.test_global_maxpool  sc      ;$$l34u56

 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  GlobalAveragePoolr   r  r   r   s     r,   test_global_averagepool*TestShapeInference.test_global_averagepool  sd      ;$$l34*SEC59:

 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r  GlobalLpPoolr   r  r   r   s     r,   test_global_lppool%TestShapeInference.test_global_lppool  sc      ;$$l34~use45

 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS/S9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
Nr      0   rT  rT  Wr?  r  r   r   ConvTransposer   r:   r&  )r>  r  !   rC  r   r   s     r,   test_conv_transpose&TestShapeInference.test_conv_transpose  s      k'')9:k''8 c
C!QHI
 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS// SQS	9// 5      nU R	                  U[        S[        R                  S
5      /5        g )Nr   r=  r@  rA  rB  r   r:   r  )r'  r.  r>  r  r   r   r   r   s     r,   test_conv_transpose_with_pads0TestShapeInference.test_conv_transpose_with_pads  s      k'')9:k''8
 #c3Zq!f<
 
 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS// SQS	S	/S
9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r=  r@  rA  rB  r   r:   r  $   )r'  r.  r  )r>  r  rK  rK  r   r   s     r,   %test_conv_transpose_with_output_shape8TestShapeInference.test_conv_transpose_with_output_shape  s      k'')9:k''8
 ##JF%"$b	 
" 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS/SS// S	QS
9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r=  r@  )r?  r  NNrB  r   r   r:   r  )r  r'  r.  rG  r   r   s     r,   %test_conv_transpose_with_kernel_shape8TestShapeInference.test_conv_transpose_with_kernel_shape  s      k'')9:k'')=>
 ##J"#QF%	 
" 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS// SQS	S	/S
9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r=  r@  rA  rB  r   r:   r  r   )r'  r.  r3  )r>  r  "   rR  r   r   s     r,   "test_conv_transpose_with_dilations5TestShapeInference.test_conv_transpose_with_dilations  s      k'')9:k''8
 ##JF% !f	 
" 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS// SQSS	9// 5      nU R	                  U[        S[        R                  S
5      /5        g )Nr   r=  r@  rA  rB  r   r:   r  )r'  r.  r  )r>  r  r   r   r   r   s     r,   test_conv_transpose_with_group1TestShapeInference.test_conv_transpose_with_group  s      k'')9:k''8
 ##JF%	 
" 	*30A0ACSTU	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS// SQSS	S	/S
9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r=  r@  rA  rB  r   r:   r  rK  )r'  r.  r  r  )r>  r  rK  rK  r   r   s     r,   /test_conv_transpose_with_group_and_output_shapeBTestShapeInference.test_conv_transpose_with_group_and_output_shape3  s      k'')9:k''8
 ##JF%"$b
 !
$ 	*30A0ACSTU	
re   c                h   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS	S
SS// SQS9// 5      nU R	                  [
        R                  R                  [
        R                  R                  [        R                  " U5      SS9  g )Nr   r  r@  r   r   r   r   Br  rB  )r   r@  r]  r   r  r   )r   r   r   r   )r  r'  r.  TrX   )rS   r   r   r   r   r[   r\   r   r]   r   rZ   r   s     r,   +test_conv_transpose_with_pads_and_auto_pads>TestShapeInference.test_conv_transpose_with_pads_and_auto_padsJ  s      k''6k''6k''. ##)F%	 !
$ 	  //  --e$	 	 	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSSS/S	9// 5      nU R	                  U[        S[        R                  S
5      /5        g )Nr   r=  r@  rA  rB  r   r  r:   r  )r>  r  r  r  r   r   s     r,   test_conv_transpose_auto_pads0TestShapeInference.test_conv_transpose_auto_padse  s      k'')9:k''8
 ##J)F 
  	*30A0ACSTU	
re   c           
         U R                  S[        R                  S4/[        SSS/ SQS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r=  MeanVarianceNormalizationr   )r   r:   r   r  r   r   s     r,   test_mvn_function_output_shape1TestShapeInference.test_mvn_function_output_shapez  sd      ;$$&6782C9MN

 	*30A0ACSTU	
re   c                   SnSnSnSn[        S[        R                  S 5      [        S[        R                  S 5      /n[        S[        R                  S 5      [        S[        R                  S 5      /n[        R                  " [        S	S/S/5      [        S	S/S/5      /S
UU5      nU R                  S[        R                  X44S[        R                  XU44/[        S/ SQSS/SUS9// 5      nU R                  U[        S[        R                  X45      [        S[        R                  XU45      /[        R                  " [        S5      /S9  g )Nr   sequencer:   r   loop_state_inr  loop_state_outr  r  subgraphloop_state_orig
scan_inputScan)r  rm  rn  loop_state_finalscan_outputnum_scan_inputsbodyri  r   r   r   rE   r   rH   r   rS   r   ry   r   r   )	rI   
batch_sizeseq_len
input_sizeloop_state_sizerN   output_value_infosrl  rn   s	            r,   	test_scanTestShapeInference.test_scan  s   

 #?K4I4I4P"7K,A,A4H

 ##3[5J5JDQ"8[-B-BDI

 $$*&7:J9KL*wi(< 
   "K$5$5
7TU{00:
2ST
 9'7$%! 
" 	&&(9(9J;X '!;#4#4zJ6W	 "..{A>? 	 	
re   c                   SnSnSn[        S[        R                  S 5      [        S[        R                  S 5      /n[        S[        R                  S 5      [        S[        R                  S 5      /n[        R                  " [        SS/S/5      [        SS/S/5      /S	UU5      nU R                  S
[        R                  U44S[        R                  X44/[        SS
S/SS/SUS9// 5      nU R                  U[        S[        R                  U45      [        S[        R                  X45      /[        R                  " [        S5      /S9  g )Nri  r:   r   rj  r  rk  r  r  rl  rm  rn  ro  rp  rq  r   rr  r%  r   ru  )rI   rw  rx  ry  rN   rz  rl  rn   s           r,   test_scan_opset9#TestShapeInference.test_scan_opset9  s   
 #?K4I4I4P"7K,A,A4H

 ##3[5J5JDQ"8[-B-BDI

 $$*&7:J9KL*wi(< 
   "K$5$57IJ{0072GH
 &5'7$%! 
" 	&&(9(9O;M '!;#4#4w6K	 "..{A>? 	 	
re   c                   SnSnSnSn[        S[        R                  S 5      [        S[        R                  S 5      /n[        S[        R                  S 5      [        S[        R                  S 5      /n[        R                  " [        S	S/S/5      [        S	S/S/5      /S
UU5      nU R                  S[        R                  U44S[        R                  XU44/[        SSS/SS/SUS/S9// 5      nU R                  U[        S[        R                  U45      [        S[        R                  X!U45      /[        R                  " [        S5      /S9  g )Naxis0ri  r:   r   rj  r  rk  r  r  rl  rm  rn  ro  rp  rq  r   )rs  rt  scan_input_axesr%  r   ru  	rI   
axis_0_lenrw  rx  ry  rN   rz  rl  rn   s	            r,   test_scan_opset9_axes(TestShapeInference.test_scan_opset9_axes  s   

 #?K4I4I4P"7K,A,A4H

 ##3[5J5JDQ"8[-B-BDI

 $$*&7:J9KL*wi(< 
   "K$5$57IJ{00:
2ST
 &5'7$%!%&C	 
$ 	&&(9(9O;M '!;#4#4wJ6W	 "..{A>? 	 	
re   c                   SnSnSnSn[        S[        R                  S 5      [        S[        R                  S 5      /n[        S[        R                  S 5      [        S[        R                  S 5      /n[        R                  " [        S	S/S/5      [        S	S/S/5      /S
UU5      nU R                  S[        R                  U44S[        R                  XU44/[        SSS/SS/SUS/S/S9// 5      nU R                  U[        S[        R                  U45      [        S[        R                  XU45      /[        R                  " [        S5      /S9  g )Nr  ri  r:   r   rj  r  rk  r  r  rl  rm  rn  ro  rp  rq  r   rs  rt  r  scan_output_axesr%  r   ru  r  s	            r,   test_scan_opset9_output_axes/TestShapeInference.test_scan_opset9_output_axes2  s   

 #?K4I4I4P"7K,A,A4H

 ##3[5J5JDQ"8[-B-BDI

 $$*&7:J9KL*wi(< 
   "K$5$57IJ{00:
2ST
 &5'7$%!%&C&'S
 !
& 	&&(9(9O;M '!;#4#4zJ6W	 "..{A>? 	 	
re   c                   SnSnSnSn[        S[        R                  S 5      [        S[        R                  S 5      /n[        S[        R                  S 5      [        S[        R                  S 5      /n[        R                  " [        S	S/S/5      [        S	S/S/5      /S
UU5      nU R                  S[        R                  U44S[        R                  XU44/[        SSS/SS/SUS/S/S9// 5      nU R                  U[        S[        R                  U45      [        S[        R                  XU45      /[        R                  " [        S5      /S9  g )Nr  ri  r:   r   rj  r  rk  r  r  rl  rm  rn  ro  rp  rq  r   r  r  r%  r   ru  r  s	            r,   test_scan_opset9_negative_axes1TestShapeInference.test_scan_opset9_negative_axesk  s   

 #?K4I4I4P"7K,A,A4H

 ##3[5J5JDQ"8[-B-BDI

 $$*&7:J9KL*wi(< 
   "K$5$57IJ{00:
2ST
 &5'7$%!%'D&(T
 !
& 	&&(9(9O;M '!;#4#4zJ6W	 "..{A>? 	 	
re   c                R   [         R                  " [        SSS/S/5      /S/ [        S[        R
                  S 5      /5      n[         R                  " [        SSS/S/5      /S	/ [        S[        R
                  S 5      /5      nU R                  S
[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        SS
/S/UUS9// 5      nU R                  U[        S[        R                  S5      /[        [        S5      /S9  g )NrA  current_value	add_valuethen_outputthen_subgraphSub	sub_valueelse_outputelse_subgraphcondr  If	if_outputthen_branchelse_branchr:  r   )r   rH   r   r   r   rE   rS   rx  r   ry   r   r   rI   r  r  rn   s       r,   test_if_ver1TestShapeInference.test_if_ver1  s@   
 ))u<}oNO#M;3H3H$OP	
 ))u<}oNO#M;3H3H$OP	
   ))40 +"3"3T:k//6k//6	 H M - - !
& 	#K1B1BDIJ'R89 	 	
re   c                6   [         R                  " [        SSS/S/5      /S/ [        S[        R
                  S 5      /5      n[         R                  " [        SSS/S/5      /S	/ [        S[        R
                  S 5      /5      nU R                  S
[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        SS
/S/UUS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrA  r  r  r  r  r  r  r  r  r  r  r  r  r  
r   rH   r   r   r   rE   rS   rx  r   ry   r  s       r,   test_ifTestShapeInference.test_if  s.   
 ))u<}oNO#M;3H3H$OP	
 ))u<}oNO#M;3H3H$OP	
   ))40 +"3"3T:k//6k//6	 H M - - !
& 	*;8I8I4PQ	
re   c                6   [         R                  " [        SSS/S/5      /S/ [        S[        R
                  S5      /5      n[         R                  " [        SSS/S	/5      /S
/ [        S	[        R
                  S5      /5      nU R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        SS/S/UUS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrA  r  r  r  r  r  r  r  r  r  r0   r  r  r  r  r>   r  r  s       r,   3test_if_with_different_shapes_in_then_else_branchesFTestShapeInference.test_if_with_different_shapes_in_then_else_branches  s,   
 ))u<}oNO#M;3H3H$OP	
 ))u<}oNO#M;3H3H$OP	
   ))40 +"3"3T:k//6k//6	 H M - - !
& 	e&<[+J[J[]d&e%fgre   c                6   [        S5      n[        S5      nU R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        SS/S	/UUS
9// 5      nU R                  U[        S	[        R                  S 5      /5        g )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   ri  rT  r  r  r  r  	r   rS   r   rx  r   rG   r   ry   r   rI   
then_graph
else_graphrn   s       r,   test_if_no_shape_in_then_branch2TestShapeInference.test_if_no_shape_in_then_branch"  s     _

 !Y

   ))40k''4**D1 H M * * 
" 	e&<[+J[J[]a&b%cdre   c                6   [        S5      n[        S5      nU R                  S[        R                  S4S[        R                  S4S[        R
                  S4/[        SS/S	/UUS
9// 5      nU R                  U[        S	[        R                  S 5      /5        g )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_branch2TestShapeInference.test_if_no_shape_in_else_branch<  s     Y

 !_

   ))40k''4**D1 H M * * 
" 	e&<[+J[J[]a&b%cdre   c                Z   [         R                  " [        R                  S/S9n[         R                  " U5      n[         R
                  " SU5      n[         R                  " [        SS/S/5      /S/ U/5      n[         R                  " [        R                  S/S9n[         R                  " U5      n[         R
                  " SU5      n[         R                  " [        SS	/S/5      /S
/ U/5      nU R                  S[        R                  S4S[        R                  S4S	[        R                  S4/[        SS/S/UUS9// 5      n	[         R                  " [        R                  SS9n
[         R                  " U
5      n[         R
                  " SU5      nU R                  X/5        g )Nr   r}   r~   then_optional_outputr1  then_tensor_valuer  r0   else_optional_outputelse_tensor_valuer  r  r  r  r  r  r  r>   )r   r4  r   rE   r5  r6  rH   r   rS   rx  r   ry   )rI   then_tensor_protothen_optional_type_protothen_optional_vir  else_tensor_protoelse_optional_type_protoelse_optional_vir  rn   output_tensor_protooutput_optional_type_protooutput_optional_vis                r,   <test_if_with_different_optional_shapes_in_then_else_branchesOTestShapeInference.test_if_with_different_optional_shapes_in_then_else_branchesV  s   
 #99!++
 $*#B#BCT#U !11"$<
 ))z$7#8;Q:RST	
 #99!++
 $*#B#BCT#U !11"$<
 ))z$7#8;Q:RST	
   ))40$k&7&7>$k&7&7> H M - - 
$ %;;!''w
 &,%D%D&
" $333
 	e%9:re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS/SS/S9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NxTr  xI	MaxUnpoolr   r:   r  r'  r  r   r   s     r,   )test_maxunpool_shape_without_output_shape<TestShapeInference.test_maxunpool_shape_without_output_shape  s      {((,7{((,7
 $s!QRSUVQW
 
 	*30A0A<PQ	
re   c                F   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQSS	S	/S	S	/S
9/[	        S[        R                  S 5      /5      nU R                  U[	        S[        R                  S 5      /5        g )Nr  r  r  r  r  r  )r  r  r  r   r:   r  )rS   r   r   r   r   ry   r   s     r,   &test_maxunpool_shape_with_output_shape9TestShapeInference.test_maxunpool_shape_with_output_shape  s      {((,7{((,7!2!2D9 0"#QF $C):):DAB
" 	*30A0A4HI	
re   c                
   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	5      // 5      nU R                  U[        S	[        R                  S
5      /5        g )Nr[  r6  depthr<   valuesr   OneHotr[  r  r  r   )r:   r:   NrS   r   rG   r   r   ry   r   r   s     r,   test_onehot_without_axis+TestShapeInference.test_onehot_without_axis  s      K--v6+++R0;,,d3
 x!?EF
 	e&<S+BSBSUa&b%cdre   c           
        U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	S
S9// 5      nU R                  U[        S	[        R                  S5      /5        g )Nr[  r:   r   r0   r  r  r  r   r  r  r   r   rC  )r:   Nr   r0   r  r   s     r,   test_onehot_with_axis(TestShapeInference.test_onehot_with_axis  s      K--y9+++T2;,,d3
 x!?1MN
 	e&<S+BSBSUd&e%fgre   c           
     *   [        S[        R                  S5      [        S[        R                  S 5      [        S[        R                  S5      /n[        S[        R                  S 5      [        S[        R                  S 5      [        S[        R                  S	5      /n[
        R                  " [        S
S/S/5      [        S
S/S/5      [        S
S/S/5      /SUU5      nU R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S	4/[        S/ SQSS/US9// 5      nU R                  U[        S[        R                  S 5      [        S[        R                  S5      /5        g )Niter_num_inr  cond_inrj  r<   cond_outrk  r  r  r  outer_scope_inputrl  max_trip_count	cond_origrm  r   Loop)r  r  rm  rp  loop_outputrt  Nr   
r   r   rG   rE   r   r   rH   r   rS   ry   rI   rN   rz  rl  rn   s        r,   	test_loopTestShapeInference.test_loop  s   
 #=+2C2CTJ"9k.C.CTJ"?K4I4I2N
 #:{/D/DdK"#3[5J5JDQ"8[->->E
 $$*ykJ<@*&7:J9KL*':&;hZH
 	
   !;#4#4d;k//6"K$5$5t<$k&7&7>	 F'7!	 
$ 	&&(9(94 '}k6G6GS		
re   c           
     L   [        S[        R                  S5      [        S[        R                  S 5      /n[        S[        R                  S 5      [        S[        R                  S5      /n[
        R                  " [        SS/S/5      [        SS/S/5      /S	UU5      nU R                  S
[        R                  S4S[        R                  S4S[        R                  S4/[        SS
S/S/US9// 5      nU R                  U[        S[        R                  S5      /5        g )Nr  r  r  r  r  r  r  r  rl  r  r  r  r  r  r  r  r  s        r,   test_loop_no_state%TestShapeInference.test_loop_no_state  s6   "=+2C2CTJ"9k.C.CTJ

 #:{/D/DdK"8[->->E

 $$*ykJ<@*':&;hZH 
   !;#4#4d;k//6$k&7&7> %{3"O!	 
" 	*=+:K:KYWX	
re   c                P   U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/[        S[        R
                  S	S
5      S9// 5      nU R                  U[        S[        R                  S5      [        S[        R
                  S5      /5        g )Nr|  r~   r  r<  r}  ConstantOfShaper   r~  r  r   rS   r   r   r   rG   r  ry   r   r   s     r,   %test_constantofshape_with_input_shape8TestShapeInference.test_constantofshape_with_input_shape8  s      I%g{/@/@$	R	 %IE%g{/@/@$M	 !
$ 	&w0A0A4H&sK,=,=yI	
re   c                    U R                  S[        R                  S4/[        SS/S/[	        S[        R
                  SS5      S9// 5      nU R                  U[        S[        R
                  S	5      /5        g )
Nr~   r  r  r   r~  r  r   r}  rI  rS   r   rG   r   r   r  ry   r   r   s     r,   (test_constantofshape_without_input_shape;TestShapeInference.test_constantofshape_without_input_shapeS  s      {(($/0%IE%g{/@/@$M	 
 	*30A0ACUVW	
re   c                    U R                  S[        R                  S4/[        SS/S/[	        S[        R
                  SS5      S9// 5      nU R                  U[        S[        R
                  S	5      /5        g )
Nr~   r  r  r   r~  r  r   r}  r<   r  r   s     r,   /test_constantofshape_without_input_shape_scalarBTestShapeInference.test_constantofshape_without_input_shape_scalard  s      {(($/0%IE%g{/@/@$M	 
 	*30A0A2FG	
re   c                P   U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/[        S[        R
                  SS	5      S9// 5      nU R                  U[        S[        R                  S5      [        S[        R
                  S5      /5        g )
Nr|  r~   r  r  r}  r  r   r~  r   r  r   s     r,   $test_constantofshape_with_shape_zero7TestShapeInference.test_constantofshape_with_shape_zerou  s      I%g{/@/@$M	 %IE%g{/@/@$M	 !
$ 	&w0A0A4H&sK,=,=tD	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQ/ SQ/ S	QS
9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r   r  ConvIntegerr   r  r  r  r  r  rS   r   r  r   ry   r   r  r   s     r,   test_convinteger#TestShapeInference.test_convinteger  s      k''9k''9
 !#J+'%	 
" 	*30A0A?ST	
re   c           
     0   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
/ SQS9// 5      nU R                  U[        S
[        R                  S5      /5        g )NrL   r  r   r  x_zero_pointr<   y_zero_pointr  rL   r   r  r  r   r  r2  r  rS   r   r  INT8r   ry   r   r  r   s     r,   test_convinetger_dilations-TestShapeInference.test_convinetger_dilations  s      k'')9:k&&(89!2!2B7!2!2B7	 !>'	 
" 	*30A0ACTUV	
re   c           
     0   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
/ SQS9// 5      nU R                  U[        S
[        R                  S5      /5        g )NrL   r  r   r  r  r<   r  r  r  r   r  r&  r  )rS   r   r  r  r   ry   r   r  r   s     r,   test_convinteger_strides+TestShapeInference.test_convinteger_strides  s      k&&(89k&&(89!2!2B7!2!2B7	 !>%	 
" 	*30A0ACTUV	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/ SQS9// 5      nU R                  U[        S[        R                  S	5      /5        g )
NrL   r  r   r  r  r   r  r-  r  r  r   s     r,   test_convineteger_pads)TestShapeInference.test_convineteger_pads  s}      k'')9:k&&(89 }sCj#<NOP
 	*30A0ACTUV	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/SSS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  r   r  r  r   r   r  r  )rS   r   r  r   ry   r   r  r   s     r,   test_convineteger_group*TestShapeInference.test_convineteger_group  s{      k&&(89k&&8 }sCj#Q?@
 	*30A0ACSTU	
re   c           
     0   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	QS
/ SQS9// 5      nU R	                  U[        S
[        R                  S5      /5        g )NrL   r  r   r  r  r<   r  r  r  r   r  r-  r  r  r   s     r,   'test_convineteger_partial_missing_shape:TestShapeInference.test_convineteger_partial_missing_shape  s      k'')<=k'')9:!2!2B7!2!2B7	 !>+	 
" 	e&<S+BSBSUi&j%klre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/ SQS9// 5      nU R	                  U[        S[        R                  S 5      /5        g )	NrL   r  r   r  r  r   r  r-  r  r   s     r,   .test_convineteger_partial_missing_weight_shapeATestShapeInference.test_convineteger_partial_missing_weight_shape   s|      k'')9:k'')<= }sCj#<NOP
 	*30A0A4HI	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQS/ SQ/ SQ/ SQS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  x_scaler<   r  r  r  w_scalew_zero_pointy_scaler  QLinearConvrL   r  r  r  r  r  r  r  r   r  r  r  r  r  rS   r   r  r   r   ry   r   r   s     r,   test_qlinearconv#TestShapeInference.test_qlinearconv  s      k''9K--r2!2!2B7k''9K--r2!2!2B7K--r2!2!2B7	 !	 +'%& =
@ 	*30A0A?ST	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQS/ SQS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  r  r<   r  r  r  r  r  r  r  r  r  r   r  r2  r  r  r   s     r,   test_qlinearconv_dilations-TestShapeInference.test_qlinearconv_dilations2  s      k'')9:K--r2!2!2B7k'')9:K--r2!2!2B7K--r2!2!2B7	 !	 '" 9
< 	*30A0ACTUV	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQS/ SQS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  r  r<   r  r  r  r  r  r  r  r  r  r   r  r&  r  rS   r   r  r   r   ry   r   r   s     r,   test_qlinearconv_strides+TestShapeInference.test_qlinearconv_stridesU  s      k&&(89K--r2!1!126k&&(89K--r2!1!126K--r2!1!126	 !	 %" 9
< 	*30@0@BSTU	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[        S/ SQS/ SQS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  r  r<   r  r  r  r  r  r  r  r  r  r   r  r-  r  )rS   r   r  r   r  r   ry   r   r   s     r,   test_qlinearconv_pads(TestShapeInference.test_qlinearconv_padsx  s      k'')9:K--r2!2!2B7k&&(89K--r2!1!126K--r2!2!2B7	 !	 +" 9
< 	*30A0ACTUV	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQSSS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  r  r<   r  r  r  r  r  r  r  r  r  r   r   r  r  r&  r   s     r,   test_qlinearconv_group)TestShapeInference.test_qlinearconv_group  s      k&&(89K--r2!1!126k&&8K--r2!1!126K--r2!1!126	 !	 " 9
< 	*30@0@BRST	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQS/ SQS9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  r  r<   r  r  r  r  r  r  r  r  r  r   r  r-  r  r  r   s     r,   &test_qlinearconv_partial_missing_shape9TestShapeInference.test_qlinearconv_partial_missing_shape  s      k'')<=K--r2!2!2B7k'')9:K--r2!2!2B7K--r2!2!2B7	 !	 +" 9
< 	e&<S+BSBSUi&j%klre   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQS/ SQS9// 5      nU R                  U[        S[        R                  S 5      /5        g )NrL   r  r  r<   r  r  r  r  r  r  r  r  r  r   r  r-  r  r   s     r,   -test_qlinearconv_partial_missing_weight_shape@TestShapeInference.test_qlinearconv_partial_missing_weight_shape  s      k'')9:K--r2!2!2B7k'')<=K--r2!2!2B7K--r2!2!2B7	 !	 +" 9
< 	*30A0A4HI	
re   c                   [         R                  " [         R                  " [         R                  " U5      5      R	                  U5      [         R                  " [         R                  " U5      5      R	                  U5      5      R
                  nU R                  S[        R                  U4S[        R                  S4S[        R                  S4S[        R                  U4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4/[        S
/ SQS/5      // 5      nU R                  U[        S[        R                  U5      /5        g Nr   a_scaler<   a_zero_pointr   b_scaleb_zero_pointr  r  QLinearMatMul)r   r7  r8  r   r9  r:  r  r  r   )r   r   r   r   r   r~   rS   r   r  r   r   ry   r   rI   r   r   r   rn   s        r,   _make_qlinearmatmul_test+TestShapeInference._make_qlinearmatmul_test  s=     YYIIbggfo&..v6IIbggfo&..v6
 % 	   k''0K--r2!2!2B7k''0K--r2!2!2B7K--r2!2!2B7	 #	 E  7
: 	*30A0ACUVW	
re   c                    U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        g )	Nr  r   r   r   r   r   r   r   )r=  r  s    r,   test_qlinearmatmul%TestShapeInference.test_qlinearmatmul*  b    %%dD1%%ff5%%dF3%%fd3%%lLA%%fi8re   c                   U R                  S[        R                  U4S[        R                  S4S[        R                  S4S[        R                  U4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4/[	        S
/ SQS/5      // 5      nU R                  U[        S[        R                  U5      /5        g r6  r  r<  s        r,   &_make_qlinearmatmul_test_allow_unknown9TestShapeInference._make_qlinearmatmul_test_allow_unknown2  s       k''0K--r2!2!2B7k''0K--r2!2!2B7K--r2!2!2B7	 #	 E  7
: 	*30A0ACUVW	
re   c                   U R                  SSS5        U R                  SSS5        U R                  SSS5        U R                  SSS5        U R                  S	SS5        U R                  S	S
S5        U R                  SSS5        U R                  SSS5        U R                  S SS 5        U R                  S S S 5        g r  )rD  r  s    r,    test_qlinearmatmul_allow_unknown3TestShapeInference.test_qlinearmatmul_allow_unknownV  s    33GWbI33D'2F33D(FK33FHhO33IxR33I{HU33I{KX33+|	
 	33D+tL33D$Ere   c                N   [         R                  " [         R                  " [         R                  " U5      5      R	                  U5      [         R                  " [         R                  " U5      5      R	                  U5      5      R
                  nU R                  S[        R                  U4S[        R                  U4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // 5      nU R                  U[        S[        R                  U5      /5        g )	NAr]  r8  r<   r:  MatMulInteger)rJ  r]  r8  r:  r   )r   r   r   r   r   r~   rS   r   r  r   ry   r   r  r<  s        r,   _make_matmulinteger_test+TestShapeInference._make_matmulinteger_testd  s      YYIIbggfo&..v6IIbggfo&..v6
 % 	   k''0k''0!2!2B7!2!2B7	 #%ORUQV
 
 	*30A0ACUVW	
re   c                    U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        g )Nr   r   r   r   r   r   r   )rL  r  s    r,   test_matmulinteger%TestShapeInference.test_matmulinteger}  rB  re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      /5        g )	NrL   r   r  r<   r  QuantizeLinear)rL   r  r  r   )rS   r   r   r  r   ry   r   r   s     r,   test_quantizelinear&TestShapeInference.test_quantizelinear  s      k''4K--r2!2!2B7
 ')IC5QR
 	*30A0A:NO	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r  r<   rR  r   rS   r   r   r   ry   r   r  r   s     r,   test_quantizelinear_default_zp1TestShapeInference.test_quantizelinear_default_zp  sw      ;$$j1I{?P?PRT3UV'#y)9C5AB

 	*30A0A:NO	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        S/ SQS/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   r  r<   rR  )rL   r  r  r   rV  r   s     r,   "test_quantizelinear_optional_input5TestShapeInference.test_quantizelinear_optional_input  ss      ;$$j1I{?P?PRT3UV')=uEF

 	*30A0A:NO	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      /5        g )	NrL   r   r  r<   r  DequantizeLinear)rL   r  r  r   r  r   s     r,   test_dequantizelinear(TestShapeInference.test_dequantizelinear  s      k''4K--r2!2!2B7
 )+KcUST
 	*30A0A:NO	
re   c           
     ,   U R                  S[        R                  S4/[        SS// SQ5      // 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /5        g )	NrL   r   DynamicQuantizeLinear)r   r  r  r   r  r<   r  rV  r   s     r,   test_dynamicquantizelinear-TestShapeInference.test_dynamicquantizelinear  s      ;$$j12+cU4T
 
 	&sK,=,=zJ&y+2C2CRH&~{7H7H"M	
re   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /5        g )NrL   rZ  sequence_lensr  ReverseSequencer   r  r   s     r,   test_reversesequence'TestShapeInference.test_reversesequence  s{      k''3 +"3"3T: (3*@3%HI
 	*30A0A9MN	
re   c                `   U R                  S[        R                  S4/[        SS// SQ5      // 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S	[        R                  S5      /5        g )
Nr   r:   r   r:   Uniquer   r[  inverse_indicescountsr   r>   r[  rm  rn  rW  r   s     r,   test_unique_without_axis+TestShapeInference.test_unique_without_axis  s      ;$$i01x#(UVW

 	&sK,=,=wG&y+2C2CWM&'8+:K:KWU&x1B1BGL		
re   c                ^   U R                  S[        R                  S4/[        SS// SQSS9// 5      nU R	                  U[        S[        R                  S5      [        S	[        R                  S
5      [        S[        R                  S
5      [        S[        R                  S
5      /5        g )Nr   rj  rk  rl  r   rC  r   )r:   Nr:   r[  r>   rm  rn  rW  r   s     r,   test_unique_with_axis(TestShapeInference.test_unique_with_axis  s      ;$$i01EA	 
 	&sK,=,=|L&y+2C2CWM&'8+:K:KWU&x1B1BGL		
re   c                   U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r(  Detr   r<   )r   r0   r5  rB  rB  rZ  r   r   s     r,   test_detTestShapeInference.test_det  s      ;$$f-.53%#1O0PRT
 	*30A0A2FG	
   ;$$o67usecU+,

 	*30A0A9MN	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
NrL   rZ  repeatsr  Tiler   r  r  r   r:  r  r  r   s     r,   	test_tileTestShapeInference.test_tile  s      ;$$i09k>O>OQU2VWvY/#78$Y0A0A4ST	 ! 
 	*30A0A;OP	
re   c                `   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  S[        R                  " / SQSS	9R                  5       S
S9/S9nU R                  U[        S[        R                  S5      /5        g )NrL   rZ  ry  r  rz  r   r  r  r  Tr  r  r{  r  r   s     r,   test_tile_raw_input_data+TestShapeInference.test_tile_raw_input_data  s      ;$$i09k>O>OQU2VWvY/#78%%)59AAC	 ! 
 	*30A0A;OP	
re   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /5        g )NrL   rZ  ry  r  rz  r   rI  r  r   s     r,   test_tile_rank_inference+TestShapeInference.test_tile_rank_inference+  st      ;$$i09k>O>OQU2VWvY/#78

 	e&<S+BSBSUg&h%ijre   z-ONNX_ML required to test ai.onnx.ml operatorsc                J   U R                  S[        R                  S4/[        SS/SS/[        SS/SS/S	S
/S9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /[        [        S	5      [        [        S5      /S9  g )NrL   r  LinearClassifierr   r   g-C6J?g-C6Jr  r   r:   r(   coefficients
interceptsclasslabels_intsr  r   r  r   
rS   r   r   r   r   ry   r   rG   r   r   r   s     r,   test_linearclassifier_1D_input1TestShapeInference.test_linearclassifier_1D_input3  s      ;$$d+,&E#J)"('!2 #Sz&'V
 
 	&sK,=,=tD&sK,=,=vF
 ^Q/["- 	 
	
re   c                J   U R                  S[        R                  S4/[        SS/SS/[        / SQ/ SQ/ SQS	9// 5      nU R                  U[        S[        R                  S
5      [        S[        R                  S5      /[        [        S5      [        [        S5      /S9  g )NrL   r  r  r   r   )g?g?g333333?g?rk  g333333?)r  r  g      @r  r  r  r+  r   r  r   r  r   s     r,   test_linearclassifier_2D_input1TestShapeInference.test_linearclassifier_2D_inputP  s      ;$$f-.&E#J)!?.%.
 
 	&sK,=,=tD&sK,=,=vF
 ^Q/["- 	 
	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	/S
SS9// 5      nU R                  U[        S	[        R                  S5      /5        g )NrL   r  CHr@  r#  num_roisr   batch_indicesr  RoiAlignrL   r#  r  r   r:  r0   )output_heightoutput_width)r  r  r:  r0   r  r   s     r,   test_roialign_symbolic)TestShapeInference.test_roialign_symbolicm  s      k'')=>**O< +"3"3]C 2E"$!" 
" 	e&<S+BSBSUm&n%opre   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	/5      // 5      nU R                  U[        S	[        R                  S
5      /5        g )NrL   r  r#  r  r  r  r  r  r   )r  r  r   r   r  r   s     r,   test_roialign_symbolic_defaults2TestShapeInference.test_roialign_symbolic_defaults  s      k'')=>**O< +"3"3]C
 z#AC5IJ
 	e&<S+BSBSUl&m%nore   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	/5      // 5      nU R                  U[        S	[        R                  S
5      /5        g )NrL   r  r#  r  r  )r,  r  r  r   )r,  r  r   r   r  r   s     r,   test_roialign_num_rois)TestShapeInference.test_roialign_num_rois  s      k'')=>**O< +"3"3U;
 z#AC5IJ
 	e&<S+BSBSUd&e%fgre   LabelEncoderT)skip_on_emptyc                R   U R                  US:  S5        / SQn/ SQn/ SQnU R                  S[        R                  S4/[	        SS/S	/[
        UUS
9// 5      nU R                  U[        S	[        R                  S5      /[        [
        U5      [        [        S5      /S9  U R                  S[        R                  S4/[	        SS/S	/[
        UUS9// 5      nU R                  U[        S	[        R                  S5      /[        [
        U5      [        [        S5      /S9  U R                  S[        R                  S4/[	        SS/S	/[
        UUS9// 5      nU R                  U[        S	[        R                  S5      /[        [
        U5      [        [        S5      /S9  U R                  S[        R                  S4/[	        SS/S	/[
        UUS9// 5      nU R                  U[        S	[        R                  S5      /[        [
        U5      [        [        S5      /S9  U R                  S[        R                  S4/[	        SS/S	/[
        UUS9// 5      nU R                  U[        S	[        R                  S5      /[        [
        U5      [        [        S5      /S9  U R                  S[        R                  S4/[	        SS/S	/[
        UUS9// 5      nU R                  U[        S	[        R                  S5      /[        [
        U5      [        [        S5      /S9  g )Nr:   z7keys_* attributes were introduced in ai.onnx.ml opset 2)rJ  mr   )g{GW@g      B@g     X)r;     V   rL   r5  r   r  r   )r(   keys_stringsvalues_int64sr  r   r   )r(   keys_int64svalues_stringsr   )r(   keys_floatsr  r  )r(   r  values_floatsr<   )r(   r  r  r   )r(   r  r  )r   rS   r   r   r   r   ry   r   rG   r   r   r   )rI   r   r+   string_list
float_list
int64_listrn   s          r,   test_label_encoder_string_int642TestShapeInference.test_label_encoder_string_int64  s    	aKR	
 &*
!
  ;%%v./"EE)!,",	 
 	#C):):FCD^W5["- 	 	
   ;$$f-."EE) *#.	 
 	#C););VDE^W5["- 	 	
   ;$$d+,"EE) *",	 
 	#C):):DAB^W5["- 	 	
   ;$$d+,"EE) *",	 
 	#C):):DAB^W5["- 	 	
   ;$$b)*"EE) *#.	 
 	#C););R@A^W5["- 	 	
   ;%%v./"EE)!,",	 
 	#C):):FCD^W5["- 	 	
re   c                   U R                  US:  S5        [        S[        R                  S// SQ5      n[        S[        R                  S// SQ5      nU R                  S[        R                  S4/[        S	S/S
/[        UU[        S[        R                  S/S/5      S9// 5      nU R                  U[        S
[        R                  S5      /[        [        U5      [        [        S5      /S9  g )Nr   z7tensor attributes were introduced in ai.onnx.ml opset 4keys_tensorr   r   ccdddvalues_tensorr   r:   r   r   rL   r`  Nr   r;  r  r   default_tensorr   r   r(   r  r  r  r  r   )r   r   r   r   rG   rS   r   r   ry   r   r   r   )rI   r   r+   
key_tensorr  rn   s         r,   $test_label_encoder_tensor_attributes7TestShapeInference.test_label_encoder_tensor_attributes-  s    	aKR	
 !;--s4K

 $[..\
   ;%%'9:;"EE) *"/#.(+*;*;aS1#$
 
" 	#C):):<NOP^W5["- 	 	
re   c                   U R                  US:  S5        [        S[        R                  S// SQ5      n[        S[        R                  S// SQ5      n[        [        U5      [        [        S5      /nU R                  S[        R                  S	4/[        S
S/S/[        UU[        S[        R                  S/S/5      S9// 5      nU R                  [        R                  R                  U R                  UUS9  U R                  S[        R                  S	4/[        S
S/S/[        U/ SQ[        S[        R                  SS/SS/5      S9// 5      nU R                  [        R                  R                  U R                  UUS9  g )Nr   z2tensor attributes introduced in ai.onnx.ml opset 4r  r  r  r  r  rL   r  r  r   r  r   r   r  r   r:   )r(   r  r  r  )r   r   r   r   rG   r   r   r   rS   r   r   r[   r\   r   rc   )rI   r   r+   r  r  r   rn   s          r,   ;test_label_encoder_tensor_attributes_invalid_configurationsNTestShapeInference.test_label_encoder_tensor_attributes_invalid_configurationsT  s    	GaK!UV ;--s4K

 $[..\

 1b)
   ;%%'9:;"EE) *"/#.(+*<*<qcA3$
 
$ 	  //NN'	 	 	
   ;%%'9:;"EE) *#:#.(+*<*<q!fq!f$
 
$ 	  //NN'	 	 	
re   c                f   [        5       nUR                  R                  U5        [        U5      nUR                  R                  [        R                  " S[        R                  U4U5      5        UR                  R                  [        R                  " S[        R                  X45      5        U$ )Nspvalspind)r   dimsextendrp   r  CopyFromr   r   r   rG   r[  )rI   r~   r  indices_shaper[  sparsennzs          r,   make_sparseTestShapeInference.make_sparse  s     #$5!&kw(9(9C66J	
 	w(9(9=R	
 re   c           
         S/nU R                  U/ SQS// SQ5      nU R                  / [        S/ S/US9// 5      nU R                  U[	        S[
        R                  U5      /5        g )Nr  )r&  r'     r   )r%     Q   r|  r   )sparse_value)r  rS   r   ry   r   r   rG   )rI   y_shapey_valuern   s       r,   test_constant_sparse'TestShapeInference.test_constant_sparse  sn    %""7L1#{K  :rC5wGH"
 	e&<S+BSBSU\&]%^_re   c           
         U R                  / [        S/ S/SS9// 5      nU R                  U[        S[        R
                  / 5      /5        g )Nr|  r   *   )	value_int)rS   r   ry   r   r   rG   r   s     r,   test_constant_value_int*TestShapeInference.test_constant_value_int  sQ      :rC5B?@"
 	*30A0A2FG	
re   c           
         / SQnU R                  / [        S/ S/US9// 5      nU R                  U[        S[        R
                  [        U5      /5      /5        g )Nr  r|  r   )
value_ints)rS   r   ry   r   r   rG   rp   )rI   r  rn   s      r,   test_constant_value_ints+TestShapeInference.test_constant_value_ints  s]    
  :rC5ZHI2
 	*30A0AC
OCTUV	
re   c           
         U R                  / [        S/ S/SS9// 5      nU R                  U[        S[        R
                  / 5      /5        g )Nr|  r   gQ?)value_float)rS   r   ry   r   r   r   r   s     r,   test_constant_value_float,TestShapeInference.test_constant_value_float  sQ      :rC5dCDb
 	*30A0A2FG	
re   c           
         / SQnU R                  / [        S/ S/US9// 5      nU R                  U[        S[        R
                  [        U5      /5      /5        g )N)r  r  g333333?r|  r   )value_floats)rS   r   ry   r   r   r   rp   )rI   r  rn   s      r,   test_constant_value_floats-TestShapeInference.test_constant_value_floats  s^    &  :rC5|LMr
 	*30A0ACDUCVWX	
re   c           
         U R                  / [        S/ S/SS9// 5      nU R                  U[        S[        R
                  / 5      /5        g )Nr|  r   zString value)value_string)rS   r   ry   r   r   r   r   s     r,   test_constant_value_string-TestShapeInference.test_constant_value_string  sR      :rC5~NOQS
 	*30B0BBGH	
re   c           
         / SQnU R                  / [        S/ S/US9// 5      nU R                  U[        S[        R
                  [        U5      /5      /5        g )N)onr  rL   r|  r   )value_strings)rS   r   ry   r   r   r   rp   )rI   r  rn   s      r,   test_constant_value_strings.TestShapeInference.test_constant_value_strings  s_    ,  :rC5NOQS
 	#C););c->P=QRS	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // [	        S[        R                  SS5      [	        S[        R                  SS	5      [	        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S
5      /5        g )Nr  r<   limitdeltaRanger  r  r  r  r  r  r   r  )rS   r   r   r   r   ry   r   r   s     r,   
test_rangeTestShapeInference.test_range  s      +++R0+++R0+++R0
 w ;hZHIG[%6%6DAG[%6%6DAG[%6%6DA ! 
 	*8[5F5FMN	
re   c                v   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // [	        S[        R                  SS5      [	        S[        R                  SS	5      /S
9nU R                  U[        S[        R                  S5      /5        g )Nr  r<   r  r  r  r  r  r  r  r  r>   )rS   r   r  r   r   ry   r   r   s     r,   test_range_rank_inference,TestShapeInference.test_range_rank_inference  s      +++R0+++R0+++R0
 w ;hZHIG[%6%6DAG[%6%6DA ! 
 	e&<X{GXGXZa&b%cdre   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /5        g )NrL   rZ  r[  r   GatherNDr   r5  r  r   s     r,   test_gathernd TestShapeInference.test_gathernd  sv      ;$$i09k>O>OQU2VWzC#3cU;<

 	*30A0A4HI	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /5        g )
NrL   rO  r[  r   r   r   r   )
batch_dimsr6  r  r   s     r,   test_gathernd_batchdim_1+TestShapeInference.test_gathernd_batchdim_1  s|      k''3K--v6 zC#3cUqIJ
 	*30A0A6JK	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r   rD  r  CumSumr   r   r   s     r,   test_cumsumTestShapeInference.test_cumsum#  sr      ;$$f-8I8I4/PQx#v45

 	*30A0A6JK	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nboxes)r   r   r   scores)r   r0   r   NonMaxSuppressionr   r  rW  r   s     r,   test_nonmaxsuppression)TestShapeInference.test_nonmaxsuppression-  sy      +++Y7;,,i8 *Wh,?#GH
 	e&<S+BSBSU^&_%`are   c                    U R                  / [        S/ S/5      // 5      nU R                  U[        S[        R
                  S 5      /5        g )NSequenceEmptyr  )rS   r   ry   r   r   r   r   s     r,   test_sequence_empty&TestShapeInference.test_sequence_empty8  sJ      ihZ&P%QSUVe&EhP[PaPacg&h%ijre   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr#  r   r$  r%  r'  r(  r*  r,  r   s     r,   test_sequence_construct*TestShapeInference.test_sequence_construct<  s      ;,,i8;,,i8;,,i8 '2&' 
 	/%{'8'8)	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )Nr#  r   r'  r*  r,  r   s     r,   !test_sequence_construct_one_input4TestShapeInference.test_sequence_construct_one_inputU  sk      ))956*XJ9J8KLM

 	/%{'8'8)	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      // 5      nU R	                  U[        S[        R                  S 5      /5        g )	Nr#  r   r$  r   r%  r'  r(  r*  r,  r   s     r,   !test_sequence_construct_diff_rank4TestShapeInference.test_sequence_construct_diff_rankd  s      ;,,i8;,,f5;,,f5 '2&' 
 	/%{'8'8$	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS	/5      // 5      nU R	                  U[        S	[        R                  S
5      /5        g )Nr#  r   r$  r  r%  r  r'  r(  r*  r:   r   Nr,  r   s     r,   %test_sequence_construct_diff_dim_size8TestShapeInference.test_sequence_construct_diff_dim_size}  s      ;,,i8;,,i8;,,i8 '2&' 
 	/%{'8'8,	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	SS/S
/5      // 5      nU R	                  U[        S[        R                  S5      [        S
[        R                  S5      /5        g )Nr#  r   r$  r%  input4r'  r(  r)  SequenceInsertr*  r,  r   s     r,   test_sequence_insert'TestShapeInference.test_sequence_insert  s      ;,,i8;,,i8;,,i8;,,i8	 ')G- $}h&?BSAT	 
" 	/!;#4#4i 0%{'8'8)	
	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS	/5      [        S
S	S/S/5      // 5      nU R	                  U[        S	[        R                  S5      [        S[        R                  S 5      /5        g )Nr#  r   r$  r%  r$  r   r'  r(  r)  r%  r*  r,  r   s     r,   test_sequence_insert_diff_rank1TestShapeInference.test_sequence_insert_diff_rank  s      ;,,i8;,,i8;,,i8;,,f5	 ')G- $}h&?BSAT	 
" 	/!;#4#4i 0%{'8'8$	
	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	QS
/5      [        SS
S/S/5      // 5      nU R	                  U[        S
[        R                  S5      [        S[        R                  S5      /5        g )Nr#  r   r$  r%  r&  r$  r:   r0   r:   r'  r(  r)  r%  r*  r+  r:   NNr,  r   s     r,   test_sequence_insert_diff_shape2TestShapeInference.test_sequence_insert_diff_shape  s      ;,,i8;,,i8;,,i8;,,i8	 ')G- $}h&?BSAT	 
" 	/{?P?PR^_/%{'8'8/	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	/5      [	        S
S	S/S/5      // 5      nU R                  U[        S	[        R                  S5      [        S[        R                  S5      /5        g )Nr#  r   r$  r%  indr<   r'  r(  r)  
SequenceAtr  rS   r   r   rG   r   ry   r   r   r   s     r,   test_sequence_at#TestShapeInference.test_sequence_at  s      ;,,i8;,,i8;,,i8))2.	 ')G- ,(>
K	 
 	/!;#4#4i 'x1B1BIN		
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
/5      [	        SS
S/S/5      // 5      nU R                  U[        S
[        R                  S 5      [        S[        R                  S 5      /5        g )Nr#  r   r$  r   r%  r1  r<   r'  r(  r)  r2  r  r3  r   s     r,   test_sequence_at_unknown_shape1TestShapeInference.test_sequence_at_unknown_shape  s      ;,,i8;,,f5;,,i8))2.	 ')G- ,(>
K	 
 	/{?P?PRVW&x1B1BDI	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
/5      [	        SS
S/S/5      // 5      nU R                  U[        S
[        R                  S5      [        S[        R                  S5      /5        g )Nr#  r   r$  r  r%  r1  r<   r'  r(  r)  r2  r  r   r3  r   s     r,   !test_sequence_at_unknown_dim_size4TestShapeInference.test_sequence_at_unknown_dim_size   s      ;,,i8;,,i8;,,i8))2.	 ')G- ,(>
K	 
 	/{?P?PR^_&x1B1BLQ	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS	/5      [	        S
S	S/S/5      // 5      nU R                  U[        S	[        R                  S5      [        S[        R                  S5      /5        g )Nr#  r   r$  r%  r1  r<   r'  r(  r)  SequenceEraser*  rS   r   r   rG   r   ry   r   r   s     r,   test_sequence_erase&TestShapeInference.test_sequence_erase8  s      ;,,i8;,,i8;,,i8))2.	 ')G- /M5+ADUCVW	 
 	/!;#4#4i 0%{'8'8)	
	
re   c           	        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
/5      [	        SS
S/S/5      // 5      nU R                  U[        S
[        R                  S5      [        S[        R                  S5      /5        g )Nr#  r:   r   rL   r$  r%  )r:   r0   rL   r1  r<   r'  r(  r)  r=  r*  r:   NrL   r>  r   s     r,   !test_sequence_erase_diff_dim_size4TestShapeInference.test_sequence_erase_diff_dim_sizeT  s      ;,,k:;,,k:;,,k:))2.	 ')G- /M5+ADUCVW	 
 	/{?P?PR`a/%{'8'8.	
re   c           	     \   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        SS/S	/5      // 5      nU R	                  U[        S[        R                  S5      [        S	[        R                  S
5      /5        g )Nr#  rB  r$  r%  r'  r(  r)  SequenceLengthrp   r<   )rS   r   r   r   ry   r   r   rG   r   s     r,   test_sequence_length'TestShapeInference.test_sequence_lengthn  s      ;,,k:;,,k:;,,k: ')G- *]OeWE	 
 	/!;#4#4k 'uk.?.?D		
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
Nr  r5  r   r  r   SplitToSequencer*  r(  r  r  rS   r   r   r  r   r   ry   r   r   s     r,   test_split_to_sequence)TestShapeInference.test_split_to_sequence  s      {((&1G[=N=NPT3UV(7G*<?P>QRS$Wk.?.?vNO	 ! 
 	/%{'8'8&	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
Nr  rK  r  r<   rL  r*  r   r  r   rM  r   s     r,   test_split_to_sequence_scalar0TestShapeInference.test_split_to_sequence_scalar  s      {((&1G[=N=NPR3ST(7G*<?P>QRS$Wk.?.?TJK	 ! 
 	/%{'8'8&	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr  rK  rL  r*  r   r7  r  r,  r   s     r,   test_split_to_sequence_keepdims2TestShapeInference.test_split_to_sequence_keepdims  sn      {((&12(7)6G5HSTUV

 	/%{'8'8&	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr  rK  rL  r*  r   r7  r  r,  r   s     r,   #test_split_to_sequence_not_keepdims6TestShapeInference.test_split_to_sequence_not_keepdims  sn      {((&12(7)6G5HSTUV

 	/%{'8'8$	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// [        S[        R                  SS	5      /S
9nU R                  U[        S[        R                  S5      /5        g )Nr  rK  r  r   rL  r*  r   r7  r(  r  r  rM  r   s     r,   &test_split_to_sequence_ignore_keepdims9TestShapeInference.test_split_to_sequence_ignore_keepdims  s      {((&1G[=N=NPT3UV%g&&'	 $Wk.?.?vNO ! 
 	/%{'8'8&	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr  rK  rL  r*  r   rC  r  r,  r   s     r,   test_split_to_sequence_axis.TestShapeInference.test_split_to_sequence_axis  sm      {((&12(7)6G5HqQR

 	/%{'8'8&	
re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr  rK  rL  r*  r  rC  r  r,  r   s     r,   test_split_to_sequence_neg_axis2TestShapeInference.test_split_to_sequence_neg_axis  sm      {((&12(7)6G5HrRS

 	/%{'8'8&	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
Nr  rK  r  r  rL  r*  r  r  Nr   rM  r   s     r,   "test_split_to_sequence_split_sizes5TestShapeInference.test_split_to_sequence_split_sizes  s      {((&1G[=N=NPT3UV(7G*<?P>QRS$Wk.?.?yQR	 ! 
 	/%{'8'8)	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
Nr  rK  r  r<   rL  r*  r  r  rc  rM  r   s     r,   $test_split_to_sequence_non_divisible7TestShapeInference.test_split_to_sequence_non_divisible
  s      {((&1G[=N=NPR3ST(7G*<?P>QRS$Wk.?.?TJK	 ! 
 	/%{'8'8)	
re   c                Z   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        SS/S	/S
S9// 5      nU R	                  U[        S[        R                  S5      [        S	[        R                  S5      /5        g )Nr#  rB  r$  r%  r'  r(  r)  ConcatFromSequencerK  r   rC  )Nr   rL   rS   r   r   r   ry   r   r   r   s     r,   test_concat_from_sequence,TestShapeInference.test_concat_from_sequence  s      ;,,k:;,,k:;,,k: ')G- .%qQ	 
 	/!;#4#4k 'uk.?.?P		
re   c                Z   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	S/S
/SS9// 5      nU R	                  U[        S[        R                  S 5      [        S
[        R                  S 5      /5        g )Nr#  rB  r$  r   r%  r'  r(  r)  rj  rK  r   rC  rk  r   s     r,   'test_concat_from_sequence_unknown_shape:TestShapeInference.test_concat_from_sequence_unknown_shape3  s      ;,,k:;,,f5;,,k: ')G- .%qQ	 
 	/{?P?PRVW&uk.?.?F	
re   c                Z   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	S/S
/SS9// 5      nU R	                  U[        S[        R                  S5      [        S
[        R                  S5      /5        g )Nr#  rB  r$  r:   r   rL   r%  r'  r(  r)  rj  rK  r   rC  rC  NNrL   rk  r   s     r,   *test_concat_from_sequence_unknown_dim_size=TestShapeInference.test_concat_from_sequence_unknown_dim_sizeJ  s      ;,,k:;,,k:;,,k: ')G- .%qQ	 
 	/{?P?PR`a&uk.?.?ARS	
re   c                Z   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	S/S
/SS9// 5      nU R	                  U[        S[        R                  S5      [        S
[        R                  S5      /5        g )Nr#  rB  r$  rr  r%  r'  r(  r)  rj  rK  r:   rC  rC  r-  rk  r   s     r,   test_concat_from_sequence_axis1TestShapeInference.test_concat_from_sequence_axisa  s      ;,,k:;,,k:;,,k: ')G- .%qQ	 
 	/{?P?PR`a&uk.?.?Q	
re   c                Z   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        S	S/S
/SS9// 5      nU R	                  U[        S[        R                  S5      [        S
[        R                  S5      /5        g )Nr#  rB  r$  rr  r%  r'  r(  r)  rj  rK  rC  rC  rs  rk  r   s     r,   "test_concat_from_sequence_neg_axis5TestShapeInference.test_concat_from_sequence_neg_axisx  s      ;,,k:;,,k:;,,k: ')G- .%rR	 
 	/{?P?PR`a&uk.?.?ARS	
re   c                \   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        SS/S	/S
SS9// 5      nU R	                  U[        S[        R                  S5      [        S	[        R                  S5      /5        g )Nr#  rB  r$  r%  r'  r(  r)  rj  rK  r:   r   rD  new_axis)r:   r   NrL   rk  r   s     r,   "test_concat_from_sequence_new_axis5TestShapeInference.test_concat_from_sequence_new_axis  s      ;,,k:;,,k:;,,k: ')G- (=/E7UV	 
  	/!;#4#4k 'uk.?.?ARS		
re   c                \   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ SQS/5      [        SS/S	/S
SS9// 5      nU R	                  U[        S[        R                  S5      [        S	[        R                  S5      /5        g )Nr#  rB  r$  r%  r'  r(  r)  rj  rK  r!   r   r~  )r:   r   rL   Nrk  r   s     r,   &test_concat_from_sequence_neg_new_axis9TestShapeInference.test_concat_from_sequence_neg_new_axis  s      ;,,k:;,,k:;,,k: ')G- (=/E7VW	 
  	/!;#4#4k 'uk.?.?ARS		
re   c           
        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
S/[
        S9// 5      nU R                  U[        S
[        R                  S5      [        S[        R                  S5      /[        R                  " [        S5      [        R                  " [
        S5      /S9  g )NRr<   Tr   r   Gr  Adagrad)r  r  r   r  r  X_newH_newr(   r;  r   r   rS   r   r   rG   r   r   ry   r   r   r   r   r   s     r,   test_adagradTestShapeInference.test_adagrad  s      k'',k'',k''0k''0k''0 -g&:	 !
& 	&w0A0A6J&w0A0A6J
 ##K4##$CQG 	 
	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQ/ SQ[
        S9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /[        R                  " [        S5      [        R                  " [
        S5      /S9  g )Nr  r<   r  X1r   X2r  G1G2H1H2r  )r  r  r  r  r  r  r  r  )X1_newX2_newH1_newH2_newr  r  r  r  r  r;  r   r   r  r   s     r,   test_adagrad_multiple(TestShapeInference.test_adagrad_multiple  sD     k'',k'',{((&1{((&1{((&1{((&1{((&1{((&1	 B<:	 '
, 	&x1B1BFK&x1B1BFK&x1B1BFK&x1B1BFK	 ##K4##$CQG 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	QS
S/SSSS[
        S9// 5      nU R                  U[        S
[        R                  S5      [        S[        R                  S5      /[        R                  " [        S5      [        R                  " [
        S5      /S9  g )Nr  r<   r  r   r   r  VMomentum)r  r  r   r  r  r  V_new?r  {Gz?standardrl  rm  norm_coefficientr  r(   r;  r   r   r  r   s     r,   test_momentum TestShapeInference.test_momentum
  s     k'',k'',k''0k''0k''0 -g&%)#:	 )
, 	&w0A0A6J&w0A0A6J
 ##K4##$CQG 	 
	
re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4/[	        S/ SQ/ SQSSSS[
        S9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /[        R                  " [        S5      [        R                  " [
        S5      /S9  g )Nr  r<   r  r  r   r  r  r  r  V1V2r  )r  r  r  r  r  r  r  r  )r  r  V1_newV2_newr  r  r  nesterovr  r  r  r  r  r;  r   r   r  r   s     r,   test_momentum_multiple)TestShapeInference.test_momentum_multiple-  sP     k'',k'',{((&1{((&1{((&1{((&1{((&1{((&1	 B<%)#:	 /
4 	&x1B1BFK&x1B1BFK&x1B1BFK&x1B1BFK	 ##K4##$CQG 	 	
re   c                ,   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S	/ S
Q/ SQ[
        SSSS9// 5      n[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /nU R                  UU[        [
        S5      [        [        S5      /S9  g )Nr  r<   r  r   r   r  r  r  Adam)r  r  r   r  r  r  )r  r  r  r  r  r  r(   rl  rm  r  r  r  r  r   r;  r   
rS   r   r   rG   r   r   r   ry   r   r   rI   rn   infoss      r,   	test_adamTestShapeInference.test_adamV  s     k'',k'',k''0k''0k''0k''0 2/:%)
 )
0 #7K,=,=vF"7K,=,=vF"7K,=,=vF
 	<a@["- 	 	
re   c                X   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S	[        R                  S4S
[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/
[	        S/ SQ/ SQ[
        SSSS9// 5      n[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /nU R                  UU[        [
        S5      [        [        S5      /S9  g )Nr  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  s      r,   test_adam_multiple%TestShapeInference.test_adam_multiple}  s     k'',k'',{((&1{((&1{((&1{((&1{((&1{((&1{((&1{((&1 NP:%)
 1
8 #8[->->G"8[->->G"8[->->G"8[->->G"8[->->G"8[->->G
 	<a@["- 	 	
re   c           
         U R                  S[        R                  S4/[        SSS/ SQS9// 5      nU R	                  U[        S[        R                  S5      /[        R                  " [        S5      /S	9  g )
NrL   r   Nr:   Padr   r   r   r   r   r   r   r-  r   Nr   r:  r   r   r   s     r,   test_pad_opset10#TestShapeInference.test_pad_opset10  sz      ;$$l34uc3-?@A

 	#C):):LIJ!..{B?@ 	 	
re   c                    U R                  S[        R                  S4/[        SSS/ SQSSS9// 5      nU R	                  U[        S[        R                  S	5      /[        R                  " [        S
5      /S9  g )NrL   )r:   r   r   r   r  r   )r   r   r   r   r   r   r   r:   constantr  )r.  r  r~  )r:   r   r  rB  r:  r   r   r   s     r,   test_constant_pad_2d_opset10/TestShapeInference.test_constant_pad_2d_opset10  s      ;$$l341#	 
 	#C):):MJK!..{B?@ 	 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S	5      /5        g )
NrL   r  r.  r  r  r   r  r  r  r  r   s     r,   test_padTestShapeInference.test_pad  s      ;$$l3fk>O>OQU5VWusFmS12%%		 ! 
( 	e&<S+BSBSUa&b%cdre   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r  r[  r   r6  r   r  r   s     r,   test_gatherelements_basic,TestShapeInference.test_gatherelements_basic  sv      ;$$d+i9J9JD-QR'#y)9C5AB

 	*30A0A4HI	
re   c                    U R                  S[        R                  S4S[        R                  S 4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S 5      /5        g )NrL   r  r[  r6  r   r  r   s     r,   )test_gatherelements_indices_missing_shape<TestShapeInference.test_gatherelements_indices_missing_shape  sy      k''.K--t4 '#y)9C5AB
 	e&<S+BSBSUY&Z%[\re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  Einsumr   zij->jiequationr[  r   r   s     r,   test_einsum_transpose(TestShapeInference.test_einsum_transpose  sc      ;$$f-.x#AB

 	e&<S+BSBSUa&b%cdre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   r  r   r  r   zi,i->r  r<   r   r   s     r,   test_einsum_dot"TestShapeInference.test_einsum_dot   st      ;$$d+c;3D3Dd-KLx#scUWEF

 	e&<S+BSBSUW&X%YZre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r<   r   r  r   z,->r  r   r   s     r,   test_einsum_scalar%TestShapeInference.test_einsum_scalar  st      ;$$b)C1B1BB+GHx#scUUCD

 	e&<S+BSBSUW&X%YZre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  r   )rB  r%  r  r   zij,ab->ijabr  r  r   r   s     r,   test_einsum_outer_prod)TestShapeInference.test_einsum_outer_prod  st      ;$$f-[5F5F/OPx#scU]KL

 	e&<S+BSBSUm&n%opre   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r  r   zi j->i r  r>   r   r   s     r,   test_einsum_sum_along_dim,TestShapeInference.test_einsum_sum_along_dim  sc      ;$$f-.x#	BC

 	e&<S+BSBSU\&]%^_re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )r   r   r   r  r   z... ii ->... ir  r[  r   r   s     r,   test_einsum_ellipsis'TestShapeInference.test_einsum_ellipsis   sd      ;$$i01x#8HIJ

 	e&<S+BSBSUa&b%cdre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   rO  r   r  r   z...ij,...jk->...ikr  rI  r   r   s     r,   test_einsum_ellipsis_2)TestShapeInference.test_einsum_ellipsis_2(  sx      ;$$i038I8I92UVx#scU=QRS

 	*30A0ACUVW	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   rO  r   r  r   z...ij,...jkr  rI  r   r   s     r,   test_einsum_ellipsis_3)TestShapeInference.test_einsum_ellipsis_32  sw      ;$$i038I8I92UVx#scU]KL

 	*30A0ACUVW	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   )r0   r5  rB  ri  r   )ri  r%  r:  r  r   zabcd,dfg->abcfgr  )NNNNNr   r   s     r,   test_einsum_contraction*TestShapeInference.test_einsum_contraction<  s      k''6k''4 x#scU=NOP
 	&**,J	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r<  r   r  r  r   z
ijk,ik->jkr  r[  r   r   s     r,   test_einsum_contraction_2,TestShapeInference.test_einsum_contraction_2N  sv      ;$$i038I8I62RSx#scU\JK

 	*30A0A<PQ	
re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   )r0   r:   r   r   )r0   r   r   r  r   zbij , b jk-> bikr  rI  r   r   s     r,   test_einsum_batch_matmul+TestShapeInference.test_einsum_batch_matmulX  su      ;$$i038I8I92UVx#scU=OPQ

 	e&<S+BSBSUg&h%ijre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   r  r  r   zij,klr  r  r   r   s     r,   test_einsum_left_hand_eqn,TestShapeInference.test_einsum_left_hand_eqn`  st      ;$$f-[5F5F/OPx#scUWEF

 	e&<S+BSBSUm&n%opre   c           
        U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  [
        R                  R                  U R                  U5        g )NrL   r   r   r   r  zi,...j, k, l-> ir  r   r   s     r,    test_einsum_incorrect_num_inputs3TestShapeInference.test_einsum_incorrect_num_inputsh  s      k''0k''0k''0
 x#scU=OPQ
 	$..==t~~uUre   c           
         Su  pU R                  S[        R                  X44S[        R                  U44/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  U45      /5        g )Nr  r  targetNegativeLogLikelihoodLosslossnone	reductionr  rI   r  r  rn   s       r,   (test_negative_log_likehood_shape_is_NCdd;TestShapeInference.test_negative_log_likehood_shape_is_NCddt  s      {((1&1Hk>O>ORSQU3VW/h'H$	 
 	e&<V[EVEVYZX\&]%^_re   c           
        Su  pU R                  S[        R                  X44S[        R                  U44S[        R                  U44/[	        S/ SQS/SS	9// 5      nU R                  U[        S[        R                  U45      /5        g )
Nr  r  r  weightr  r  r  r  r  r  r  r  r   s       r,   2test_negative_log_likehood_shape_is_NC_with_weightETestShapeInference.test_negative_log_likehood_shape_is_NC_with_weight  s      +++aV4;,,qd3;,,qd3 /1H$	 
  	e&<V[EVEVYZX\&]%^_re   c           
         Su  pU R                  S[        R                  X44S[        R                  U44/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S5      /5        g )	Nr  r  r  r  r  rs  r  r<   r  r   s       r,   5test_negative_log_likehood_shape_is_NC_reduction_meanHTestShapeInference.test_negative_log_likehood_shape_is_NC_reduction_mean  s      {((1&1Hk>O>ORSQU3VW/h'H$	 
 	e&<V[EVEVXZ&[%\]re   c           
        Su  pU R                  S[        R                  X44S[        R                  U44S[        R                  U44/[	        S/ SQS/SS	9// 5      nU R                  U[        S[        R                  S
5      /5        g )Nr  r  r  r  r  r  r  rs  r  r<   r  r   s       r,   Atest_negative_log_likehood_shape_is_NC_with_weight_reduction_meanTTestShapeInference.test_negative_log_likehood_shape_is_NC_with_weight_reduction_mean  s      +++aV4;,,qd3;,,qd3 /1H$	 
  	e&<V[EVEVXZ&[%\]re   c           
         Su  pp4U R                  S[        R                  XX444S[        R                  XU44/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  XU45      /5        g )Nr   r   r0   r5  r  r  r  r  r  r  r  rI   r  r  d1d2rn   s         r,   *test_negative_log_likehood_shape_is_NCd1d2=TestShapeInference.test_negative_log_likehood_shape_is_NCd1d2  s    !b  +++aB^<;,,qbk:
 /h'H$	 
 	e&<V[EVEVYZ`bXc&d%efre   c           
     "   Su  pp4U R                  S[        R                  XX444S[        R                  XU44S[        R                  U44/[	        S/ SQS/SS	9// 5      nU R                  U[        S[        R                  XU45      /5        g )
Nr  r  r  r  r  r  r  r  r  r  r  s         r,   6test_negative_log_likehood_shape_is_NCd1d2_with_weightITestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_with_weight  s    !b  +++aB^<;,,qbk:;,,qd3 /1H$	 
  	e&<V[EVEVYZ`bXc&d%efre   c           
         Su  pp4U R                  S[        R                  XX444S[        R                  XU44/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S5      /5        g )	Nr  r  r  r  r  sumr  r<   r  r  s         r,   8test_negative_log_likehood_shape_is_NCd1d2_reduction_sumKTestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_reduction_sum  s    !b  +++aB^<;,,qbk:
 /h'H#	 
 	e&<V[EVEVXZ&[%\]re   c           
        Su  pp4U R                  S[        R                  XX444S[        R                  XU44S[        R                  U44/[	        S/ SQS/SS	9// 5      nU R                  U[        S[        R                  S
5      /5        g )Nr  r  r  r  r  r  r  rs  r  r<   r  r  s         r,   Etest_negative_log_likehood_shape_is_NCd1d2_with_weight_reduction_meanXTestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_with_weight_reduction_mean  s     "b  +++aB^<;,,qbk:;,,qd3 /1H$	 
  	e&<V[EVEVXZ&[%\]re   c           
     Z   Su  pp4U R                  S[        R                  XU44S[        R                  XS-   U44S[        R                  U44S[        R                  S4/[	        S/ S	QS/S
S9// 5      nU R                  [        R                  R                  U R                  U5        g )Nr  r  r  r   r  r  r<   r  r  rs  r  )
rS   r   r   rG   r   r   r[   r\   r   rc   r  s         r,   6test_negative_log_likehood_input_target_shape_mismatchITestShapeInference.test_negative_log_likehood_input_target_shape_mismatch  s    !b  +++aR[9;,,qq&"o>;,,qd3**B/	 /1H$	 
" 	$..==t~~uUre   c           
     J   Su  pp4U R                  S[        R                  XX444S[        R                  XU44S[        R                  US-   44S[        R                  XU44/[	        S/ SQS/S	S
9// 5      nU R                  [        R                  U R                  U5        g )Nr  r  r  r  r   r  r  r  r  r  )	rS   r   r   rG   r   r   r   r  rc   r  s         r,   6test_negative_log_likehood_input_weight_shape_mismatchITestShapeInference.test_negative_log_likehood_input_weight_shape_mismatch!  s    !b  +++aB^<;,,qbk:;,,q1uh7**QBK8	 /1H$	 
" 	'114>>5Ire   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   r   r   r   SoftmaxCrossEntropyLossr   r  r  r   r   s     r,   test_softmax_cross_entropy_none2TestShapeInference.test_softmax_cross_entropy_none6  su      ;$$f-[5F5F/MN03*sevVW

 	e&<S+BSBSUY&Z%[\re   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r   r   r   r&  r   rs  r  r<   r   r   s     r,   test_softmax_cross_entropy_mean2TestShapeInference.test_softmax_cross_entropy_mean>  su      ;$$f-[5F5F/MN03*sevVW

 	e&<S+BSBSUW&X%YZre   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )	NrL   )r:   r   r0   ri  r   )r:   r0   ri  r&  r   r  r  r   r   s     r,   &test_softmax_cross_entropy_none_NCD1D29TestShapeInference.test_softmax_cross_entropy_none_NCD1D2F  sz      k''6k''3 03*sevVW
 	e&<S+BSBSU^&_%`are   c           
         U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// 5      nU R	                  U[        S[        R                  S	5      /5        g )
NrL   r  r   )r:   r   r0   r&  r   rs  r  r<   r   r   s     r,   &test_softmax_cross_entropy_mean_NCD1D29TestShapeInference.test_softmax_cross_entropy_mean_NCD1D2Q  sz      k''6k''3 03*sevVW
 	e&<S+BSBSUW&X%YZre   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )Nr   r=  Celur   r  )rl  r   r   s     r,   test_celu_function_output_shape2TestShapeInference.test_celu_function_output_shape\  sg      ;$$&678vuse378

 	*30A0ACSTU	
re   c           	        [        SSS/S5      /nUc  / nO`SnU H  nXV-  nM	     [        U5       Vs/ s H  nSPM     nn[        S[        R                  X5      [        S[        R                  X5      /nUc  / n	OL[
        R                  " S[        R                  U5      [
        R                  " S[        R                  U5      /n	[
        R                  " USU	/ U/ S9n
[
        R                  " U
5      $ s  snf )	NrA  rL   r   r   r   g        r@   )inputsoutputsrA   rB   )	r   r#   r   r   r   r   r   rH   rZ   )rI   initializer_shapeinput_shaperK   rA   rn  dr,  r  r7  rn   s              r,   !prepare_input_initializer_tensors4TestShapeInference.prepare_input_initializer_tensorsf  s    53*c23$KD&x '!&t-ACD-C!2!24ELC!2!24ELK F --c;3D3DkR--c;3D3DkRF
 !!#
   ''+ .s   C8c                   SnU R                  US 5      n[        R                  R                  USS9nUR                  R
                  R                  5       nUR                  R                  R                  R                  S   R                  UR                  R                  R                  R                  S   R                  4nXQ:X  d   eg )Nri  rB  Tr^  r   r   )r<  r[   r\   r]   rn   rB   rY   rs   r|   r~   r   r   )rI   r9  original_modelrb   z_tenorz_shapes         r,   3test_infer_with_initializer_without_input_above_ir4FTestShapeInference.test_infer_with_initializer_without_input_above_ir4  s     #??@QSWX--:: ; 

 !&&11557LL$$**..q1;;LL$$**..q1;;
 +++re   c                   SnSnU R                  X5      nSUl        [        R                  R	                  USS9nUR
                  R                  R                  5       nUR                  R                  R                  R                  S   R                  UR                  R                  R                  R                  S   R                  4nUS:X  d   eg )	Nr?  r[  r   Tr^  r   r   r   r   )r<  
ir_versionr[   r\   r]   rn   rB   rY   rs   r|   r~   r   r   )rI   r9  r:  r@  rb   rA  rB  s          r,   3test_infer_with_initializer_without_input_below_ir4FTestShapeInference.test_infer_with_initializer_without_input_below_ir4  s     #"??
 %&!--:: ; 
 !&&11557LL$$**..q1;;LL$$**..q1;;

 &   re   c                    SnSnU R                  X5      nU R                  [        R                  R                  [        R                  R
                  USS9  g )Nr?  r+  Tr^  r<  r   r[   r\   r   r]   rI   r9  r:  r@  s       r,   %test_infer_initializer_input_mismatch8TestShapeInference.test_infer_initializer_input_mismatch  sY    "??
 	  //  --	 	 	
re   c                j    SnSnU R                  X5      n[        R                  R                  USS9  g Nr?  r[  Tr^  r<  r[   r\   r]   rL  s       r,   1test_infer_initializer_input_consistency_all_noneDTestShapeInference.test_infer_initializer_input_consistency_all_none  s;    ""??
 	)).d)Kre   c                j    SnSnU R                  X5      n[        R                  R                  USS9  g )Nr?  NrB  Tr^  rQ  rL  s       r,   4test_infer_initializer_input_consistency_single_noneGTestShapeInference.test_infer_initializer_input_consistency_single_none  s;    "??
 	)).d)Kre   c                    SnSnU R                  X5      nU R                  [        R                  R                  [        R                  R
                  USS9  g )N)ri  rB  r%  rU  Tr^  rK  rL  s       r,   6test_infer_initializer_input_consistency_differnt_rankITestShapeInference.test_infer_initializer_input_consistency_differnt_rank  sY    %??
 	  //  --	 	 	
re   c                    SnSnU R                  X5      n[        R                  R                  UR	                  5       SS9  g rP  )r<  r[   r\   r]   SerializeToStringrL  s       r,   <test_infer_initializer_input_consistency_all_none_serializedOTestShapeInference.test_infer_initializer_input_consistency_all_none_serialized  sK     #"??
 	)),,.D 	* 	
re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SS5      /S9nU R                  U[        S[        R                  S5      /5        g )	NrL   r<  r  r<   Trilur   r   r  r  r   s     r,   test_trilu_upper#TestShapeInference.test_trilu_upper  s      ;$$i038I8I22NOwc
SE23$S+*;*;RFG	 ! 
 	e&<S+BSBSU^&_%`are   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// [        S[        R                  SS	5      /S
9nU R                  U[        S[        R                  S5      /5        g )NrL   r<  r  r<   r`  r   r   upperr:  r  r  r   s     r,   test_trilu_lower#TestShapeInference.test_trilu_lower  s      ;$$i038I8I22NOwc
SE;<$S+*;*;RGH	 ! 
 	e&<S+BSBSU^&_%`are   c                   U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SS9// [	        S[        R                  SS	5      /S
9nU R                  U[        S[        R                  S5      /5        g )NrL   )r   r0   r  r<   r`  r   r   rd  r  r  )rS   r   rG   r   r   ry   r   r   s     r,   test_trilu_upper_zero(TestShapeInference.test_trilu_upper_zero  s      ;$$f-[5F5F/KLwc
SE;<$S+*;*;RFG	 ! 
 	e&<S+BSBSU[&\%]^re   c           
         U R                  S[        R                  S4/[        SS/S/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )r   r   r0   r`  r   r   rd  )rS   r   r  r   ry   r   r   s     r,   test_trilu_lower_one'TestShapeInference.test_trilu_lower_one  sc      ;$$i01wuA67

 	e&<S+BSBSU^&_%`are   c           
        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	Q/ S
QSS9// 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /5        g NrL   r  rr  r  r   
input_mean	input_varru  rL   rr  r   rq  rr  rK  output_mean
output_varr   training_moderK  ru  rv  r   r   s     r,   test_batch_norm_train(TestShapeInference.test_batch_norm_train  s      k''9+++T2k''.{00$7k//6 (B8"#	 !
$ 	&uk.?.?Q&}k6G6GN&|[5F5FM	
re   c           
        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	Q/ S
QSS9// 5      nU R	                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /5        g )NrL   )r   r  r0   r5  rB  rr  r  r   rq  rr  ru  rs  rt  r   rw  rK  ru  rv  r   r   s     r,   test_batch_norm_train_dim_param2TestShapeInference.test_batch_norm_train_dim_param'  s      k''):;+++V4k''0{00&9k//8 (B8"#	 !
$ 	&uk.?.?ARS&}k6G6GP&|[5F5FO	
re   c           
        U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ S	Q/ S
QSS9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      /5        g rp  )rS   r   r  r   r   ry   r   r   s     r,   $test_batch_norm_train_with_diff_type7TestShapeInference.test_batch_norm_train_with_diff_typeC  s      k))?;+--t4k))40{00$7k//6 (B8"#	 !
$ 	&uk.A.A?S&}k6G6GN&|[5F5FM	
re   c           
     R   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S/ S	QS
/SS9// 5      nU R	                  U[        S
[        R                  S5      /5        g )NrL   r  rr  r  r   rq  rr  ru  rs  rK  r   rw  r   r   s     r,   test_batch_norm_test'TestShapeInference.test_batch_norm_test_  s      k''9+++T2k''.{00$7k//6 (BG"#	 !
$ 	e&<UKDUDUWf&g%hire   c           
     R   U R                  S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/SS9// 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )r   r   NNNrr  r  r   rq  r>   rr  ru  rs  rK  r   rw  r   r   s     r,   test_batch_norm_test_no_dim.TestShapeInference.test_batch_norm_test_no_dimt  s      k'')AB+++T2k''.{00':k//6 (BG"#	 !
$ 	e&<UKDUDUWo&p%qrre   c           
        U R                  S[        R                  S 4S[        R                  S 4S[        R                  S 4S[        R                  S4S[        R                  S4/[        S/ SQ/ S	QS
S9// 5      nU R	                  U[        S[        R                  S 5      [        S[        R                  S5      [        S[        R                  S5      /5        g )NrL   rr  r   rq  r|  rr  ru  rs  )rK  running_meanrunning_varr   rw  rK  r  r  r   r   s     r,   test_batch_norm_train_no_shape1TestShapeInference.test_batch_norm_train_no_shape  s      k''.+++T2k''.{00&9k//8 (B:"#	 !
$ 	&uk.?.?F&~{7H7H&Q&}k6G6GP	
re   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r>   NonZerorK  )r   NrW  r   s     r,   test_nonzeroTestShapeInference.test_nonzero  sa      ;$$g./y3%%12

 	e&<UKDUDUW`&a%bcre   c                    U R                  S[        R                  S 4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  rK  r[  rW  r   s     r,   test_nonzero_no_shape(TestShapeInference.test_nonzero_no_shape  s`      ;$$d+,ySEE7/S.TVX
 	e&<UKDUDUWc&d%efre   c           	         U R                  S[        R                  S4/[        SS/S/5      /[	        S[        R
                  S5      /5      nU R                  U[	        S[        R
                  S5      /5        g )NrL   r  r  r   )NNZ)r   r  )rS   r   r   r   r   rG   ry   r   s     r,   test_nonzero_existing_dim_param2TestShapeInference.test_nonzero_existing_dim_param  ss      ;$$d+,y3%#/0#C):):LIJ

 	e&<S+BSBSU^&_%`are   c                    U R                  S[        R                  S4/[        SS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r<   r  rK  )r   NrW  r   s     r,   test_nonzero_scalar&TestShapeInference.test_nonzero_scalar  s`      ;$$b)*Yy3%%-Q,RTV
 	e&<UKDUDUW`&a%bcre   c           
        [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " SUS9nU R                  / [        S/ S/US9// 5      nU R                  XC/5        g )Nr  r  r  r'   
type_protor1  rs   	r   r4  r   r   r5  r6  rS   r   ry   rI   r7  r8  optional_val_inforn   s        r,   $test_optional_construct_empty_tensor7TestShapeInference.test_optional_construct_empty_tensor  s    "99!''y
 %==>OP"22&9
   :rH:<MNOQS
 	e%89re   c           
     2   [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " U5      n[         R                  " SUS9nU R                  / [        S/ S/US9// 5      nU R                  XT/5        g )Nr  r  r*  r  r1  r  )
r   r4  r   r  r<  r5  r6  rS   r   ry   )rI   r7  r=  r8  r  rn   s         r,   &test_optional_construct_empty_sequence9TestShapeInference.test_optional_construct_empty_sequence  s    "99!''y
 %==>OP$==>QR"22"/B
   z2(9':ATUV

 	e%89re   c                .   [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      // 5      nU R                  XC/5        g )Nr   r  r  r  r#  r1  r  r  s        r,   test_optional_construct_tensor1TestShapeInference.test_optional_construct_tensor  s    "99!''y
 %==>OP"22&9
   ))956zH:z:;

 	e%89re   c           	        [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " SUS9n[         R                  " U5      n[         R
                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      [        SS/S/5      // 5      nU R                  XcU/5        g )	N)r:   r   r   r  input_sequencer  r*  r#  r'  r1  )
r   r4  r   rG   r<  r6  r5  rS   r   ry   rI   r7  r=  sequence_val_infor8  r  rn   s          r,    test_optional_construct_sequence3TestShapeInference.test_optional_construct_sequence  s    "99!''y
 %==>OP"22!.A
 %==>QR"22"/B
   ))956-z<L;MN*'7&8;L:MN 
 	e9J%KLre   c           	        [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      [        SS/S/5      // 5      nU R                  UU[        S[        R                  S	5      /5        g )
Nr   r  ri  r  r#  r1  OptionalHasElementr  r<   )r   r4  r   r   r5  r6  rS   r   ry   r   rx  r  s        r,    test_optional_tensor_has_element3TestShapeInference.test_optional_tensor_has_element  s    "99!''y
 %==>OP"22(;
   ))956*xj:,?.xjI 
 	 6xAQAQSU VW	
re   c           
        [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " SUS9n[         R                  " U5      n[         R
                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      [        SS/S/5      [        S	S/S
/5      // 5      nU R                  UUU[        S
[        R                  S5      /5        g )N)r   r   r   r  ri  r  optionalr#  r'  r1  r  r  r<   )r   r4  r   r   r<  r6  r5  rS   r   ry   r   rx  r  s          r,   "test_optional_sequence_has_element5TestShapeInference.test_optional_sequence_has_element  s   "99!''y
 %==>OP"22(;
 %==>QR"22(;
   ))956-zJ<H*zlZLA.xjI
 
 	!!&x1A1A2F	
re   c                   [         R                  " [        R                  / SQS9n[         R                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      // 5      nU R                  X2/5        g )Nr:   r   r   r  r  r  r  OptionalGetElement)r   r4  r   r  r6  rS   r   ry   )rI   r7  output_tensor_val_inforn   s       r,   test_tensor_get_element*TestShapeInference.test_tensor_get_element6  s    "99!((	
 "(!7!7&7"
   {))956.	H:F 
 	e%=>re   StringSplitc           	     2   [        S[        R                  S5      n[        S[        R                  S5      nU R	                  S[        R                  S4/[        SS/SS/5      /X4/5      nU R                  UX4/[        R                  " [        U5      /S9  g )N
substrings)r:   Nlengthr   rL   r  r   
r   r   r   rG   rS   r   ry   r   r   r   rI   r   r+   r  r  rn   s         r,   test_string_split_basic*TestShapeInference.test_string_split_basicF  s    +


 (+2C2CTJ  k(($/ }selH-EFG 
 	 !..{GDE 	 	
re   c           	     2   [        S[        R                  S5      n[        S[        R                  S5      nU R	                  S[        R                  S4/[        SS/SS/5      /X4/5      nU R                  UX4/[        R                  " [        U5      /S9  g )Nr  )rJ  Nr  )rJ  rL   r  r   r  r  s         r,   test_string_split_symbolic-TestShapeInference.test_string_split_symbolic[  s    +


 (+2C2CVL  k((&1 }selH-EFG 
 	 !..{GDE 	 	
re   c           
     0   [        S[        R                  S5      n[        S[        R                  S5      nU R	                  S[        R                  S4/[        SS/SS/SS9/X4/5      nU R                  UX4/[        R                  " [        U5      /S	9  g )
Nr  )r:   r   r   Nr  r	  rL   r  r:   maxsplitr   r  r  s         r,   test_string_split_nested+TestShapeInference.test_string_split_nestedp  s    ++,,o

 (+2C2CYO  k(()4 }selH-EPQRS 
 	 !..{GDE 	 	
re   c           
     0   [        S[        R                  S5      n[        S[        R                  S5      nU R	                  S[        R                  S4/[        SS/SS/SS9/X4/5      nU R                  UX4/[        R                  " [        U5      /S	9  g )
Nr  r>   r  r<   rL   r  r:   r  r   r  r  s         r,   (test_string_split_zero_dimensional_input;TestShapeInference.test_string_split_zero_dimensional_input  s    +L+:L:LgV
'+2C2CRH  k(("- }selH-EPQRS 
 	 !..{GDE 	 	
re   c           
     0   [        S[        R                  S5      n[        S[        R                  S5      nU R	                  S[        R                  S4/[        SS/SS/SS9/X4/5      nU R                  UX4/[        R                  " [        U5      /S	9  g )
Nr  )r`  r   r   Nr  )r`  r   r   rL   r  r:   r  r   r  r  s         r,   test_string_split_empty_input0TestShapeInference.test_string_split_empty_input  s    ++,,.?

 (+2C2C[Q  k((+6 }selH-EPQRS 
 	 !..{GDE 	 	
re   c           	     v   [         R                  " [        R                  / SQS9n[         R                  " SUS9n[         R
                  " U5      n[         R                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      [        SS/S/5      // 5      nU R                  XTU/5        g )	Nr  r  r  r  r  r#  r1  r  )	r   r4  r   r  r6  r5  rS   r   ry   )rI   r7  tensor_val_intor8  r  rn   s         r,    test_optional_tensor_get_element3TestShapeInference.test_optional_tensor_get_element  s    "99!((	
 !00&7
 %==>OP"22(;
   **I67*xj:,?.xjI 
 	e%IJre   c           
        [         R                  " [        R                  / SQS9n[         R                  " U5      n[         R
                  " SUS9n[         R                  " U5      n[         R
                  " SUS9n[         R
                  " SUS9nU R                  S[        R                  S4/[        SS/S/5      [        S	S/S/5      [        S
S/S/5      // 5      nU R                  XuX6/5        g )N)r:   r   r   r  ri  r  r  r  r#  r'  r1  r  )
r   r4  r   r  r<  r6  r5  rS   r   ry   )rI   r7  r=  sequence_val_intor8  r  output_val_intorn   s           r,   "test_optional_sequence_get_element5TestShapeInference.test_optional_sequence_get_element  s   "99!''y
 %==>OP"22(;
 %==>QR"22(;
 !00&9
   ))956-zJ<H*zlZLA.xjI
 
 	e9J%\]re   c                   U R                  S[        R                  S4S[        R                  S4S[        R                  S4/[	        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      /5        g )Nr  rf  rL   r   Where)r  rL   r   rK  )rS   r   rx  BFLOAT16r   ry   r   r   s     r,   test_where_bfloat$TestShapeInference.test_where_bfloat  s      ))51k**E2k**E2
 w 2UG<=
 	e&<UKDXDXZ_&`%abre   c                   [         R                  " [         R                  " S/ [         R                  " S[        R
                  S S9/[        SS/S/5      /[        R                  " [        R                  " SS/[        R                  S9SS	9/S
9S9nU R                  [        R                  R                  [        R                  R                   USS9  [        R                  R!                  U5      nU R#                  UR$                  R&                  S   R(                  R*                  R-                  S5      5        g )Ngraph_with_unsupported_typer   r~   r  rL   r   r   r  rh   r'   r7  r8  rK   rA   rn   Tr^  r   r~   )r   rZ   rH   r   r   r   r   r   
from_arrayr   r  int32r   r[   r\   r   r]   assertFalsern   r  rs   r|   r   )rI   modelrb   s      r,   ,test_parse_data_with_unsupported_tensor_type?TestShapeInference.test_parse_data_with_unsupported_tensor_type  s   !!##211#{7H7HPTU !!2SEC5AB !++BHHaV288,LSVW
 	  //  --	 	 	
 --::5A  ''*//;;DDWM	
re   c                   [         R                  " [         R                  " S/ [         R                  " S[        R
                  S S9/[        SS/S/5      /[        R                  " [        R                  " SS/[        R                  S9SS	9/S
9S9n[        R                  UR                  R                  S   l        U R!                  ["        R$                  R&                  ["        R$                  R(                  USS9  ["        R$                  R)                  U5      nU R+                  UR                  R,                  S   R.                  R0                  R3                  S5      5        U R5                  S[        R6                  S4S[        R8                  S4/[        SSS/S/SS9// [;        S[        R8                  SS5      /S9nU R=                  U[        S[        R6                  S5      /5        g )Ngraph_with_undefined_typer   r  r  rL   r   r   r  rh   r  r  r   Tr^  r~   rv  r  r?   r   rw  rr  r  )r   rZ   rH   r   r   r   r   r   r  r   r  int64rE   rn   rA   	data_typer   r[   r\   r   r]   r  r  rs   r|   r   rS   r  rG   r   ry   )rI   r  rb   rn   s       r,   *test_parse_data_with_undefined_tensor_type=TestShapeInference.test_parse_data_with_undefined_tensor_type   s   !!##011#{7H7HPTU !!2SEC5AB ++BHHaV288,LSVW

 0;/D/D",  //  --	 	 	
 --::5A  ''*//;;DDWM	
   ;$$i07K<M<Mt2TUy3.3%1EF$Wk.?.?yQR	 ! 
 	*30A0A9MN	
re   c                4   Su  pp4U R                  S[        R                  USS44S[        R                  S4/[	        SSS/S/S	S
9// [        S[        R                  SXX445      /S9nU R                  U[        S[        R                  XUS45      /5        g )Nr  thetar:   r   rn  r  
AffineGridgridr   )align_cornersr  r  )rI   r  r  r  r@  rn   s         r,   test_affinegrid_2d%TestShapeInference.test_affinegrid_2d'  s    
a  +++aAY7**D1
  f%H"#	 $V[->->qQlST ! 
  	*6;3D3DqQPQlST	
re   c                :   Su  pp4nU R                  S[        R                  USS44S[        R                  S4/[	        SSS/S/5      // [        S[        R                  SXX4U45      /S	9nU R                  U[        S[        R                  XXES45      /5        g )
N)r:   r   r   r0   r5  r  r   r   rn  r  r  r  r  r  )rI   r  r  Dr  r@  rn   s          r,   test_affinegrid_3d%TestShapeInference.test_affinegrid_3d=  s    %aA  +++aAY7**D1
  f%H $V[->->qQSToVW ! 
 	*6;3D3DqQSToVW	
re   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SSS	S
9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   r\  r  )r   r   r   r:   
GridSampler   nearestborderr   r  padding_moder  r  r   s     r,   test_gridsample_2d%TestShapeInference.test_gridsample_2dR  s      k''6**L9
  &ME"!)"#	 
" 	*30A0A<PQ	
re   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SSS	S
9// 5      nU R                  U[        S[        R                  S5      /5        g )NrL   )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_gridsample_3d%TestShapeInference.test_gridsample_3dh  s      k''9**O<
  &ME"!)"#	 
" 	*30A0A?ST	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   r  r  )r  H_outW_outr:   r  r   )r  r  r
	  r	  r   r   s     r,   test_gridsample_2d_defaults.TestShapeInference.test_gridsample_2d_defaults~  s      k'')=>**,FG |c6]SE:;
 	&**,H	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/5      // 5      nU R	                  U[        S[        R                  S5      /5        g )NrL   )r  r  r  r  r@  r  )r  D_outr
	  r	  r   r  r   )r  r  r	  r
	  r	  r   r   s     r,   test_gridsample_3d_defaults.TestShapeInference.test_gridsample_3d_defaults  s      k'')BC**,OP |c6]SE:;
 	&**,Q	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SSS	9// 5      nU R	                  U[        S[        R                  S5      /5        g )
NrL   )r  r  NNr  )r  NNr:   r  r   linearr	  r  r	  r   r   s     r,   test_gridsample_2d_no_dim,TestShapeInference.test_gridsample_2d_no_dim  s      k'')?@**,@A
  &ME!!) 
  	#C):):<RST	
re   c                    U R                  S[        R                  S4S[        R                  S4/[        SSS/S/SSS	9// 5      nU R	                  U[        S[        R                  S5      /5        g )
NrL   )r  r  NNNr  )r  NNNr   r  r   r	  r	  r	  r   r   s     r,   test_gridsample_3d_no_dim,TestShapeInference.test_gridsample_3d_no_dim  s      k'')EF**,FG
  &ME!!) 
  	&**,H	
re   c                   [        S[        R                  S5      /n[        S[        R                  S5      /n[        R                  " [        SS/S/5      /SUU5      nU R                  S[        R                  S4S[        R                  S4S[        R                  S4/[        S	/ S
QS/5      [        SS/S/US9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )Nr  )   r	  r   r  r  
body_graphr#  r$  r%  r'  r(  r)  SequenceMapout_sequencer  	r   r   r   r   rH   r   rS   ry   r   rI   rN   rz  r	  rn   s        r,   %test_sequence_map_identity_known_dims8TestShapeInference.test_sequence_map_identity_known_dims  s'   "7K,=,=}M
 #8[->->N
 &&zG9xj9:	

   ;,,m<;,,m<;,,m< ')G- !M?^4D:	 
  	/!;#4#4m 0"K$5$5}	
	
re   c                   [        S[        R                  S5      /n[        S[        R                  S5      /n[        R                  " [        SS/S/5      /SUU5      nU R                  S[        R                  S4S[        R                  S	4S
[        R                  S4/[        S/ SQS/5      [        SS/S/US9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )Nr  r  r@  r   r  r  r	  r#  )r  r  r   r$  )r  r  r   r%  )r0   r   r   r'  r(  r)  r	  r	  r  NNr   r	  r 	  s        r,   'test_sequence_map_identity_unknown_dims:TestShapeInference.test_sequence_map_identity_unknown_dims  s'   "7K,=,=}M
 #8[->->N
 &&zG9xj9:	

   ;,,m<;,,m<;,,i8 ')G- !M?^4D:	 
  	/!;#4#4o 0"K$5$5	
	
re   c                Z   [         R                  " [        S/ SQS/5      [        S/ SQS/5      /S[        R                   R	                  S[        R
                  R                  S5      /[        R                   R	                  S[        R
                  R                  S	5      [        R                   R	                  S[        R
                  R                  S
5      /[        S[
        R                  SS5      [        S[
        R                  SS5      [        S[
        R                  SS5      [        S[
        R                  SS5      [        S[
        R                  SS5      /S9nU R                  S[
        R                  S4S[
        R                  S4S[
        R                  S4/[        S/ SQS/5      [        SS/S S!/US"9// 5      nU R                  U[        S[
        R                  S#5      [        S [
        R                  S	5      [        S![
        R                  S
5      /5        g )$Nr  rL   starts1ends1r  r  y1rL   starts2ends2r  r  y2r	  rL   r$	  )r:  r  r   )r   (   r   r  r   r  r*	  rF  r+	  r:  r  r.	  r/	  r   r1	  rK   r'   r7  r8  rA   r#  r	  i6  r   r$  n      r   r%  Z   r7	  r   r'  r(  r)  r	  out_sequence1out_sequence2r  r%	  r   rH   r   r[   r   r   r   r   rG   rS   ry   r   rI   r	  rn   s      r,   'test_sequence_map_slice_outs_known_dims:TestShapeInference.test_sequence_map_slice_outs_known_dims$   s   &&'#H4&Q'#H4&Q 22))// 22$**00+ 22$**00+	 FK$5$5tVDI{'8'8$GG[%6%6hGI{'8'8$GG[%6%6hG'

8   ;,,m<;,,m<;,,l; ')G- !"O$o6#		
 #
& 	/!;#4#4o 0#[%6%6 0#[%6%6
	
re   c                Z   [         R                  " [        S/ SQS/5      [        S/ SQS/5      /S[        R                   R	                  S[        R
                  R                  S5      /[        R                   R	                  S[        R
                  R                  S	5      [        R                   R	                  S[        R
                  R                  S
5      /[        S[
        R                  SS5      [        S[
        R                  SS5      [        S[
        R                  SS5      [        S[
        R                  SS5      [        S[
        R                  SS5      /S9nU R                  S[
        R                  S4S[
        R                  S4S[
        R                  S4/[        S/ SQS/5      [        SS/S S!/US"9// 5      nU R                  U[        S[
        R                  S#5      [        S [
        R                  S#5      [        S![
        R                  S#5      /5        g )$Nr  r)	  r,	  r-	  r0	  r	  rL   r$	  )r  W1r   )r  W2r   r  r   r  r*	  rF  r+	  r2	  r.	  r/	  r3	  r4	  r#  r5	  r$  r6	  r%  r9	  r'  r(  r)  r	  r;	  r<	  r  r%	  r=	  r>	  s      r,   )test_sequence_map_slice_outs_unknown_dims<TestShapeInference.test_sequence_map_slice_outs_unknown_dimsc   s   &&'#H4&Q'#H4&Q 22))// 22$**00/ 22$**00/	 FK$5$5tVDI{'8'8$GG[%6%6hGI{'8'8$GG[%6%6hG'

8   ;,,m<;,,m<;,,l; ')G- !"O$o6#		
 #
& 	/!;#4#4o 0#[%6%6 0#[%6%6
	
re   c                   [         R                  " [        SS/S/5      /S[        R                   R	                  S[        R
                  R                  S5      /[        R                   R	                  S[        R
                  R                  S5      /S9nU R                  S[
        R                  S	4S
[
        R                  S4S[
        R                  S4/[        S/ SQS/5      [        SS/S/US9// 5      nU R                  U[        S[
        R                  S5      [        S[
        R                  S5      /5        g )Nr  rL   r~   r	  )r  r@  r  r  )rK   r'   r7  r8  r#  r5	  r$  r6	  r%  r9	  r'  r(  r)  r	  shapesr  r%	  )r   rH   r   r[   r   r   r   rG   rS   ry   r   r>	  s      r,   'test_sequence_map_different_tensor_type:TestShapeInference.test_sequence_map_different_tensor_type   s8   &&WsegY7822))// 22T--33T

   ;,,m<;,,m<;,,l; ')G- --8*:V	 
 	/!;#4#4o 0+:K:KTR		
re   c                6   U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/SS	9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )
Nr|  r~   r<   rf  r}  HammingWindowr   r   periodicrS   r   r   r   rG   ry   r   r   r   s     r,   test_hammingwindow%TestShapeInference.test_hammingwindow   s*     I%g{/@/@"eL	 /G9se< 
 	&w0A0A2F&sK,=,=uE	
   I%g{/@/@"eL	 /G9seaH 
 	&w0A0A2F&sK,=,=uE	
re   c                6   U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/SS	9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )
Nr|  r~   r<   rf  r}  
HannWindowr   r   rL	  rN	  r   s     r,   test_hannwindow"TestShapeInference.test_hannwindow   s*     I%g{/@/@"eL	 ,	C59 
 	&w0A0A2F&sK,=,=uE	
   I%g{/@/@"eL	 ,	C51E 
 	&w0A0A2F&sK,=,=uE	
re   c                6   U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        U R                  / [        S/ S/[        S[        R                  SS5      S9[        SS/S/SS	9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /5        g )
Nr|  r~   r<   rf  r}  BlackmanWindowr   r   rL	  rN	  r   s     r,   test_blackmanwindow&TestShapeInference.test_blackmanwindow !  s,     I%g{/@/@"eL	 *WIu= 
 	&w0A0A2F&sK,=,=uE	
   I%g{/@/@"eL	 *WIuqI 
 	&w0A0A2F&sK,=,=uE	
re   DFT))reals_default_axisr:   r0   r   NNNr,  )reals_axis_0r   r0   r:  r   r   r   r   r   r0   r:  r:   )reals_axis_1r]	  r   r   r   r^	  )reals_axis_2r]	  r:   r   r   r^	  )reals_axis_negr]	  r  r   r   r^	  )reals_axis_0_onesidedr]	  r   r   r   )r:   r0   r:  r:   )reals_axis_1_onesidedr]	  r   r   r   )r   r   r:  r:   )reals_axis_2_onesidedr]	  r:   r   r   r   r0   r5  r:   )reals_axis_neg_onesidedr]	  r  r   r   re	  )complex_default_axisr,  NNNr,  )complex_onesidedr,  r   r   N)r:   r   r:   )real_inverser[	  r   Nr   r,  )complex_inverser,  r   Nr   r,  c	                   0 n	Ub  XiS'   Ub  XyS'   US:  a  Ub  XYS'   [        SSS/S/40 U	D6/n
/ nOuUS:  d   eUbV  [        S	/ S/[        S[        R                  S
U45      S9[        S/ SQS/40 U	D6/n
[	        S[        R                  S
5      /nO[        S/ SQS/40 U	D6/n
/ nU R                  / [        S	/ S/[        S[        R                  U[        R                  " U[        R                  S9R                  5       5      S9/U
Q/ 5      nU R                  U[	        S[        R                  U5      /UQ[	        S[        R                  U5      P[        R                  " [        U5      /S9  g )Nonesidedinverser  rD  rY	  r  r  r  r|  r<   r}  r  r  rD  r  r  r  r  r   r   r   r   rG   r   rS   r   r   onesfloat32flattenry   r   r   r   )rI   r   r+   _test_aspectr:  rD  rl	  rm	  expected_shape
attributesrK   value_infosrn   s                r,   test_dftTestShapeInference.test_dftK!  s   f 
%-z"$+y!R<%)6"uwmhZN:NOEKb= =")&+2C2CR$Q	 e%:XJU*U  6fk>O>OQSTU e%6
QjQ !   I%#))#2::>FFH		
  !
$ 	&w0A0A;O 'x1B1BNS
 "..{GDE 	 	
re   ))rZ	  r[	  NNNr:   r  r:   )r\	  r]	  r   r   r   )r  r0   r:  r:   )r_	  r]	  r   r   r   )r   r  r:  r:   )r`	  r]	  r:   r   r   r   r0   r  r:   )ra	  r]	  r  r   r   r{	  )rb	  r]	  r   r   r   )   r0   r:  r:   )rc	  r]	  r   r   r   )r   r|	  r:  r:   )rd	  r]	  r:   r   r   r   r0   r|	  r:   )rf	  r]	  r  r   r   r}	  )rg	  r,  NNNrz	  )rh	  r,  r   r   N)r:   r|	  r:   )ri	  r[	  r   Nr   rz	  )rj	  r,  r   Nr   rz	  c	                t   0 n	Ub  XiS'   Ub  XyS'   Sn
US:  a]  Ub  XYS'   [        S/ S/[        S[        R                  SU
45      S	9[        S
SS/S/40 U	D6/n[	        S[        R                  S5      /nOUS:  d   eUb  [        S/ S/[        S[        R                  SU45      S	9[        S/ S/[        S[        R                  SU
45      S	9[        S
/ SQS/40 U	D6/n[	        S[        R                  S5      [	        S[        R                  S5      /nOU[        S/ S/[        S[        R                  SU
45      S	9[        S
/ SQS/40 U	D6/n[	        S[        R                  S5      /nU R                  / [        S/ S/[        S[        R                  U[        R                  " U[        R                  S9R                  5       5      S	9/UQ/ 5      nU R                  U[	        S[        R                  U5      /UQ[	        S[        R                  U5      P[        R                  " [        U5      /S9  g )Nrl	  rm	  r  r  rD  r|  
dft_lengthr<   r}  rY	  r  r  r  r	  rD  )r  r	  r  r  r   rp	  )rI   r   r+   rt	  r:  rD  rl	  rm	  ru	  rv	  r	  rK   rw	  rn   s                 r,   test_dft_dft_length&TestShapeInference.test_dft_dft_length!  s   f 
%-z"$+y!
R<%)6"!N%$k&7&7j]	 %'<!88*S
S
E 2,@Q@QSUVWKb= =")&+2C2CR$Q	 "%)(+*;*;R*	 e%Dxj_T^_$ +<9J9JBO*6;3D3DbI "%)(+*;*;R*	 e%@8*[PZ[
 +<9J9JBO
   I%#))#2::>FFH		
  !
$ 	&w0A0A;O 'x1B1BNS
 "..{GDE 	 	
re   ))r  r   )last_negativer!   )out_of_ranger   )out_of_range_negativer  c                6   U R                  / [        S/ S/[        S[        R                  S[
        R                  " S[
        R                  S9R                  5       5      S9[        SSS/S/S	US
9// 5      nU R                  [        R                  R                  5         U R                  U[        S[        R                  S5      [        S[        R                  S5      /[        R                   " ["        S5      /S9  S S S 5        g ! , (       d  f       g = f)Nr|  r  r:   r0   r0   r:   r  r}  rY	  r  r  r   )rl	  rD  r:   r   r0   r:   r'  r   )rS   r   r   r   r   r   rq	  rr	  rs	  r   r[   r\   r   ry   r   r   r   r   rI   r   rD  rn   s       r,   test_dft_invalid_axis_opset170TestShapeInference.test_dft_invalid_axis_opset17H"  s       I%#))$BJJ?GGI		
 %'2
QTR !
$ t33BBC!!*7K4E4E|T*8[5F5FU  &22;CD "  DCCs   !A D


Dc                   U R                  / [        S/ S/[        S[        R                  S[
        R                  " S[
        R                  S9R                  5       5      S9[        S/ S/[        S[        R                  SU45      S9[        S/ S	QS
/5      // 5      nU R                  [        R                  R                  5         U R                  U[        S[        R                  S5      [        S[        R                  S5      [        S
[        R                  S5      /[         R"                  " [$        S5      /S9  S S S 5        g ! , (       d  f       g = f)Nr|  r  r	  r  r}  rD  r<   rY	  rn	  r  r	  r  r   )rS   r   r   r   r   r   rq	  rr	  rs	  rG   r   r[   r\   r   ry   r   r   r   r   r	  s       r,   test_dft_invalid_axis_opset200TestShapeInference.test_dft_invalid_axis_opset20m"  s1      I%#))$BJJ?GGI		
 H%fk.?.?dWM	 %!6
C%( -
0 t33BBC!!*7K4E4E|T*6;3D3DbI*8[5F5FU
  &22;CD "  DCCs   A:E
E)real)r:   r0   r0   r   )complexr	  c                   U R                  S[        R                  S4/[        S/ S/[	        S[        R
                  U[        R                  " U[        R                  S9R                  5       5      S9[        S/ SQS	/5      // 5      nU R                  U[        S[        R
                  U5      [        S	[        R
                  S
5      /[        R                  " [        S5      /S9  g )NrD  r<   r|  r  r  r}  rY	  rn	  r  r	  r  r   rS   r   rG   r   r   r   r   rq	  rr	  rs	  ry   r   r   r   r   rI   r   r~   rn   s       r,   test_dft_dynamic_axis_opset200TestShapeInference.test_dft_dynamic_axis_opset20"  s       k'',-I%#))RZZ8@@B		
 %!6
C !
$ 	&w0A0A5I&x1B1BLQ "..{B?@ 	 	
re   c                   U R                  S[        R                  S4/[        S/ S/[	        S[        R
                  U[        R                  " U[        R                  S9R                  5       5      S9[        S/ S/[	        S[        R                  S[        R                  " S/[        R                  S95      S9[        S	/ S
QS/SS9// 5      nU R                  U[        S[        R
                  U5      [        S[        R                  S5      [        S[        R
                  S5      /[        R                  " [         S5      /S9  g )NrD  r<   r|  r  r  r}  r	  r  rY	  r	  r  r   rl	  NNNr:   r  r   )rS   r   rG   r   r   r   r   rq	  rr	  rs	  r  r  ry   r   r   r   r   r	  s       r,   1test_dft_dynamic_axis_onesided_dft_length_opset20DTestShapeInference.test_dft_dynamic_axis_onesided_dft_length_opset20"  s9      k'',-I%#))RZZ8@@B		
 !N%$#))"RXX6		
 :XJQR/6 ;
> 	&w0A0A5I&|[5F5FK&k//1F "..{B?@ 	 
	
re   c                   U R                  S[        R                  S4/[        S/ S/[	        S[        R
                  U[        R                  " U[        R                  S9R                  5       5      S9[        S/ SQS	/S
S9// 5      nU R                  U[        S[        R
                  U5      [        S	[        R
                  S5      /[        R                  " [        S5      /S9  g )NrD  r<   r|  r  r  r}  rY	  rn	  r  r   r	  r	  r  r   r	  r	  s       r,   &test_dft_dynamic_axis_onesided_opset209TestShapeInference.test_dft_dynamic_axis_onesided_opset20"  s       k'',-I%#))RZZ8@@B		
 %!6
QO !
$ 	&w0A0A5I&k//1F "..{B?@ 	 		
re   c                   U R                  / [        S/ S/[        S[        R                  S[
        R                  " S[
        R                  S9R                  5       5      S9[        SSS/S/S	S
9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /[        R                  " [        S5      /S9  g )Nr|  r  r	  r  r}  rY	  r  r  r   r	  r	  r'  r   rS   r   r   r   r   r   rq	  rr	  rs	  ry   r   r   r   r   r   s     r,   &test_dft_onesided_default_axis_opset179TestShapeInference.test_dft_onesided_default_axis_opset17#  s      I%#))$BJJ?GGI		
 %'2
QG !
$ 	&w0A0A<P&x1B1BLQ "..{B?@ 	 	
re   c                   U R                  / [        S/ S/[        S[        R                  S[
        R                  " S[
        R                  S9R                  5       5      S9[        S/ SQS/S	S
9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      /[        R                  " [        S5      /S9  g )Nr|  r  r	  r  r}  rY	  ro	  r  r   r	  )r:   r0   r   r:   r  r   r	  r   s     r,   &test_dft_onesided_default_axis_opset209TestShapeInference.test_dft_onesided_default_axis_opset202#  s      I%#))$BJJ?GGI		
 %!2XJK !
$ 	&w0A0A<P&x1B1BLQ "..{B?@ 	 	
re   c                   U R                  / [        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R
                  SS5      S9[        S/ S	/[        S	[        R
                  S
S5      S9[        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R
                  S5      [        S	[        R
                  S
5      [        S[        R                  S5      /5        U R                  / [        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R
                  SS5      S9[        S/ S	/[        S	[        R
                  S
S5      S9[        S/ S/[        S[        R
                  SS
5      S9[        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R
                  S5      [        S	[        R
                  S
5      [        S[        R
                  S5      [        S[        R                  S5      /5        U R                  / [        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R
                  SS5      S9[        S/ S/[        S[        R
                  SS
5      S9[        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R
                  S5      [        S[        R
                  S5      [        S[        R                  S5      /5        g )Nr|  signal)r:   r:  r   )r   r   r   r   r   r   r   r   r   r   r:   r:   r:   r:   r:   r   r   r   r   r   r}  
frame_stepr<   r   windowr  r=  STFT)r	  r	  r	  r  r	  frame_length)r	  r	  r  r	  )rS   r   r   r   r   rG   ry   r   r   s     r,   test_stft_reals"TestShapeInference.test_stft_realsO#  sy     J% #))"T		
 !N%lK4E4Er4P	 J% +"3"3T?	 &"DxjQ58 =
B 	&x1B1BJO&|[5F5FK&x1B1BDI&x1B1BLQ		
   J% #))"T		
 !N%lK4E4Er4P	 J% +"3"3T?	 #$%nk6G6GTR	 &"DxjQA!D I%
N 	&x1B1BJO&|[5F5FK&x1B1BDI&~{7H7H"M&x1B1BLQ		
   J% #))"T		
 !N%lK4E4Er4P	 #$%nk6G6GTR	 H8*18 =
B 	&x1B1BJO&|[5F5FK&~{7H7H"M&x1B1BLQ		
re   c                    U R                  / [        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R                  SS5      S9[        S/ S	/[        S	[        R
                  SS
5      S9[        S/ S/[        S[        R
                  SS5      S9[        S/ SQS/5      // 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S	[        R
                  S5      [        S[        R
                  S5      [        S[        R
                  S5      /5        g )Nr|  num_mel_binsr<   rf  r}  r	  rz  sample_ratelower_edge_hertzg      $@upper_edge_hertzg      Y@MelWeightMatrixr	  r	  r	  r	  r	  r  r  r:  )rS   r   r   r   rG   r   ry   r   r   s     r,   test_melweightmatrix'TestShapeInference.test_melweightmatrix#  s     #$%nk6G6GUS	 !N%lK4E4Er6R	 "O%m[5F5FER	 '(%*K,=,=r7	 '(%*K,=,=r8	 % J
G.^ c2
f 	&~{7H7H"M&|[5F5FK&}k6G6GL&'9;;L;LbQ&'9;;L;LbQ&x1B1BHM
	
re   c                :   U R                  / [        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R                  SS5      S9[        S/ S/[        S[        R                  SS5      S9[        S/ S	/[        S	[        R
                  SS
5      S9[        S/ S/[        S[        R
                  SS5      S9[        S/ SQS/[        R                  S9// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S5      [        S[        R                  S5      [        S	[        R
                  S5      [        S[        R
                  S5      [        S[        R                  S5      /5        g )Nr|  r	  r<   rf  r}  r	  rz  r	  r	  r	  r	  r	  r	  r	  r  )output_datatyper	  )	rS   r   r   r   rG   r   r  ry   r   r   s     r,   )test_melweightmatrix_with_output_datatype<TestShapeInference.test_melweightmatrix_with_output_datatype$  s     #$%nk6G6GUS	 !N%lK4E4Er6R	 "O%m[5F5FER	 '(%*K,=,=r7	 '(%*K,=,=r8	 % J$/$6$6G/` e3
h 	&~{7H7H"M&|[5F5FK&}k6G6GL&'9;;L;LbQ&'9;;L;LbQ&x1C1CXN
	
re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS/S	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        S5      /S9  g )N
input_data)r  r:  r   r~   r   CenterCropPadr   r   r   r  r:  ri  r  r:  ri  r   r  r   r!  r   s     r,   test_center_crop_pad_hwc_crop0TestShapeInference.test_center_crop_pad_hwc_cropY$        {00+>+++T2 w(?#aQRVTU$Wk.?.?wOP ! 
 	#C):):JGH!..{B?@ 	 	
re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS/S	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        S5      /S9  g )Nr	  )r   r  r:  r~   r   r	  r   r   r:   r  r	  r  )r   r:  ri  r  r   r!  r   s     r,   test_center_crop_pad_chw_crop0TestShapeInference.test_center_crop_pad_chw_cropi$  r	  re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS/S	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        S5      /S9  g )Nr	  )r:  r:  r   r~   r   r	  r   r   r   r  r  ri  r  )r  ri  r   r  r   r!  r   s     r,    test_center_crop_pad_hwc_croppad3TestShapeInference.test_center_crop_pad_hwc_croppady$  r	  re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS/S	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        S5      /S9  g )Nr	  )r   r:  r:  r~   r   r	  r   r   r:   r  r	  r  )r   r  ri  r  r   r!  r   s     r,    test_center_crop_pad_chw_croppad3TestShapeInference.test_center_crop_pad_chw_croppad$  r	  re   c                   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S 5      /[        R                  " [        S5      /S9  g )	Nr	  r  r~   r   r	  r   r  r   r-  r   s     r,   (test_center_crop_pad_without_input_shape;TestShapeInference.test_center_crop_pad_without_input_shape$  s      {00&9+++T2 w(?#GH
 	#C):):DAB!..{B?@ 	 	
re   c                P   U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS/S	9// [        S[        R                  SS
5      /S9nU R                  U[        S[        R                  S5      /[        R                  " [        S5      /S9  g )Nr	  )r  r@  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_paramsNTestShapeInference.test_center_crop_pad_with_input_shape_containing_dim_params$  s       {00,?+++T2 w(?#aQRVTU$Wk.?.?wOP ! 
 	#C):):JGH!..{B?@ 	 	
re   c           	        [        SS/S/[        S9nU R                  S[        R                  S4/U// 5      nU R                  U[        S[        R                  S5      /[        [        S5      [        [        S5      /S9  U R                  S[        R                  S	4/U// 5      nU R                  U[        S[        R                  S	5      /[        [        S5      [        [        S5      /S9  g )
NCategoryMapperrL   r   r  r   r   r  r   )r   r0   r   )
r   r   rS   r   rG   ry   r   r   r   r   )rI   cat	graph_int	graph_strs       r,   test_category_mapper'TestShapeInference.test_category_mapper$  s   EE!	
 $$;$$j12E
	
 	#C););ZHI^Q/["- 	 	
 $$;%%z23E
	
 	#C):):JGH^Q/["- 	 	
re   c           	        [        SS/S/[        SS9nU R                  S[        R                  S4/U// 5      nU R                  U[        S[        R                  S5      /[        [        S5      [        [        S	5      /S
9  g )NTreeEnsembleRegressorrL   r   r0   )r(   	n_targetsr   r   r   r0   r   r  r   )
r   r   rS   r   r  ry   r   r   r   r   rI   treern   s      r,   test_tree_ensemble_regressor/TestShapeInference.test_tree_ensemble_regressor$  s    #EE!
   ;%%w/0F

 	#C):):GDE^Q/["- 	 	
re   c           	     B   [        SS/SS// SQ[        S9nU R                  S[        R                  S4/U// 5      nU R                  U[        S[        R                  S5      [        S[        R                  S	5      /[        [        S
5      [        [        S5      /S9  g )NTreeEnsembleClassifierrL   r   r   )r   r   r:   r   r   )classlabels_int64sr(   r	  )r   r	  r   r  r   )r   r   rS   r   r  ry   r   rG   r   r   r   r	  s      r,   test_tree_ensemble_classifier0TestShapeInference.test_tree_ensemble_classifier$  s    $E#J.!
   ;%%w/0F

 	&sK,=,=uE&sK,=,=wG
 ^Q/["- 	 
	
re   c                H   [        SSS/S/[        S9nS H  u  p#U R                  S[        R                  S4S[        R                  U4/U// 5      nU R                  U[        S[        R                  SS	U45      /[        [        S5      [        [        S
5      /S9  M     g )NArrayFeatureExtractorrL   r   r   r  ))r   r:   )r<   r  )r  r  r<  r   r   r  r   	r   r   rS   r   rG   ry   r   r   r   )rI   node
axes_shapeexpectedrn   s        r,   test_array_feature_extractor/TestShapeInference.test_array_feature_extractor%  s    ##JE!	
%
 J
 $$+++Y7+++Z8 E !!'[->->Ax@PQR 3 b1 " %
re   c           	        [        SS/S/[        S9nU R                  S[        R                  S4/U// 5      nU R                  U[        S[        R                  S5      /[        [        S5      [        [        S5      /S9  g )	N	BinarizerrL   r   r  r<  r   r  r   r	  )rI   r	  rn   s      r,   test_binarizer!TestShapeInference.test_binarizer,%  s    EE!	
   k''3 F
 	#C):):IFG^Q/["- 	 	
re   c                    U R                  S[        R                  S4/[        SS/S// SQSS9// 5      nU R	                  U[        S[        R                  S5      /[        [        S	5      [        [        S
5      /S9  g )Nr  )r:   r  r   OneHotEncoderr  r  
ai.onnx.ml)cats_int64sr(   r:   r  r   r   r   r  r   )
rS   r   rG   r   ry   r   r   r   r   r   r   s     r,   test_one_hot_encoder'TestShapeInference.test_one_hot_encoderD%  s      {((+67#IJ ,' 
 	#Hk.?.?PQ^Q/["- 	 	
re   c                   S/ SQ0[         R                  R                  4S/ SQ0[         R                  R                  44nU H.  u  p#U R	                  X#S9   U R                  X#5        S S S 5        M0     g ! , (       d  f       MB  = f)Nr	  r  classlabels_strings)r   r   c)attrsr~  )r[   r   rG   r   subTestzip_map_test_case)rI   paramsr 
  r~  s       r,   test_zip_mapTestShapeInference.test_zip_map\%  sx     #I.0@0@0F0FG#_5t7G7G7N7NO
 "(EEA&&u9 BA "(AAs   A66
B	c           	        U R                  S[        R                  S4/[        SS/S/40 UDSS0D6// 5      n[        R
                  R                  U[        R
                  R                  [        R                  S5      5      nU R                  U[        R
                  R                  S[        R
                  R                  U5      5      /[        [        S5      [        [        S	5      /S
9  g )Nr  )r  r   ZipMapr  r(   r	  r<   r   r  r   )rS   r   r   r   r[   r   make_map_type_protor4  ry   r6  r<  r   r   r   )rI   r 
  r~  rn   typs        r,   r
  $TestShapeInference.zip_map_test_casef%  s      {(((34IJ 	
 ( 
 kk--::;;L;LbQ
 	++dkkBB3G ^Q/["- 	 	
re   c                    U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/5      // 5      nU R                  U[        S[        R                  S5      /5        g )Nr  r	  r   r>   Compressr  rS   r   rG   rx  r   ry   r   r   s     r,   test_compress_without_axis-TestShapeInference.test_compress_without_axis%  sx      +++^<k..8 zG[#9H:FG
 	e&<X{GXGXZa&b%cdre   c           
         U R                  S[        R                  S4S[        R                  S4/[	        SSS/S/SS9// 5      nU R                  U[        S[        R                  S	5      /5        g )
Nr  r	  r   r>   r
  r  r!   rC  )r:   r  r   Nr
  r   s     r,   test_compress_with_axis*TestShapeInference.test_compress_with_axis%  sz      +++^<k..8 zG[#9H:BOP
 	e&<X{GXGXZk&l%mnre   r<   N)r   r   )r   r   r`   r   r   r   )r   Sequence[int]r   r
  r   r   )r   r   r   r   r   r   r   r   )r   r   r~  zTensorProto.DataTyper   r   )
r  intr  r
  r  r
  r  r
  r   r   )forward)r  r
  r  r
  r  r
  r  r
  rN  r   r   r   )
r~   r
  r  r
  r  r
  r[  r
  r   r   )r   r   r+   r
  rt	  r   r:  
tuple[int]rD  
int | Nonerl	  r
  rm	  r
  ru	  r
  r   r   )r   r   rD  r
  r   r   )r   r   r~   ztuple[int, ...]r   r   (  r   r   r   r   r   r   r   expandr5   r   r   r   r   r   r   r   r   r   r   r  r  r  r"  r)  r/  r7  r>  rE  rL  rP  rT  rW  r\  rb  re  rk  rn  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.  r1  r4  r8  r<  rC  rA  rM  rL  rS  rV  r_  rc  rg  rl  rp  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-  r9  r>  rB  rG  rQ  rU  rX  r\  r_  rc  rf  rj  rn  rr  rv  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(  r4  r9  r?  rB  rF  rI  rL  rO  rR  rX  r[  r^  ra  rg  ro  rw  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  r6  r:  rD  rH  rL  rO  rS  rV  rY  r_  rb  rf  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  r3  r=  r@  rD  rG  rL  rO  rS  rW  rZ  r^  rb  rg  ro  rr  rv  r|  r  r  unittest
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.  r4  r7  r:  r?  rD  rH  rN  rQ  rT  rW  rZ  r]  r`  rd  rg  rl  ro  rt  rw  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-  r0  r4  r<  rC  rH  rM  rR  rV  rY  r]  ra  rg  rj  rm  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?	  rD	  rH	  rO	  rS	  rW	  	itertoolsproductrx	  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   )	.0r'   r+   test_aspectr:  rD  rl	  rm	  ru	  s	   000000000r,   r   r      sw   V
 *;78

 9

 *;78

 9

 *;78
 9
 *;78

 9

 *;78V 9V *;78V 9V *;78V 9V
,
6C
	
$ *845J 6J
"
,/
EH
	
 *845H 6H  *623

 4

 *:67

 8

 *845
 6
0 *845
 6
6 *845
 6
6 *845
 6
6 *845
 6
0 *845

 6

 *845
V 6
V *845

 6

 *845

 6

 *845

 6

 *956
 7
 *956

 7

 *956

 7

 *956
 7
 *956
 7
 *956
 7
 *956
 7
" *956
 7
. *:67'B 8'BR *:67-B 8-B^ *845
 6
 *845
 6
 *845
 6
* *845
 6
  *845
 6
" *8456 66p *845
 6
$ *845
 6
$ *845
 6
8 *845
 6
: *845
 6
8 *845
 6
: *845
 6
( *845
 6
$ *845
 6
$ *845
 6
4 *845 
 6 
D *845
 6
@ *734

 5

 *734
 5
 *734
 5
 *734
 5
 *734
 5
 *734
 5
 *623
 4
 *845

 6

 *845

 6

 *845

 6

 *+;<=

 >

 *+;<=

 >

 *956( 7(
  *956. 7.
  *+<=>
 ?
  *+<=>
 ?
  *;78
 9
  *;78
 9
2 *956 7< *>:;
 <
 *>:;
 <
 *+;<=

 >

 *+;<=

 >

	
	
	
	


0e 
*
*
(
(
,_(_(_,a$
(
,





"
$

	m

&

($(
2
&
<




#



$

"ae




#7

	

KJKOLMO
SV


c	
j	


&)
47
EH
	
8)

&)
47
EH
	
@9 #*
*
 *
 	*

 *
 *
 
*
X/ 
 
&) 
47 
EH 
	 
D*


.
 





"
"


 
 

	





@@
(
(V$


$



$
(











&
&
&
&

&
(
&
&
(
&



&
&



&

(







"
,
,
,
,
.
6
*
8
t7
r9
v7
r7
r*
X(
T&hPe4e4B;H
"
,
e
h4
l'
R
6
"
"
6
,
,
,

m(
#
J!
F!
F!
F!
FmB!
F&
#&
-:&
	&
P9"
"
#&"
<?"
	"
HF
#
-:
	
29




&

 
.
"	

&k "QR
 S
8 "QR
 S
8q(
p
h ,3(4O
O
b ,3(4"
"
H ,3(4B
	B
B
H  %	
  
$`






&e 


	bk
2

2
2
<
<
8
4
0
0
8
4
2
 
 


.


 
 
2
.
.
.
.
6
6
@#
J!
F'
R%
N,
\


*e.
	]e[[q`e


$
kq
V` `(^ ^(g&g(^&^	^,V*J*][	b	[
(>,"!,
LL

bb_b
8
8
8j*s*
8dgbd:: :M,
*
<?  *=9:
 ;
( *=9:
 ;
( *=9:
 ;
$ *=9:
 ;
" *=9:
 ;
&K*^4
c
8%
N
,
*
,
,
$
$
,
4'
R'
R=
~=
~&
P)
V)
V)
V & "" '%$	
 $	
$ " 	"%$	
 $	
&NE
E
 E
 	E

  E
 E
 E
 E
 #E
 
E
O&NE
N & "" '%$	
 $	
$ " 	"%$	
 $	
&Nf
f
 f
 	f

  f
 f
 f
 f
 #f
 
f
O&Nf
P 	
: 	
""H "%	


8 "%	
,
,
,,
	,
,
\ "%	


,
	

@
:
:G
R>
@?
B
 
 
 
 

$ "QR 
 S 
D "QR
 S
, "QR
 S
2 "QR S: "QR
 S
. "QR
 S
. "QR: S:
<	e	o 	oG"$	
 $	
\$	
 $	
s   T$ A_'V# A_4r   __main__)r)   r   r   zset[int])r3   r   r   zlist[tuple[str, int]])6
__future__r   r
  r
  typingr   r   numpyr   r   r   onnx.shape_inferencer[   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_schemasr'   r(   	frozensetr.   __annotations__r5   TestCaser7   r   r   main)r)   s   0r,   <module>r,
     s   
 #       '       $	 &&(:( KK&--+A&+I!JKK(:6 "K x00 K \vRo1 vRore zMMO }j:s   /C9