
    wi*                      U d dl mZ d dlZd dlZd dlZd dlmZmZ d dlZ	d dl
Z
d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZm Z  d dl!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* erd d	l+m,Z, ddZ-d  ej.                    D             Z/de0d<   d dZ1 G d dej2                  Z3 G d de3          Z4 G d de3          Z5e6dk    r ej7        d           dS dS )!    )annotationsN)TYPE_CHECKINGAny)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_graph	make_nodemake_opsetidmake_tensormake_tensor_sequence_value_infomake_tensor_value_info)parse_graph)Sequenceschemar   returnset[int]c                    t                      }t          | j        dd          D ]L}	 |                    t	          j        | j        || j                  j                   <# t          $ r Y  nw xY w|S )Nr   )	setrangesince_versionaddr   
get_schemanamedomainr   )r"   versionsversions      n/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/onnx/test/shape_inference_test.pyget_available_versionsr1   6   s    H-q"55  	LLWfmDDR     	 	 	EE	Os   8A!!
A/.A/c           	     `    i | ]+}|j         |j        t          t          |                    f,S  )r,   r-   	frozensetr1   ).0r"   s     r0   
<dictcomp>r6   B   sD     : : : K&-+A&+I+I!J!JK: : :    z%dict[str, tuple[str, frozenset[int]]]ALL_OP_VERSIONSop_namestrlist[tuple[str, int]]c                    t           |          \  }|st          d|            t          |          }fd|D             S )Nz#No versions available for operator c                @    g | ]}|d k    st           k    d| |fS )   r/   )r   )r5   r/   r-   s     r0   
<listcomp>z$all_versions_for.<locals>.<listcomp>M   sL     	 	 	
  Q;;&K//  g	
 0//r7   )r8   
ValueErrorsorted)r9   versions_setr.   r-   s      @r0   all_versions_forrC   H   sl    *73FL JHwHHIIIl##H	 	 	 	
  	 	 	 	r7   c                  8    e Zd Z	 dddZddZddZddZd ZdS ) TestShapeInferenceHelperNseed_values5Sequence[str | tuple[str, TensorProto.DataType, Any]]nodeslist[NodeProto]
value_infolist[ValueInfoProto]initializerSequence[TensorProto] | Noner#   r   c                D   |g }d |D             }g }|D ]}t          |t                    r|d d         \  }}	t          | }
n|t          j        }	}t          |          }
||v r|                    |
           e|                    |
           |                    t          d|z   |	d                     |                    t          d|z   t          j        d                     t          dd|z   d|z   g|g          g|d d<   t          j
        |d	|g ||
          S )Nc                    h | ]	}|j         
S r3   r,   r5   xs     r0   	<setcomp>z7TestShapeInferenceHelper._make_graph.<locals>.<setcomp>c   s    <<<1<<<r7      SEED_r3   UNKNOWN_SHAPE_NReshaper   test)rL   rJ   )
isinstancetupler   r   	UNDEFINEDr   appendINT64r   r   r   )selfrF   rH   rJ   rL   names_in_initializerinput_value_infos
seed_value	seed_name
proto_typeseed_value_infos              r0   _make_graphz$TestShapeInferenceHelper._make_graphZ   s    K<<<<< & 	 	J*e,, K(22A2%	:"8*"E(2K4I:	">z"J"J000!((9999!!/222!((*7Y+>
BOO   "((*(94k6G    ! 9,.>.JK" bqb		  #!
 
 
 	
r7   graph_or_modelGraphProto | ModelProtokwargsr   r	   c                    |                     dd          }t          |t                    rd|d<   t          j        |fi |}n|}t
          j                            |d|          }t          j	        |           |S )N	data_propFz	onnx-testproducer_nameT)strict_moderk   )
poprZ   r   r   
make_modelonnxshape_inferenceinfer_shapesr   check_model)r_   rg   ri   rk   
orig_modelinferred_models         r0   	_inferredz"TestShapeInferenceHelper._inferred   s     JJ{E22	nj11 	(&1F?#*>DDVDDJJ'J-::DI ; 
 
 	N+++r7   visNonec                  	 t          |t                    r|n|j        }d |D             		fd|j        D             |z   } | j        |fi |}t          |j        j                  }t          |d           }t          |d           }t          |          t          |          k    sJ t          ||d          D ]%\  }}| 	                    |j
        |j
                   &d S )Nc                    h | ]	}|j         
S r3   rP   rQ   s     r0   rS   z<TestShapeInferenceHelper._assert_inferred.<locals>.<setcomp>   s    ,,,1,,,r7   c                &    g | ]}|j         v|S r3   rP   )r5   rR   names_in_viss     r0   r?   z=TestShapeInferenceHelper._assert_inferred.<locals>.<listcomp>   s%    IIIQafL.H.Hq.H.H.Hr7   c                    | j         S rW   rP   rR   s    r0   <lambda>z;TestShapeInferenceHelper._assert_inferred.<locals>.<lambda>   s     r7   )keyc                    | j         S rW   rP   r~   s    r0   r   z;TestShapeInferenceHelper._assert_inferred.<locals>.<lambda>   s    !& r7   T)strict)rZ   r   graphrJ   rv   listrA   lenzip_compare_value_infostype)
r_   rg   rw   ri   r   ru   inferred_visv
inferred_vr|   s
            @r0   _assert_inferredz)TestShapeInferenceHelper._assert_inferred   s    .*55&NN% 	
 -,,,,IIII%*IIICO'AA&AAN0;<<S..///l0@0@AAA3xx3|,,,,,, l4@@@ 	? 	?MAz%%afjo>>>>	? 	?r7   vi_typer   inferred_vi_typec                0   |                     d          r|                     d          sJ |j                             d          sJ |j                             d          sJ |j        j        |j        j        k    sJ |j                             d          |j                             d          k    sJ |j                             d          rt          |j        j        j                  t          |j        j        j                  k    sJ t          |j        j        j                  D ]h\  }}|j        j        j        |         }|j        r"|j        |j        k    sJ d| d| d            E|j        |j        k    sJ d| d| d            gd S d S |                     d          rG|                     d          sJ |j	        j        }|j	        j        }| 
                    ||           d S |                     d          rG|                     d          sJ |j        j        }|j        j        }| 
                    ||           d S |                     d          r_|                     d          sJ |j        j        |j        j        k    sJ | 
                    |j        j        |j        j                   d S |t          j                    k    r|t          j                    k    sJ d S t#          dt%          |                    )	Ntensor_type	elem_typeshape
sequence_typeoptional_typemap_typez6Unrecognized value info type in _compare_value_infos: )HasFieldr   r   r   r   dim	enumerate	dim_param	dim_valuer   r   r   r   key_type
value_typerp   r   NotImplementedErrorr:   )r_   r   r   dim_ir   inferred_dimviinferred_vis           r0   r   z-TestShapeInferenceHelper._compare_value_infos   s    M** .	#,,];;;;;&//<<<<<#/88EEEEE#-1A1M1WWWWW&// !-66w??@ @ @ @ "++G44 7.4899S$06:> >     #,G,?,E,I"J"J 
 
JE3#3#?#E#I%#PL} "}0FFFF@@@,<@@@  GFFF  #}0FFFF@@@,<@@@  GFFF 
 
 o.. 	#,,_=====&0B*8BK%%b+66666o.. 	#,,_=====&0B*8BK%%b+66666j)) 	#,,Z88888#,0@0IIIII%% +-=-F-Q     ((((#t~'7'7777777%H#g,,  r7   c                6    |rt          j        |           d S d S rW   )pytestskip)r_   	conditionreasons      r0   skipIfzTestShapeInferenceHelper.skipIf   s*     	 K	  	 r7   rW   )
rF   rG   rH   rI   rJ   rK   rL   rM   r#   r   )rg   rh   ri   r   r#   r	   )rg   rh   rw   rK   ri   r   r#   rx   )r   r   r   r   r#   rx   )__name__
__module____qualname__rf   rv   r   r   r   r3   r7   r0   rE   rE   Y   s         59/
 /
 /
 /
 /
b   ? ? ? ?*1 1 1 1f         r7   rE   c                  6   e Zd ZdadZdbdZ ej         ed	                    dad
            Z ej         ed	                    dad            Z	 ej         ed	                    dad            Z
 ej         ed	                    dad            Z ej         ed	                    dad            Z ej         ed	                    dad            Z ej         ed	                    dad            ZdcdZ ej         ed                    dad            ZdddZ ej         ed                    dad            Z ej         ed                    dad            Z ej         ed                     ej        d          dad                        Z ej         ed                    dad            Z ej         ed                     dad!            Z ej         ed                     dad"            Z ej         ed                     dad#            Z ej         ed                     dad$            Z ej         ed                     dad%            Z ej         ed&                    dad'            Z ej         ed&                    dad(            Z ej         ed&                    dad)            Z ej         ed&                    dad*            Z  ej         ed&                    dad+            Z! ej         ed,                    dad-            Z" ej         ed,                    dad.            Z# ej         ed,                    dad/            Z$ ej         ed,                    dad0            Z% ej         ed,                    dad1            Z& ej         ed,                    dad2            Z' ej         ed,                    dad3            Z( ej         ed,                    dad4            Z) ej         ed5                    dad6            Z* ej         ed5                    dad7            Z+ ej         ed8                    dad9            Z, ej         ed8                    dad:            Z- ej         ed8                    dad;            Z. ej         ed8                    dad<            Z/ ej         ed8                    dad=            Z0 ej         ed>                    dad?            Z1 ej         ed@                    dadA            Z2 ej         ed>                    dadB            Z3 ej         ed>                    dadC            Z4 ej         ed>                    dadD            Z5 ej         ed>                    dadE            Z6 ej         ed>                    dadF            Z7 ej         ed>                    dadG            Z8 ej         ed>                    dadH            Z9 ej         ed>                    dadI            Z: ej         ed>                    dadJ            Z; ej         ed>                    dadK            Z< ej         ed>                    dadL            Z= ej         ed>                    dadM            Z> ej         edN                    dadO            Z? ej         edN                    dadP            Z@ ej         edN                    dadQ            ZA ej         edN                    dadR            ZB ej         edN                    dadS            ZC ej         edN                    dadT            ZD ej         edU                    dadV            ZE ej         edW                    dadX            ZF ej         edW                    dadY            ZG ej         edW                    dadZ            ZH ej         ed[                    dad\            ZI ej         ed[                    dad]            ZJ ej         ed^                    dad_            ZKdad`ZL ej         ed^                    dada            ZMdadbZN ej         edc                    dadd            ZO ej         edc                    dade            ZP ej         edf                    dadg            ZQ ej         edf                    dadh            ZRdadiZS ej         edj                    dadk            ZT ej         edl                    dadm            ZU ej         edl                    dadn            ZV ej         edo                    dadp            ZW ej         edo                    dadq            ZXdadrZYdadsZZdadtZ[daduZ\dadvZ]dadwZ^dadxZ_dadyZ`dadzZadad{Zbdad|Zcdad}Zddad~ZedadZfdadZgdadZhdadZidadZjdadZkdadZldadZmdadZndadZodadZpdadZqdadZrdadZsdadZtdadZudadZvdadZwdadZxdadZydadZzdadZ{dadZ|dadZ}dadZ~dadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdedZdedZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdfdZdadÄZdfdĄZdadńZ	 dgdhdȄZdadɄZdfdʄZdad˄Zdad̄Zdad̈́Zdad΄ZdadτZdadЄZdadфZdad҄ZdadӄZdadԄZdadՄZdadքZdadׄZdad؄ZdadلZdadڄZdadۄZdad܄Zdad݄ZdadބZdad߄ZdadZdadZdadZdadZdadZdadZÐdadZĐdadZŐdadZƐdadZǐdadZȐdadZɐdadZʐdadZːdadZ̐dadZ͐dadZΐdadZϐdadZАdadZѐdadZҐdadZӐdadZԐdadZՐdadZ֐dadZאdadZؐdadZِdadZڐdadZېdadZܐdadZݐdad ZސdadZߐdadZdadZdadZdadZdadZdadZdadZdad	Zdad
ZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdad Zdad!Zdad"Z dad#Zdad$Zdad%Zdad&Zdad'Zdad(Zdad)Zdad*Zdad+Z	dad,Z
dad-Zdad.Zdad/Zdad0Zdad1Zdad2Zdad3Zdad4Zdad5Zdad6Zdad7Zdad8Zdad9Zdad:Zdad;Zdad<Zdad=Zdad>Zdad?Zdad@ZdadAZdadBZ dadCZ!dadDZ"dcdEZ#dadFZ$dddGZ%dadHZ&dcdIZ'dadJZ( ej        e)j*        j+        e)j*        j,        e)j*        j-        g          dadK            Z.dadLZ/dadMZ0dadNZ1dadOZ2dadPZ3 ej        d          dadQ            Z4 ej        e)j*        j+        e)j*        j,        e)j*        j-        g          dadR            Z5dadSZ6dadTZ7dadUZ8dadVZ9dadWZ:dadXZ;dadYZ<dadZZ= ej>        e?d[          dad\            Z@ ej>        e?d[          dad]            ZAdad^ZBdad_ZCdad`ZDdadaZEdadbZF ej        e?r edc          ng dde          dadf            ZG ej        e?r edc          ng dde          dadg            ZH ej        e?r edc          ng dde          dadh            ZIdidnZJdadoZKdadpZLdadqZMdadrZNdadsZOdadtZPdaduZQdadvZRdadwZSdadxZTdadyZUdadzZVdad{ZWdad|ZXdad}ZYdad~ZZdadZ[dadZ\dadZ]dadZ^dadZ_dadZ`dadZadadZbdadZcdadZddadZedadZfdadZgdadZhdadZidadZjdadZkdadZldadZmdadZndadZodadZpdadZqdadZrdadZsdadZtdadZudadZvdadZwdadZxdadZydadZzdadZ{dadZ|dadZ}dadZ~dadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadZdadÄZdadĄZdadńZdadƄZdadǄZdadȄZdadɄZdadʄZdad˄Zdad̄Zdad̈́Zdad΄ZdadτZdadЄZdadфZdad҄ZdadӄZdadԄZdadՄZdadքZdadׄZdad؄ZdadلZdadڄZdadۄZdad܄Zdad݄Zdބ Zdad߄ZdadZdadZdadZdadZdadZdadZdadZdadZÐdadZĐdadZŐdadZƐdadZǐdadZȐdadZɐdadZʐdadZːdadZ̐dadZ͐dadZΐdadZϐdadZАdadZѐdadZҐdadZӐdadZԐdadZՐdadZ ej         ed                    dad            Z ej         ed                    dad            Z ej         ed                    dad            Z ej         ed                    dad            Z ej         ed                    dad             ZېdadZܐdadZݐdadZސdadZߐdadZdadZdadZdadZdad	Zdad
ZdadZdadZdadZd Zd Zd Zd Zd Zd Zd Zd Z ej        d  ej         ed          d          D                       djd#            Z ej        d$  ej         ed          d%          D                       djd&            Z ej        g d'          dkd(            Z ej        g d'          dkd)            Z ej        d*d+g          dld-            Z ej        d*d+g          dld.            Z ej        d*d+g          dld/            Zdad0Zdad1Zd2 Zd3 Zd4 Zd5 Zd6 Z d7 Zd8 Zd9 Zd: Z ej>        e?d[          dad;            Z ej        g d<d=d>gfg d<d?fd?g d@fdAg           ej>        e?d[          dadB                        Z ej>        e?d[          dadC            Z ej        e*j+        e*j        e*j,        g           ej>        e?d[          dadD                        Z	 ej        dEgdFz   e
dGe*j        dHdIgdJz             e
dKe*j        dLdIgdMz            fdEgdMz   e
dGe*j+        dHdIgdJz             e
dKe*j        dLdIgdMz            fdEgdMz   e
dGe*j        dNdIgdOz             e
dKe*j        dLdIgdMz            fdEgdMz   e
dGe*j        dHdIgdJz             e
dKe*j+        dLdIgdMz            fg           ej>        e?d[          dadP                        Z ej>        e?d[          dadQ            Z ej>        e?d[          dadR            Z ej>        e?d[          dadS            Z ej>        e?d[          dadT            Z ej        g d<g d@fdAg           ej>        e?d[          dadU                        Z ej>        e?d[          dadV            ZdadWZdadXZdadYZdZ Zd[ Zd\ Zd] Zd^ Z ej         ed_                    d`             Zd?S (m  TestShapeInferencer#   rx   c                    |                      dgg g           }|                     t          j        j        | j        |           d S )Ny)rf   assertRaisesrp   rq   InferenceErrorrv   r_   r   s     r0   test_empty_graphz#TestShapeInference.test_empty_graph   sA      #B//$.=t~uUUUUUr7   opr:   ri   r   c                    |                      dt          j        dfgt          |ddfi |gg           }|                     |t          dt          j        d          g           d S )NrR         r>   r   rf   r   FLOATr   r   r   )r_   r   ri   r   s       r0   _identity_propz!TestShapeInference._identity_prop   s      ;$j12r3..v../
 

 	*30A:NNO	
 	
 	
 	
 	
r7   	Transposec           
        |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S 	NXrT      r   r   Y   r   rT   permr   rT   r   opset_imports	rf   r   r   r   r   r   r   r   r   r_   _r/   r   s       r0   test_transposez!TestShapeInference.test_transpose   s      ;$i01{SEC5yyyAAAB
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c           
     F   |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d           g          }|                     |t	          dt          j        d          gt          j        t          |          g           d S r   )	rf   r   r   r   r   r   r   r   r   r   s       r0   test_transpose_preexistingz-TestShapeInference.test_transpose_preexisting  s      ;$i01{SEC5yyyAAAB#C):DAAB
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c                
   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr   r3   r   r   r   r   r   s       r0   test_transpose_scalarz(TestShapeInference.test_transpose_scalar  s      ;$b)*{SEC5112
 
 	#C):B??@!.{GDDE 	 	
 	
 	
 	
 	
r7   c           
     F   |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d          g          }|                     |t	          dt          j        d          gt          j        t          |          g	           d S )
Nr   r   r   r   r   r   )r   abr   r   )
rf   r   r   r   r   r\   r   r   r   r   r   s       r0   test_transpose_partialz)TestShapeInference.test_transpose_partial  s      ;$i01{SEC5yyyAAAB#C)>NNO
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d          g          }|                     t          j        j        | j	        |           d S )Nr   r   r   r   r   r   )r>   r>   r>   )
rf   r   r   r   r   r   rp   rq   r   rv   r_   r   r   s      r0   *test_transpose_preexisting_incorrect_shapez=TestShapeInference.test_transpose_preexisting_incorrect_shape+  s      ;$i01{SEC5yyyAAAB#C):IFFG
 

 	$.=t~uUUUUUr7   c           
        |                      dt          j        dfgt          ddgdgg d          gt	          dt          j        d          g          }|                     t          j        j	        | j
        |           d S )Nr   r   r   r   r   r   r   )rf   r   r   r   r   STRINGr   rp   rq   r   rv   r   s      r0   )test_transpose_preexisting_incorrect_typez<TestShapeInference.test_transpose_preexisting_incorrect_type4  s      ;$i01{SEC5yyyAAAB#C);YGGH
 

 	$.=t~uUUUUUr7   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     t
          j        j        | j        |           d S )Nr   r   r   r   )r   r   r   r   	rf   r   r   r   r   rp   rq   r   rv   r   s      r0   &test_transpose_incorrect_repeated_permz9TestShapeInference.test_transpose_incorrect_repeated_perm=  sq      ;$i01{SEC5yyyAAAB
 

 	$.=t~uUUUUUr7   shape1Sequence[int]shape2c                8   t          j        t          j        t          j        |                                        |          t          j        t          j        |                                        |                    j        }|                     dt          j        |fdt          j        |fgt          dddgdg          gg           }| 
                    |t          dt          j        |          gt          j        t          |          g           d S NrR   r   MatMulzr   )npmatmularangeprodreshaper   rf   r   r   r   r   r   r   r   r   r_   r/   r   r   expected_out_shaper   s         r0    _make_matmul_test_all_dims_knownz3TestShapeInference._make_matmul_test_all_dims_knownF  s     YIbgfoo&&..v66Ibgfoo&&..v66
 
  	   ;$f-[5F/OPx#scU334
 

 	#C):<NOOP!.{GDDE 	 	
 	
 	
 	
 	
r7   r   c                    |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd           |                      |dd	           |                      |d
d	           |                      |dd           |                      |dd	           d S )NrT   r   rT   rT   r   )r>   rT   rT   r   r   rT   rT   r   r   r   rT   r   rT   r   )r   r   rT   r>   r   r   rT   r   r   rT   r   )r   r_   r   r/   s      r0   test_matmul_all_dims_knownz-TestShapeInference.test_matmul_all_dims_knownX  s   --gtTBBB--gvvFFF--gvvFFF--gvvFFF--gvvFFF--gtVDDD--gvtDDD--gy)LLL--gy)LLL--g|\RRR--gvyIIIIIr7   r   c                (   |                      dt          j        |fdt          j        |fgt          dddgdg          gg           }|                     |t          dt          j        |          gt          j        t          |          g           d S r   r   r   s         r0   _make_matmul_test_allow_unknownz2TestShapeInference._make_matmul_test_allow_unknowng  s       ;$f-[5F/OPx#scU334
 

 	#C):<NOOP!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |ddd           |                      |ddd           |                      |ddd           |                      |ddd           |                      |d	dd           |                      |d	d
d           |                      |ddd           |                      |ddd           |                      |dd d            |                      |d d d            d S NrW   r3   r   r   )rT   r   )r   r   )r   r   )r   N)Nr   r   )r   rT   r>   r   r   r>   )r   r   r   rT   r   r   r   r>   )r   r   s      r0   test_matmul_allow_unknownz,TestShapeInference.test_matmul_allow_unknownu  s   ,,WgwKKK,,WdGRHHH,,WdHfMMM,,WfhQQQ,,Wi8TTT,,WihWWW,,Y[	
 	
 	
 	,,\;	
 	
 	
 	,,WdD$GGG,,WdD$GGGGGr7   Castc           	     "   |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   rT   r   r   r  r   tor   )
rf   r   r   r   UINT8r   r   r   r   r   r   s       r0   	test_castzTestShapeInference.test_cast  s      ;$i01vuse0ABBBC
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   zIssue #5960c           	         |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     t          j        j        | j	        |           d S )NrR   r  r  r   r  )
rf   r   r   r   
COMPLEX128r   rp   rq   r   rv   r   s       r0   test_cast_to_complexz'TestShapeInference.test_cast_to_complex  sr    
   ;$i01vuse0FGGGH
 
 	$.=t~uUUUUUr7   CastLikec                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r  tNr  r   r   )
rf   r   r   FLOAT16r   r   r   r   r   r   r   s       r0   test_cast_likez!TestShapeInference.test_cast_like  s      ;$i038KV2TUzC:u556
 

 	#C)<iHHI!.{GDDE 	 	
 	
 	
 	
 	
r7   Col2Imc                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd	          t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Ninput)r   r>   r>   output_shaper   kernel_shaper  r  r  r  outputr>   r>   r   r>   rL   r   r   r>   r>   r   rf   r   r   r^   r   r   r   r   r   r   r   r   s       r0   test_col2imzTestShapeInference.test_col2im  s      ++Y7!2D9!2D9 GGG( 
 NK,=tVLLNK,=tVLL ! 
 
" 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	d	g
          gg t          dt          j        dd          t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   	   r   r  r   r  r  r  r  rT   stridesr  r   r   r  r  r   r  r   s       r0   test_col2im_stridesz&TestShapeInference.test_col2im_strides  s      ++Y7!2D9!2D9 ===JF	   NK,=tVLLNK,=tVLL ! 
 
( 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgg d	
          gg t          dt          j        dd          t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   r>      r  r   r  r  r  r  )r   r   r   r   padsr  r  r  r  r   r  r   s       r0   test_col2im_padsz#TestShapeInference.test_col2im_pads  s      ++Z8!2D9!2D9 ===J%	   NK,=tVLLNK,=tVLL ! 
 
( 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	d
g          gg t          dt          j        dd          t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   r   r>   r  r   r  r  r  r  r   r>   	dilations   r0  rT   rT   r  )r   r   r0  r0  r   r  r   s       r0   test_col2im_dilationsz(TestShapeInference.test_col2im_dilations  s      ++Y7!2D9!2D9 ===J !f	   NK,=tVLLNK,=tVLL ! 
 
( 	#Hk.?NNO!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd	          t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr  )r   
      r  r   r  r  r  r  r   r   r>   )r   r   r>   r  r   rT   r   r   r>   r   r  r   s       r0   test_col2im_5dz!TestShapeInference.test_col2im_5d  s      ++[9!2D9!2D9 GGG( 
 NK,=tYOONK,=tYOO ! 
 
" 	#Hk.?QQR!.{GDDE 	 	
 	
 	
 	
 	
r7   Concatc           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          gt          j        t          |          g
           d S )NrR   r  r   )   r   r   r9  r   r   axis)r"  r   r   r   r   r   s       r0   test_concatzTestShapeInference.test_concat3        ;$i038I92UVx#scU;;;<
 

 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfddt          j        dfgt          dg ddgd	
          gg           }|                     t
          j        j        | j        |           d S )NrR   r  r   r   NNNr9  rR   r   r   outr   r<  r   r   s      r0   test_concat_missing_shapez,TestShapeInference.test_concat_missing_shape@  s      k'3k');<
 x5'BBBC
 
 	$.=t~uUUUUUr7   c           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrR   rT   rT   rT   r   r9  r   rT   r<  )rT   rT   r   r   r   r   s       r0   test_concat_3d_axis_2z(TestShapeInference.test_concat_3d_axis_2M  r?  r7   c           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          gt          j        t          |          g
           d S )NrR   r   rT   r   )r   r   r9  r   r   r<  )r   r>   r   r   r   s       r0   test_concat_paramz$TestShapeInference.test_concat_paramZ  s      ;$h/#{7H(1STx#scU;;;<
 

 	#C):HEEF!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   rI  r9  r   r   r<  r   r   r   s       r0   test_concat_param_single_inputz1TestShapeInference.test_concat_param_single_inputg  s      ;$h/0x#A6667
 

 	#C):HEEF!.{GDDE 	 	
 	
 	
 	
 	
r7   rX   c                \   |                      |dk     d           |                     dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )N   z'Rank inference is added from Version 14rR   r  r   r   rX   r   NNr   )r   rf   r   r  r^   r   r   r   r   r   r   r   s       r0   %test_reshape_dynamic_shape_known_rankz8TestShapeInference.test_reshape_dynamic_shape_known_rankt  s    GbL"KLLL  ;$i07K<Mt2TUy3.3%889
 

 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d           gt          j        t          |          g           d S )NrR   r  r   MrX   r   r   
rf   r   r  r^   r   r   r   r   r   r   r   s       r0   #test_reshape_dynamic_shape_symbolicz6TestShapeInference.test_reshape_dynamic_shape_symbolic  s      ;$i07K<Mv2VWy3.3%889
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   c                (   |                      dt          j        dfdt          j        d fgt	          dddgdg          gg           }|                     |t          dt          j        d           gt          j        t          |          g           d S )NrR   r  r   rX   r   r   rT  r   s       r0   "test_reshape_dynamic_unknown_shapez5TestShapeInference.test_reshape_dynamic_unknown_shape  s      ;$i07K<Mt2TUy3.3%889
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g	           d S )
NrR   r  r   r   rX   r   r      r  r   rf   r   r  r^   r   r   r   r   r   r   r   r   s       r0   test_reshape_static_shapez,TestShapeInference.test_reshape_static_shape  s      ;$i07K<Mt2TUy3.3%889$Wk.?vNNO	 ! 
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )NrR   r  r   r   rX   r   )r   r   r&   r  r   r   r[  r   s       r0   "test_reshape_static_shape_inferredz5TestShapeInference.test_reshape_static_shape_inferred  s      ;$i07K<Mt2TUy3.3%889$Wk.?zRRS	 ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g	           d S )
NrR   r   r   r   r   r   rX   r   r   r   r   r  r   r[  r   s       r0   test_reshape_static_shape_zeroz1TestShapeInference.test_reshape_static_shape_zero  s      ;$i07K<Mt2TUy3.3%889$Wk.?yQQR	 ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfgt          dddgdgd	
          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )NrN  z"allowzero is added from Version 14rR   r   r   r   r   r   rX   r   r   	allowzerora  r  r   )r   rf   r   r  r^   r   r   r   r   r   r   r   r   s       r0   #test_reshape_static_shape_allowzeroz6TestShapeInference.test_reshape_static_shape_allowzero  s    GbL"FGGG  k'3++T2 y3.3%1EEEF$Wk.?yQQR ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          dg dgt	          dt          j        dd                    t          dddgd	g          gg           }|                     |t          dt          j        d          t          d	t          j        d          gt          j	        t          |          g
           d S )NrR   r  Constantr   r   rY  valuerX   r   r   )rf   r   r  r   r   r^   r   r   r   r   r   r   s       r0   "test_reshape_static_shape_constantz5TestShapeInference.test_reshape_static_shape_constant  s      ;$i01I%g{/@$OO	   )c7^cU;; 
 
 	&w0A4HH&sK,=vFF ".{GDDE 	 	
 	
 	
 	
 	
r7   Upsamplec                    dk    r                      dt          j        dfgt          ddgdgg d          gg                                t          dt          j        d          gt          j        t                    g	           d S                       dt          j        dfd
t          j	        dfgt          ddd
gdg          gg t          d
t          j	        dd          g           fd}dk    r |             d S                      t          j        j                  5 } |             d d d            n# 1 swxY w Y   |j        }dt!          |          v sJ d S )Nr;  rR   rT   r   r   r>   rm  r         ?皙??ffffff?scalesrT   r   r   r"  r   rv  r   r  c                                           t          dt          j        d          gt	          j        t                    g           d S Nr   rw  r   r   r   r   INT32r   r   r   r   r_   r/   s   r0   call_inferencez8TestShapeInference.test_upsample.<locals>.call_inference
  U    %%+C1BLQQR#)#6{G#L#L"M &     r7   r"  Upsample is deprecated)rf   r   r|  r   r   r   r   r   r   r   r   r   rp   r   ValidationError	exceptionr:   r_   r   r/   r~  cmr  r   s   ` `   @r0   test_upsamplez TestShapeInference.test_upsample  s   a<<$${(,78:use<P<P<PQQQR E
 !!'[->MMN%2;HHI "      $$++\:{0$7 :X>>?+*;TCWXX % 
 
E       !||      &&t|'CDD %"N$$$% % % % % % % % % % % % % % %L	/3y>>AAAAAAs   2E		EEc                4    dk    r                      dt          j        dfgt          ddgdgg d          gg                                t          dt          j        d          gt          j        t                    g	           d S                       dt          j        d
fdt          j	        dfgt          dddgdg          gg t          dt          j	        dt          j        g dd                                          d          g           fd}dk    r |             d S                      t          j        j                  5 } |             d d d            n# 1 swxY w Y   |j        }dt'          |          v sJ d S )Nr;  rR   r  rm  r          @rr  gffffff@rt  ru  rT   r   r"  r"  r   ro  rv  rx  rp  <f4dtypeTvalsrawr  c                                           t          dt          j        d          gt	          j        t                    g           d S rz  r{  r}  s   r0   r~  zATestShapeInference.test_upsample_raw_data.<locals>.call_inference:  r  r7   r"  r  )rf   r   r|  r   r   r   r   r   r   r   r   r   arraytobytesr   rp   r   r  r  r:   r  s   ` `   @r0   test_upsample_raw_dataz)TestShapeInference.test_upsample_raw_data  s0   a<<$${(,78:use<P<P<PQQQR E
 !!'[->MMN%2;HHI "      $$++\:{0$7 :X>>? #)X&:&:&:%HHHPPRR    %  E$       !||      &&t|'CDD %"N$$$% % % % % % % % % % % % % % %L	/3y>>AAAAAAs   E33E7:E7Expandc                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )NrR   r   r   r   r   r  r   )rT   r   r0  r  rT   r   r0  r   rf   r   r|  r^   r   r   r   r   r   r   r   r   s       r0   test_expandzTestShapeInference.test_expandJ  s      ;$f-9JD/QRx#w#778$Wk.?yQQR	 ! 
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c                b   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j	        t          |          g	           d S )
NrR   r3   r   r   r  r   )r   rZ  r  r   r  r   s       r0   test_expand_scalar_inputz+TestShapeInference.test_expand_scalar_inputX  s      ;$b)G[5F+MNx#w#778$Wk.?vNNO	 ! 
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dt          j        ddgd	
                                          d          g          }| 	                    |t          dt          j        d          gt          j        t          |          g           d S )NrR   r  r   r   r  r   r   r   <i8r  Tr  r  r   r   r   )rf   r   r|  r^   r   r   r   r  r  r   r   r   r   r   r   s       r0   test_expand_raw_dataz'TestShapeInference.test_expand_raw_dataf  s      ;$f-9JD/QRx#w#778%1a&666>>@@  	 ! 
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg g           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrR   r   rT   Nr   r   r  r   r  )NrT   Nr   
rf   r   r|  r^   r   r   r   r   r   r   r   s       r0   test_expand_dynamic_shapez,TestShapeInference.test_expand_dynamic_shape|  s      k'6++T2 x#w#778 ! 
 
 	#C):OLLM!.{GDDE 	 	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg g           }|                     |t          dt          j        d           gt          j        t          |          g           d S )	NrR   r  r   )unk__0r  r   r  r   r  r   s       r0   test_expand_symbolic_shapez-TestShapeInference.test_expand_symbolic_shape  s      k'6++[9 x#w#778 ! 
 
 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   Resizec                   |dk    r|                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g	          }|                     |t          dt          j        d
          gt          j	        t          |          g           d S |dk    r|                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd          g	          }|                     |t          dt          j        d          gt          j	        t          |          g           d S |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd          g	          }|                     |t          dt          j        d          gt          j	        t          |          g           d S )Nr4  rR   ro  rv  rx  r  r   rp  r  rw  r      roirZ  sizesrR   r  rv  r  )r   r>   r0  r;  rR   r   r  )rf   r   r|  r   r   r   r   r   r   r   r   r^   r   s       r0   test_resize_sizez#TestShapeInference.test_resize_size  s   b==$$++\:{0$7 8c8_se<<=+*;TCWXX % 
 
E !!'[->MMN%2;HHI "     
 ]]$$++\:K-t4{0$7k/6	 8%D%D%DseLLM):D,OO %  E !!'[->MMN%2;HHI "      $$++\:K-t4k/6
 8%>%>%>FFG):D,OO %  E !!'[->MMN%2;HHI "     r7   RMSNormalizationc           	     ,   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
Nr   r  CHWscale)r  r  r  r   rT   r<  r   r   r   s       r0   test_rms_normalizationz)TestShapeInference.test_rms_normalization  s      k')=>++Z8 )C>C5qIIIJ
 
 	#C):<PQQR!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )N   axes is from Version 18rR   ro  r  rx  r  r   r  r  r   r   axesr0  r;  r  )rT   r   r0  r;  r   r   rf   r   r|  r   r^   r   r   r   r   r   r   r   r   s       r0   test_resize_size_axes_2_3z,TestShapeInference.test_resize_size_axes_2_3      GbL";<<<  k'6)40++T2
 x!:!:!:SEOOOP$Wk.?vNNO ! 	
 	
 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rR   ro  r  rx  r  r   r  r  r   r   rT   r  r  r  )rT   r   r;  r0  r   r  r   s       r0   test_resize_size_axes_3_2z,TestShapeInference.test_resize_size_axes_3_2  r  r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  +keep_aspect_ratio_policy is from Version 18rR   r   r>   r  rx  r  r   r  r  r   
not_largerkeep_aspect_ratio_policyr/  r  )r   r0  r   r  r   s       r0   test_resize_size_not_largerz.TestShapeInference.test_resize_size_not_larger  s   bL9	
 	
 	
   k'0)40++T2 ---E-9	   $Wk.?vNNO ! 
 
" 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgdd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  3axes & keep_aspect_ratio_policy are from Version 18rR   ro  r  rx  r  r   r  r  r   r   r  r  r  r/  r  )rT   r   r   r0  r   r  r   s       r0   $test_resize_size_axes_2_3_not_largerz7TestShapeInference.test_resize_size_axes_2_3_not_larger+  s
   bLA	
 	
 	
   k'6)40++T2 ---E-9   $Wk.?vNNO! ! 
 
$ 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rR   r  r  rx  r  r   r  r  r   not_smallerr  r/  r  )r0  r4  r   r  r   s       r0   test_resize_size_not_smallerz/TestShapeInference.test_resize_size_not_smallerI  s   bL9	
 	
 	
   k'0)40++T2 ---E-:	   $Wk.?vNNO ! 
 
" 	#C):GDDE!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgdd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rR   ro  r  rx  r  r   r  r  r   r   r  r  r/  r  )rT   r   r0  r4  r   r  r   s       r0   %test_resize_size_axes_2_3_not_smallerz8TestShapeInference.test_resize_size_axes_2_3_not_smallerf  s
   bLA	
 	
 	
   k'6)40++T2 ---E-:   $Wk.?vNNO! ! 
 
$ 	#C):MJJK!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )Nr  roi input is from Version 11rR   ro  r  r  rv  rx  r  rR   r  rv  r   rp  r  rw  r   r   rf   r   r|  r   r   r   r   r   r   r   r   r   s       r0   test_resize_scalez$TestShapeInference.test_resize_scale  s    GbL"@AAA  k'6)40;,d3
 x!7!7!7#??@Hk&7?STT ! 
 
 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )Nr  r  rR   ro  r  r  rv  r   r  r  r   r   r  )rs  rt  r  rw  r   r  r   s       r0   test_resize_scale_axes_2_3z-TestShapeInference.test_resize_scale_axes_2_3      GbL";<<<  k'6)40;,d3
 x!7!7!7#VLLLM$X{/@$
SST ! 	
 	
 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          gt          j
        t          |          g           d S )Nr  r  rR   ro  r  r  rv  r   r  r  r   r  r  )rt  rs  r  rw  r   r  r   s       r0   test_resize_scale_axes_3_2z-TestShapeInference.test_resize_scale_axes_3_2  r  r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          gg t          dt          j        dt          j        g dd          	                                d          g          }| 
                    |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rR   r  r  r  rv  rx  r  r  r   r  r  r  Tr  r  r  r   )r   rf   r   r|  r   r   r   r   r  r  r   r   r   r   r   r   s       r0   test_resize_scale_raw_dataz-TestShapeInference.test_resize_scale_raw_data  s    GbL"@AAA  k'6)40;,d3
 x!7!7!7#??@%"6"6"6eDDDLLNN   ! 
 
$ 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk     d           |                     dt          j        dfdt          j        dfdt          j        dfd	t          j        d
fgt          dg ddg          gg t          dt          j        dt          j	        g dd          
                                d          t          d	t          j        d
t          j	        g d          
                                d          g          }|                     |t          dt          j        d          gt          j        t          |          g           d S )Nr  r  rR   r  r  r  rv  rx  r  r   r  r  r   r  r  r  Tr  r  r  r  r   )r   rf   r   r|  r   r^   r   r   r   r  r  r   r   r   r   r   r   s       r0   +test_resize_scale_and_size_but_one_is_emptyz>TestShapeInference.test_resize_scale_and_size_but_one_is_empty  sn   GbL"@AAA  k'6)40;,d3++T2	 x!@!@!@3%HHI%"6"6"6eDDDLLNN   %"E222::<<   ! 
 
4 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |                      |dk    d           |                     dt          j        dfdt          j        dfdt          j        dfd	t          j        d
fgt          dg ddg          gg t          d	t          j        d
t          j	        g dd          
                                d          g          }|                     |t          dt          j        d          gt          j        d|          g           d S )Nr  z#This test only works for Version 11rR   r  r  r  rv  r  r  rx  r  r  r   )rT   r0  rZ  r4  r  r  Tr  r  r  r   )r   rf   r   r|  r   r^   r   r   r   r  r  r   r   r   r   r   s       r0   #test_resize_opset11_scales_is_emptyz6TestShapeInference.test_resize_opset11_scales_is_empty  s0   GrM#HIII   k'6)40;,d3++T2	 x!@!@!@3%HHI%%U  gii  
 ! 
 
, 	#C):MJJK!.r7;;< 	 	
 	
 	
 	
 	
r7   Shapec                
   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r  r  r   r   r   
rf   r   r   r   r   r   r^   r   r   r   r   s       r0   
test_shapezTestShapeInference.test_shape  s      ;$i01wu--.
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr(  !start and end are from Version 15rR   r  r  r   r   startr   r   r   rf   r   r   r   r   r   r^   r   r   r   r   s       r0   test_shape_start_1z%TestShapeInference.test_shape_start_1+  s    GbL"EFFF  ;$i01wuA6667
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr(  r  rR   r  r  r   r   endr   r   r  r   s       r0   test_shape_end_1z#TestShapeInference.test_shape_end_19  s    GbL"EFFF  ;$i01wu!4445
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr(  r  rR   r  r  r   r&   r  r  r   r  r   s       r0   test_shape_negative_startz,TestShapeInference.test_shape_negative_startG      GbL"EFFF  ;$i01wuB7778
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr(  r  rR   r  r  r   r  r   r   r  r   s       r0   test_shape_clip1z#TestShapeInference.test_shape_clip1U  r  r7   c           	     B   |                      |dk     d           |                     dt          j        dfgt	          ddgdgd          gg           }|                     |t          dt          j        d	          gt          j	        t          |          g
           d S )Nr(  r  rR   r  r  r   r4  r  r   r   r  r   s       r0   test_shape_clip2z#TestShapeInference.test_shape_clip2c  s    GbL"EFFF  ;$i01wu"5556
 

 	#C):DAAB!.{GDDE 	 	
 	
 	
 	
 	
r7   Sizec                
   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r  r  r   r3   r   r  r   s       r0   	test_sizezTestShapeInference.test_sizeq  s      ;$i01IfsecU4S4S3TVX
 
 	#C):B??@!.{GDDE 	 	
 	
 	
 	
 	
r7   Gatherc                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )	NrR   r   r   ir   r   r   r   r   
rf   r   r   r^   r   r   r   r   r   r   r   s       r0   test_gatherzTestShapeInference.test_gather|  s      ;$f-[5F/MNx#scU334
 

 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d	          gt          j        t          |          g
           d S )NrR   )r   r   r>   r  r   r   r   r   r<  )r   r   rT   r>   r   r  r   s       r0   test_gather_axis1z$TestShapeInference.test_gather_axis1  s      ;$i038I62RSx#scU;;;<
 

 	#C):LIIJ!.{GDDE 	 	
 	
 	
 	
 	
r7   c                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r   r  r3   r   r   r   r  r   s       r0   test_gather_into_scalarz*TestShapeInference.test_gather_into_scalar  s      ;$d+c;3Db-IJx#scU334
 

 	#C):B??@!.{GDDE 	 	
 	
 	
 	
 	
r7   GatherElementsc           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )	NrR   r1  r  r
  r   r   r<  r   r  r   s       r0   test_gather_elementsz'TestShapeInference.test_gather_elements        ;$f-[5F/OP'#scUCCCD
 

 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrR   r%  r  r   r
  r   r   r<  r   r  r   s       r0   test_gather_elements_axis0z-TestShapeInference.test_gather_elements_axis0  r  r7   Scatterc                   |dk    rm|                      t          j        j                  5 }|                     |           d d d            n# 1 swxY w Y   |j        }dt          |          v sJ d S |                     |           d S Nr  zScatter is deprecated)r   rp   r   r  _test_scatterr  r:   r_   r   r/   r  r  s        r0   test_scatterzTestShapeInference.test_scatter  s    b==""4<#?@@ ,B""7+++, , , , , , , , , , , , , , ,I*c)nn<<<<<<w'''''   AAAc                D   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrR   r%  r  r   ur  rR   r  r  r   r   r  r_   r/   r   s      r0   r  z TestShapeInference._test_scatter  s      k'0k'0k'0
 y///C599:
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c                   |dk    rm|                      t          j        j                  5 }|                     |           d d d            n# 1 swxY w Y   |j        }dt          |          v sJ d S |                     |           d S r  )r   rp   r   r  _test_scatter_axis1r  r:   r  s        r0   test_scatter_axis1z%TestShapeInference.test_scatter_axis1  s    b==""4<#?@@ 2B((1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2I*c)nn<<<<<<$$W-----r  c           	     H   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	
          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r  r  r   r  r  r  r   r   r<  r   r  r  s      r0   r  z&TestShapeInference._test_scatter_axis1  s      k'0k'0k'0
 y///C5qAAAB
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   ScatterElementsc                D   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S )
NrR   r%  r  r   r  r  r  r   r   r  r   s       r0   test_scatter_elementsz(TestShapeInference.test_scatter_elements  s      k'0k'0k'0
 (///C5AAB
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     H   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgd	
          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r  r  r   r  r  r  r   r   r<  r   r  r   s       r0   test_scatter_elements_axis1z.TestShapeInference.test_scatter_elements_axis1  s      k'0k'0k'0
 (///C5qIIIJ
 
 	#C):FCCD!.{GDDE 	 	
 	
 	
 	
 	
r7   	ScatterNDc                D   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          gg           }|                     |t          d	t          j        d          gt          j        t          |          g
           d S )NrR   r   r>   r0  indicesr   r   rT   updatesr   r   r0  r$  )rR   r'  r)  r   r   r  r   s       r0   test_scatterndz!TestShapeInference.test_scatternd  s      k'3K-y9K-y9
 {$?$?$?#GGH
 
 	#C):IFFG!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          d	ddgd
g          t	          dg ddg          gg           }|                     |t          d
t          j        d           t          dt          j        d           gt          j        t          |          g           d S )NrR   r&  r'  r(  r)  r*  r   rR  rX   
x_reshapedr$  )r-  r'  r)  r   r   r  r   s       r0   test_scatternd_noshapez)TestShapeInference.test_scatternd_noshape&  s       k'3K-y9K-y9++V4	 )c7^l^DD+'K'K'KcUSS 
 
 	&|[5FMM&sK,=tDD ".{GDDE 	 	
 	
 	
 	
 	
r7   c           	     H   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	gd
          gg           }|                     |t          d	t          j        d          gt          j        t          d          g           d S )N
past_cache)rT   rZ     @   update)rT   rZ  r4  r2  write_indicesr   TensorScatter)r0  r3  r4  present_cacherT   r<     r   r  r   s     r0   test_tensor_scatterz&TestShapeInference.test_tensor_scatter@  s      {0/B;,n= +"3T: #===$%	   
 
  	&#[%6 
 ".{B??@ 	 	
 	
 	
 	
 	
r7   Squeezec                x   |dk    r|                      dt          j        dfgt          dddg d          gg           }|                     |t          dt          j        d          gt          j        t          |          g	           d S |                      dt          j        dfd
t          j	        dfgt          ddd
gd          gg t          d
t          j	        dd          g          }|                     |t          dt          j        d          gt          j        t          |          g	           d S )Nr  rR   r   r   r   r   rT   r   r9  r   )r   rT   r   r>   r  r  r   r  rx  r  )rf   r   r   r   r   r   r   r   r   r^   r   r   s       r0   test_squeezezTestShapeInference.test_squeeze[  sg   b==$${(*<=>9c3\\\BBBC E
 !!'[->GGH%2;HHI "      $$++-?@[.5 9sFmS99:(94NN % 
 
E !!'[->GGH%2;HHI "     r7   StringConcatc                &   |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r   r   r=  r   r   	rf   r   r   r   r   r   r   r   r   r   s       r0   test_stringconcatz$TestShapeInference.test_stringconcatz        k()4k()4 ~Sz3778
 
 	#C);YGGH!.{GDDE 	 	
 	
 	
 	
 	
r7   c                &   |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r   r   )r   r   r   r=  r   r   r?  r   s       r0   test_stringconcat_broadcastingz1TestShapeInference.test_stringconcat_broadcasting  rA  r7   RegexFullMatchc           	        |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   rw  rD  r   ^[A-Z][a-z]*$patternr   
rf   r   r   r   r   r   BOOLr   r   r   r   s       r0   test_regex_full_matchz(TestShapeInference.test_regex_full_match  s      ;%|45'#?OPPPQ
 

 	#C)9<HHI!.{GDDE 	 	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          gt          j        t          |          g           d S )NrR   r3   rD  r   rF  rG  r   rI  r   s       r0   !test_regex_full_match_empty_shapez4TestShapeInference.test_regex_full_match_empty_shape  s      ;%r*+'#?OPPPQ
 

 	#C)92>>?!.{GDDE 	 	
 	
 	
 	
 	
r7   c                
   |                      dt          j        dfgt          ddgd          gg           }t	                      }d|_        d|_        |                     |t          dt          j        d          g           d S )NrR   r;  r9  r   r  r  r  	rf   r   r   r   r   r-   r/   r   r   r_   r   operatorsetids      r0   test_squeeze_no_axes_opset11z/TestShapeInference.test_squeeze_no_axes_opset11  s      k');< y3%--.
 
 +,,! "*30A6JJK	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          ddgd          gg           }t	                      }d|_        d|_        |                     |t          dt          j        d           g|g           d S )NrR   )r   r   r   NrT   r   r9  r   r  r  r   rO  rP  s      r0   *test_squeeze_no_axes_dynamic_input_opset11z=TestShapeInference.test_squeeze_no_axes_dynamic_input_opset11  s      k')>? y3%--.
 
 +,,! "#C):DAAB(/ 	 	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrR   r  r  rx  	Unsqueezer   )r   r   r   r>   r  )r   r   r   r   rT   r   rf   r   r   r^   r   r   r   r   r   s     r0   test_unsqueeze_regularz)TestShapeInference.test_unsqueeze_regular  s      ;$f-8I4/PQ{S&M3778$V[->lSST	 ! 
 
 	*30ACUVVW	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrR   r6  r  r   rV  r   )r   r   r  r   r   r   r>   r   rW  r   s     r0   test_unsqueeze_unsorted_axesz/TestShapeInference.test_unsqueeze_unsorted_axes  s      ;$i06;;Ld2ST{S&M3778$V[->fMMN	 ! 
 
 	*30A?SST	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrR   r6  r  r   rV  r   )r   r&   r  rZ  rW  r   s     r0   test_unsqueeze_negative_axesz/TestShapeInference.test_unsqueeze_negative_axes  s      ;$i06;;Ld2ST{S&M3778$V[->gNNO	 ! 
 
 	*30A?SST	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d          g           d S )	NrR   r3   r  rV  r   )r&   r  r  rW  r   s     r0   test_unsqueeze_scalarz(TestShapeInference.test_unsqueeze_scalar  s      ;$b)FK4Er+JK{S&M3778$V[->EJJK	 ! 
 
 	*30A4HHI	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d	          g           d S )
NrR   )r   rT   r   startsr  endsSlicerR   ra  rb  r   rA  rf   r   r   r^   r   r   r   r   s     r0   test_slice_without_input_shapez1TestShapeInference.test_slice_without_input_shape   s      k'5;,d3*D1
 w 7 7 7#??@
 
 	*30ACUVVW	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dt          j        d	d
gd                                          d          t          dt          j        dd          g          }| 	                    |t          dt          j        d          g           d S )NrR   r  ra  r   rb  rc  rd  r   r   r   r  r  Tr  r1  r  r   rf   r   r   r^   r   r   r   r  r  r   r   r   s     r0   test_slice_with_input_shapez.TestShapeInference.test_slice_with_input_shape  s     k'0;,d3*D1
 w 7 7 7#??@%1a&666>>@@   FK$5tVDD	 ! 
 
& 	*30A6JJK	
 	
 	
 	
 	
r7   c                ~   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg t          dt          j        dd	          t          dt          j        dd
          g          }|                     |t          dt          j        d          g           d S )NrR   )r   r   r   ra  r   rb  rc  rd  r   )r   r   r   r`  r  )r   Nr   rW  r   s     r0   1test_slice_with_input_shape_containing_dim_paramszDTestShapeInference.test_slice_with_input_shape_containing_dim_params&  s      k'5;,d3*D1
 w 7 7 7#??@Hk&7yIIFK$5tYGG ! 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        d fdt          j        dfgt	          dg d	d
g          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrR   r>   r0  r;  ra  r   rb  r  stepsrc  rR   ra  rb  r  rn  r   rd  )rT   r0  r0  )r   r   r   r  r   rT   rT   rW  r   s     r0   !test_slice_with_input_shape_stepsz4TestShapeInference.test_slice_with_input_shape_steps8  s      k'3;,d3*D1*T3++T2 w H H H3%PPQHk&7yIIFK$5tYGGG[%6iHH ! 
 
  	*30A9MMN	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        d fgt	          dg d	d
g          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrR   )r   r0  rT   ra  r   rb  r  rn  rc  ro  r   r   r   r1  )r   rT   r  )r   r0  rT   rW  r   s     r0    test_slice_with_input_shape_axesz3TestShapeInference.test_slice_with_input_shape_axesM  s      k'3;,d3*D1*D1++d4 w H H H3%PPQHk&7vFFFK$5tVDDFK$5tVDD ! 
 
  	*30A9MMN	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd
          g          }|                     |t          d	t          j        d          g           d S )NrR   r  ra  r   rb  r  rc  rR   ra  rb  r  r   rs  r1  r  r   rW  r   s     r0   test_slice_unsorted_axesz+TestShapeInference.test_slice_unsorted_axesb  s      k'0;,d3*D1*D1	 w ? ? ?EEFHk&7vFFFK$5tVDDFK$5tVDD ! 
 
 	*30A6JJK	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S NrR   r  ra  r   rb  r  rc  rv  r   rs  )   iU  r   r   r  r1  rW  r   s     r0   test_slice_giant_numberz*TestShapeInference.test_slice_giant_numberv  s      k'0;,d3*D1*D1	 w ? ? ?EEFHk&7vFFFK$5t\JJFK$5tVDD ! 
 
 	*30A6JJK	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrR   r  ra  r   rb  r  rn  rc  ro  r   rs  )rz  rz  r{  )r   rz  r  r   rW  r   s     r0   test_slice_giant_stepz(TestShapeInference.test_slice_giant_step  s     k'0;,d3*D1*D1++T2 w H H H#NNOHk&7vFFFK$5tZHHFK$5tVDDG[%6hGG	 ! 
 
" 	*30A6JJK	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )NrR   r  ra  r   rb  r  rc  rv  r   rs  )rz  r&   r{  r  r   rW  r   s     r0   test_slice_negative_endz*TestShapeInference.test_slice_negative_end  s      k'0;,d3*D1*D1	 w ? ? ?EEFHk&7vFFK-tY  FK$5tVDD ! 
 
" 	*30A6JJK	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )NrR   r  ra  r   rb  r  rc  rv  r   )r   )rz  r   r{  r  r1  rW  r   s     r0   test_slice_negative_startz,TestShapeInference.test_slice_negative_start  s      k'0;,d3*D1*D1	 w ? ? ?EEFk/w  FK$5tXFFFK$5tVDD ! 
 
" 	*30A6JJK	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
          gg t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d
t          j        d          g           d S )NrR   r  ra  r   rb  r  rn  rc  ro  r   r   r   )rz  r   r{  )r   r&   r  r   rW  r   s     r0   test_slice_negative_stepz+TestShapeInference.test_slice_negative_step  s     k'0;,d3*D1*D1++T2 w H H H#NNOk/v  FK$5tXFFFK$5tVDDG[%6gFF ! 
 
& 	*30A6JJK	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd          t          dt          j        dd
          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )NrR   rI  ra  r  rb  r  rc  rv  r   )rz  r  )r   r   rW  r   s     r0   test_slice_variable_copyz+TestShapeInference.test_slice_variable_copy  s      k'2;,d3*D1*D1	 w ? ? ?EEFHk&7tDDFK$5tVDDFK$5tTBB ! 
 
 	*30A8LLM	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          t          dt          j        dd          t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S ry  )rf   r   DOUBLEr|  r   r   r   r   r   s     r0   test_slice_variable_input_typesz2TestShapeInference.test_slice_variable_input_types  s      k(&1;,d3*D1*D1	 w ? ? ?EEFHk&7vFFFK$5t\JJFK$5tVDD ! 
 
 	*30BFKKL	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt          dddgdg dg dg d	
          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r   r>   r0  r;  r   r>   r   rT   r   r   Convr   r   r   r   r   r   r   rp  r   r   rT   r*  r.  r$  r   r>   r   r   r   r   r   s     r0   	test_convzTestShapeInference.test_conv  s      k'9k'9
 #J+++'ii%II  	 
 
" 	*30A?SST	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgddg          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   )2   r   rT   r  r   r   r-  )r   r  r   r   r   s     r0   test_conv_1d_simplez&TestShapeInference.test_conv_1d_simple"  s      k'4k'4 vSz31#>>>?
 
 	*30A;OOP	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   rZ  rZ  rZ  r   r  r   r   r   r   r  r   r   rT   r   r-  r   r  r0  r   rT   r   r   s     r0   test_conv_dilationsz&TestShapeInference.test_conv_dilations/  s      k')9:k')9: vSz3)))DDDE
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  r   r  r  r   r  r#  r   r  r0  r   rT   r   r   s     r0   test_conv_stridesz$TestShapeInference.test_conv_strides<  s      k')9:k')9: vSz3			BBBC
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   r;  r0  r   r   r  r  r   r   r   rT   r   r   rT   r)  r   r  r0  r0  r0  r   r   s     r0   test_conv_padsz!TestShapeInference.test_conv_padsI  s      k')9:k')9: vSz35G5G5GHHHI
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  r   r  r   r   r   rT   r  r   
SAME_UPPER)auto_pad)r   r  r;  r0  r   r   r   s     r0   test_conv_auto_padz%TestShapeInference.test_conv_auto_padV  s      k')9:k')9: vSz3FFFG
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgddg d	          gg           }|                     |t          dt          j        d
          g           d S )NrR   r  r   r  r  r   r  rT   rT   r   r  r$  )r   r  r   r   r   r   r   s     r0   test_conv_auto_padsz&TestShapeInference.test_conv_auto_padsc  s      k')9:k')9:
 S#JlIII  
 
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgddg d	          gg           }|                     |t          dt          j        d
          g           d S )NrR   )r   r   A   r2  ?   r   r  r  r   r  r   )r  r.  )r   r  r  r2  r  r   r   s     r0   test_conv_auto_pad_dilationz.TestShapeInference.test_conv_auto_pad_dilationt  s      k')<=k')9:
 S#Jliii  
 
 
 	#C):<PQQR	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  r   r   r   rZ  rZ  rZ  r  r   r   groupr   r   r   r   r   r   r   s     r0   test_conv_groupz"TestShapeInference.test_conv_group  s      k')9:k'9 vSz3a8889
 
 	*30ACSTTU	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgddg          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   )r  r   r>   r  r   rT   r#  )r   r  r   r   r   s     r0   test_conv_only_one_posz)TestShapeInference.test_conv_only_one_pos  s      k'4k'4 vSz3<<<=
 
 	*30A;OOP	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   Nr0  r   r   r  r  r   r  r)  r   r  Nr0  r0  r   r   s     r0   test_conv_partial_missing_shapez2TestShapeInference.test_conv_partial_missing_shape  s      k')<=k')9: vSz35G5G5GHHHI
 
 	#C):<PQQR	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d           g           d S )	NrR   r  r   r  r   Nr   r   r  r   r  r)  r   r   s     r0   &test_conv_partial_missing_weight_shapez9TestShapeInference.test_conv_partial_missing_weight_shape  s      k')9:k')<= vSz35G5G5GHHHI
 
 	*30A4HHI	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NQ)Bq_num_headsq_seq_length	head_sizeK)r  kv_num_heads
kv_seq_lenr  V)r  r  r  v_head_size	Attention)r  r  r  r   )r  r  r  r  r   r   s     r0   test_attention_4dz$TestShapeInference.test_attention_4d  s       %E %D %F$ #OOE  3
 
6 	&%G 		
 		
 		
 		
 		
r7   c                    |                      dt          j        dfgt          ddgddg dg d          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  AveragePoolr   r  )r   r   rT   r  r  r  r$  )r   r   r   r   r   r   r   s     r0   test_average_pool_auto_padsz.TestShapeInference.test_average_pool_auto_pads  s      ;$&678!E)!*%II  	 
 
 	*30ACSTTU	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r>   r   r   r   r  r   rT   r  r.  r>   r   rT   rT   r   r   s     r0    test_average_pool_with_dilationsz3TestShapeInference.test_average_pool_with_dilations  s      ;$l34!C53%q!fQRTUPV  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r  r   r  rT   r   r  r  r$  r.  r  r   r   s     r0   Atest_average_pool_with_same_upper_padding_and_stride_and_dilationzTTestShapeInference.test_average_pool_with_same_upper_padding_and_stride_and_dilation	  s      ;$l34!EE)"#QF !f  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                0    |                      d           d S )NRelur   r_   s    r0   	test_reluzTestShapeInference.test_relu	  s    F#####r7   c                0    |                      d           d S )NIdentityr  r  s    r0   test_identityz TestShapeInference.test_identity	  s    J'''''r7   c           	     f   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
g          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Ninput1r   input2input3rT   r>   r   SequenceConstructr  r  r  in_sequencer  output_sequencerT   Nr   rf   r   r   r   r   r   r   s     r0   test_identity_sequencez)TestShapeInference.test_identity_sequence	  s      ;,i8;,i8;,i8 ')G)G)G-  *}o8I7JKK	 
 
 	/!;#4l  0%{'8, 	
	
 
	
 
	
 
	
 
	
r7   c           	     z   |                      dt          j        dfgt          ddgdg          t          ddgdg          gg           }t	          j        t          j        d          }t	          j        |          }|                     |t	          j        d|          t	          j        d|          g           d S )N	in_tensorr   Optionalin_optionalr  output_optional)	rf   r   r   r   r   make_tensor_type_protomake_optional_type_protor   make_value_info)r_   r   tensor_type_protooptional_type_protos       r0   test_identity_optionalz)TestShapeInference.test_identity_optional8	  s      ;,i89*{mm_EE*}o8I7JKK 
 
 #9+:KYWW$=>OPP&}6IJJ&'8:MNN	
 	
 	
 	
 	
r7   c           
     (   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
g          t          dd
gdg          gg           }t	          j        t          j        d          }t	          j        |          }t	          j        |          }|                     |t	          j	        d|          t	          j	        d
|          t	          j	        d|          g           d S )Nr  r   r  r  r  r  r  r  r  r  r  r  r  )
rf   r   r   r   r   r  make_sequence_type_protor  r   r  )r_   r   r  sequence_type_protor  s        r0   test_identity_optional_sequencez2TestShapeInference.test_identity_optional_sequenceK	  s7     ;,i8;,i8;,i8 ')G)G)G-  *}oGG*}o8I7JKK 
 
 #9|
 
 %=>OPP$=>QRR&}6IJJ&}6IJJ&'8:MNN	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r   Addr   r   r   s     r0   test_addzTestShapeInference.test_addi	        k'4k'4 usCj#../
 
 	*30A:NNO	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r   Powr   r   r   s     r0   test_powzTestShapeInference.test_powv	  r  r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d          g           d S )NrR   rT   r   r   r   BitShiftr   RIGHT	directionrf   r   UINT32r   r   r   r   s     r0   test_bitshiftz TestShapeInference.test_bitshift	  s      k()4k()4 zC:sgFFFG
 
 	*30BINNO	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d          g           d S )	NrR   )   r   r   r   r  r  r   r  r	  r  r   s     r0    test_bitshift_broadcast_to_firstz3TestShapeInference.test_bitshift_broadcast_to_first	  s      ;%z2S+:Ld4STzC:sgFFFG
 

 	*30BJOOP	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r  r   r  r  r   r  r	  r  r   s     r0   !test_bitshift_broadcast_to_secondz4TestShapeInference.test_bitshift_broadcast_to_second	  s      ;%t,sK4F	.RSzC:sgFFFG
 

 	*30BINNO	
 	
 	
 	
 	
r7   c                0    |                      d           d S )NSumr  r  s    r0   test_sum_singlez"TestShapeInference.test_sum_single	  s    E"""""r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r   r   r  rB  rC  r   r   s     r0   test_sum_multiz!TestShapeInference.test_sum_multi	  s      k'4k'4k'4
 uooow778
 
 	*5+2CZPPQ	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NrR   )r   r   r>   r   r   r   r   r   )r   r   r  rB  rC  r   r   r   s     r0   test_sum_multi_broadcastingz.TestShapeInference.test_sum_multi_broadcasting	  s      k'4k'5k'2
 uooow778
 
 	*5+2CZPPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   )r   r   r>   r   r  r  rC  r   r   r   s     r0   test_sum_broadcasting_paramz.TestShapeInference.test_sum_broadcasting_param	  s      k'5k'5 usCj5'223
 
 	*5+2C[QQR	
 	
 	
 	
 	
r7   c           
         |                      g t          dg dgt          j        d          gg           }|                     |t          dt          j        d          g           d S )NRandomNormalrC  r6  )r  r   )rf   r   r   r  r   r   r   s     r0   test_random_normalz%TestShapeInference.test_random_normal	  s      "G%,#   
 
 	*5+2DiPPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r   RandomNormalLikerC  r   r   s     r0   test_random_normal_likez*TestShapeInference.test_random_normal_like	  s}      ;$i01)C55'::;
 

 	*5+2CYOOP	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     |t          dt          j        d          g           d S )Nr   r   r!  rC  r  rf   r   r   r   r  r   r   r   s     r0   "test_random_normal_like_with_dtypez5TestShapeInference.test_random_normal_like_with_dtype	  s      ;$i01&EG%,	   
 
 	*5+2DiPPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r  	BernoullirC  r   r   s     r0   test_bernoulliz!TestShapeInference.test_bernoulli	  s|      ;$f-.{SEE7334
 

 	*5+2CVLLM	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgt          j                  gg           }|                     |t          dt          j        d          g           d S )NrR   r   r'  rC  r  r$  r   s     r0   test_bernoulli_with_dtypez,TestShapeInference.test_bernoulli_with_dtype
  s      ;$i01EG%,	   
 
 	*5+2DiPPQ	
 	
 	
 	
 	
r7   
input_typeTensorProto.DataTypec                    |                      d|dfd|dfgt          |ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r   r   rf   r   r   r   r   rJ  r_   r   r+  r   s       r0   _logical_binary_opz%TestShapeInference._logical_binary_op
  s      :z*S*j,IJrC:s++,
 

 	*30@*MMN	
 	
 	
 	
 	
r7   c                    |                      d|dfd|dfgt          |ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r   r   r   r.  r/  s       r0   $_logical_binary_op_with_broadcastingz7TestShapeInference._logical_binary_op_with_broadcasting"
  s       :v&j*(EFrC:s++,
 

 	*30@*MMN	
 	
 	
 	
 	
r7   c                    |                      dt          j                   |                     dt          j                   d S )NAndr0  r   rJ  r2  r  s    r0   test_logical_andz#TestShapeInference.test_logical_and.
  :    {'788811%9IJJJJJr7   c                    |                      dt          j                   |                     dt          j                   d S )NOrr5  r  s    r0   test_logical_orz"TestShapeInference.test_logical_or2
  s:    k&677711$8HIIIIIr7   c                    |                      dt          j                   |                     dt          j                   d S )NXorr5  r  s    r0   test_logical_xorz#TestShapeInference.test_logical_xor6
  r7  r7   c                    |                      dt          j                   |                     dt          j                   d S )NGreaterr5  r  s    r0   test_greaterzTestShapeInference.test_greater:
  s:    	;+;<<<11)[=MNNNNNr7   c                    |                      dt          j                   |                     dt          j                   d S )NLessr5  r  s    r0   	test_lesszTestShapeInference.test_less>
  s:    (899911&+:JKKKKKr7   c                    |                      dt          j                   |                     dt          j                   d S NEqualr5  r  s    r0   
test_equalzTestShapeInference.test_equalB
  s:    )9:::11';;KLLLLLr7   c                    |                      dt          j                   |                     dt          j                   d S rE  )r0  r   r   r2  r  s    r0   test_equal_stringz$TestShapeInference.test_equal_stringF
  s:    );<<<11';;MNNNNNr7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   Notr   )rf   r   rJ  r   r   r   r   s     r0   test_logical_notz#TestShapeInference.test_logical_notJ
  sy      ;#Z01IecUC4P4P3QSU
 
 	*30@*MMN	
 	
 	
 	
 	
r7   c                    |                      dt          j                   |                     dt          j                   d S )NLessOrEqualr5  r  s    r0   test_less_or_equalz%TestShapeInference.test_less_or_equalR
  s:    {/?@@@11-AQRRRRRr7   c                    |                      dt          j                   |                     dt          j                   d S )NGreaterOrEqualr5  r  s    r0   test_greater_or_equalz(TestShapeInference.test_greater_or_equalV
  s<     0+2BCCC112BKDTUUUUUr7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   rT   r   r   r>   Flattenr   rT   r<  )r0     r   r   s     r0   test_flattenzTestShapeInference.test_flattenZ
  s      ;$l34y3%#Q7778
 

 	*30A7KKL	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   rT  rU  r   )rT   <   r   r   s     r0   test_flatten_default_axisz,TestShapeInference.test_flatten_default_axisd
  s|      ;$l34y3%#//0
 

 	*30A7KKL	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   rT  rU  r   r   r<  )r   x   r   r   s     r0   test_flatten_zero_axisz)TestShapeInference.test_flatten_zero_axisn
  s      ;$l34y3%#Q7778
 

 	*30A8LLM	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   )rT   r  r   r>   rU  r   rT   r<  )NrV  r   r   s     r0   test_flatten_unknown_dimz+TestShapeInference.test_flatten_unknown_dimx
  s      ;$n56y3%#Q7778
 

 	*30A:NNO	
 	
 	
 	
 	
r7   c           	         d}|                      dt          j        dfgt          ddgdg|          gg           }|                     |t          dt          j        d          g           d S )Nr4  rR   rT   r   d   rb  SpaceToDepthr   	blocksizerT   ,  r4  r4  r   r_   r   r   s      r0   test_space_to_depthz&TestShapeInference.test_space_to_depth
  s      ;$&678~useqAAAB
 

 	*30ACSTTU	
 	
 	
 	
 	
r7   c           	         d}|                      dt          j        dfgt          ddgdg|          gg           }|                     |t          dt          j        d          g           d S )Nr4  rR   )rT   r  rb  rb  rc  r   rd  )rT   Nr4  r4  r   rh  s      r0   test_space_to_depth_unknown_dimz2TestShapeInference.test_space_to_depth_unknown_dim
  s      ;$&89:~useqAAAB
 

 	*30ACTUUV	
 	
 	
 	
 	
r7   c           
         d}|                      dt          j        dfgt          ddgdg|d          gg           }|                     |t          dt          j        d          g           d S )	Nr4  rR   rf  DepthToSpacer   DCR)re  modera  r   rh  s      r0   test_depth_to_spacez&TestShapeInference.test_depth_to_space
  s      ;$&678~usequMMMN
 

 	*30ACSTTU	
 	
 	
 	
 	
r7   seqlenint	batchsizeinpsize
hiddensizec                h   |                      dt          j        |||ffdt          j        d||ffdt          j        d||ffgt          dg dddg|	          gg           }|                     |t          dt          j        |d||f          t          dt          j        d||f          g           d S )
NrR   wr   rRNNrR   rw  rx  alllasthidden_sizer   r_   rq  rs  rt  ru  r   s         r0   _rnn_forwardzTestShapeInference._rnn_forward
  s       k'&)W)EFk'!Z)ABk'!Z)DE ???UFO  
 
 
 	&;,vq)Z.P  'K-9j/I 	
	
 
	
 
	
 
	
 
	
r7   c                6    |                      dddd           d S Nr2      r4  r   )r  r  s    r0   test_rnn_forwardz#TestShapeInference.test_rnn_forward
  s"    "b"a(((((r7   c                j   |                      dt          j        |||ffdt          j        d||ffdt          j        d||ffgt          dg dddg|d	
          gg           }|                     |t          dt          j        |d||f          t          dt          j        d||f          g           d S )NrR   rw  rT   rx  ry  rz  r{  r|  bidirectional)r~  r
  r   r  s         r0   _rnn_bidirectionalz%TestShapeInference._rnn_bidirectional
  s       k'&)W)EFk'!Z)ABk'!Z)DE #OOFO *-   
 
" 	&;,vq)Z.P  'K-9j/I 	
	
 
	
 
	
 
	
 
	
r7   c                h    |                      dddd           |                      ddddd           d S )Nr2  r  r4  r   r  )_rnn_layoutr  s    r0   test_rnn_layoutz"TestShapeInference.test_rnn_layout
  s>    RQ'''RQ88888r7   forwardr
  c                   |                      dt          j        |||ffdt          j        d||ffdt          j        d||ffgt          dg dddg|d|	          gg           }|d
k    rd}nd}|                     |t          dt          j        ||||f          t          dt          j        |||f          g           d S )NrR   rw  r   rx  ry  rz  r{  r|  )r~  layoutr
  r  rT   r   )r_   rq  rs  rt  ru  r
  r   num_directionss           r0   r  zTestShapeInference._rnn_layout
  s      k')VW)EFk'!Z)ABk'!Z)DE #OOFO *'  	 !
 
$ ''NNN&%
C 
 'K-	>:/V 		
 	
 	
 	
 	
r7   c                6    |                      dddd           d S r  )r  r  s    r0   test_rnn_bidirectionalz)TestShapeInference.test_rnn_bidirectional  s"    BA.....r7   c                   |                      dt          j        |||ffdt          j        dd|z  |ffdt          j        dd|z  |ffgt          dg dg d|	          gg           }|                     |t          d
t          j        |d||f          t          dt          j        d||f          t          dt          j        d||f          g           d S )NrR   rw  r   r   rx  LSTMrz  )r{  hiddenr|  r}  r{  r  r|  r   r  s         r0   _lstm_forwardz TestShapeInference._lstm_forward  s"      k'&)W)EFk'!Q^W)EFk'!Q^Z)HI #OO--- *	   
 
  	&;,vq)Z.P  'k/!Y
1K  'K-9j/I 
	
 	
 	
 	
 	
r7   c                6    |                      dddd           d S r  )r  r  s    r0   test_lstm_forwardz$TestShapeInference.test_lstm_forward7  s"    2r2q)))))r7   c                F   |                      dt          j        dfgt          dddgddg          gg t	          dt          j        dd          g	          }|                     |t          dt          j        d
          t          dt          j        d
          g           d S )NrR   r   r   r>   r4  TopKkr   r   r  r   r  )r   r   r>   rT   rf   r   r   r   r   r^   r   r   r   s     r0   test_topk_default_axisz)TestShapeInference.test_topk_default_axis:  s      ;$m45vSzC:667$S+*;T4HHI	 ! 
 
 	&sK,=|LL&sK,=|LL	
 	
 	
 	
 	
r7   c                J   |                      dt          j        dfgt          dddgddgd          gg t	          dt          j        d	d
          g          }|                     |t          dt          j        d          t          dt          j        d          g           d S )NrR   r  r  r  r   r   rT   r<  r  r   r  )r   r   rT   r4  r  r   s     r0   	test_topkzTestShapeInference.test_topkI  s      ;$m45vSzC:A>>>?$S+*;T4HHI	 ! 
 
 	&sK,=}MM&sK,=}MM	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          dddgddgd          gg t	          dt          j        d	t          j        d
gd                                          d          g          }| 	                    |t          dt          j        d          t          dt          j        d          g           d S )NrR   r  r  r  r   r   rT   r<  r  r   r  r  Tr  r  )r   r   r   r4  )rf   r   r   r   r   r^   r   r  r  r   r   r   s     r0   test_topk_raw_dataz%TestShapeInference.test_topk_raw_dataX  s      ;$m45vSzC:A>>>?%1#U333;;==  	 ! 
 
 	&sK,=}MM&sK,=}MM	
 	
 	
 	
 	
r7   c           	     ,   |                      dt          j        dfdt          j        dfgt	          dddgddgd	          gg           }|                     |t          dt          j        d
          t          dt          j        d
          g           d S )NrR   r  r  r  r  r   r   rT   r<  )NNNNre  r   s     r0   +test_topk_missing_k_value_output_rank_checkz>TestShapeInference.test_topk_missing_k_value_output_rank_checko  s      ;$m4sK<Mt6TUvSzC:A>>>?
 

 	&*,D  '*,D 	
	
 
	
 
	
 
	
 
	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddg          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r;  r>   r   r>   r  r   GemmrB  rC  r;  r  r   r   s     r0   	test_gemmzTestShapeInference.test_gemm  s      k'0k'1k'.
 v889
 
 	*5+2CWMMN	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddgd	
          gg           }|                     |t          dt          j        d          g           d S )NrR   r>   r;  r   r  r   r  rB  rC  r   )transAr  r   r   s     r0   test_gemm_transAz#TestShapeInference.test_gemm_transA        k'0k'1k'.
 vBBBC
 
 	*5+2CWMMN	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddgd	
          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r   r  r>   r   r  rB  rC  r   )transBr  r   r   s     r0   test_gemm_transBz#TestShapeInference.test_gemm_transB  r  r7   c           
        |                      dt          j        dfdt          j        dfdt          j        d fgt          dg ddgd	d	
          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r   r  r   r  rB  rC  r   )r  r  r  r   r   s     r0   test_gemm_transA_and_transBz.TestShapeInference.test_gemm_transA_and_transB  s      k'0k'1k'.
 v!LLLM
 
 	*5+2CWMMN	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   )   r;  r   )r;     r  rC  )r  r  r   r   s     r0   test_gemm_no_biasz$TestShapeInference.test_gemm_no_bias  s      ;$g.k6G0QRvSzE7334
 

 	*5+2CXNNO	
 	
 	
 	
 	
r7   c                N   |                      dt          j        dfgt          ddddd          gg t	          dt          j        d	d          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrR   r7  r   r  ReduceL1r   r   r   r  keepdimsr  r   r  r  r  r7  r   rf   r   r   r   r   r^   r   r-   r/   r   r   rP  s      r0   #test_reduce_op_shape_2_axis_opset13z6TestShapeInference.test_reduce_op_shape_2_axis_opset13  s      ;$k23z3&1EEEF$V[->fMMN	 ! 
 
 +,,! "#C):EBBC(/ 	 	
 	
 	
 	
 	
r7   c                l   |                      dt          j        dfdt          j        dfgt	          dddgdd          gg t          dt          j        dd	          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrR   r  r  r   r  r   r   r  r   r  r  r  r  r   rf   r   r   r^   r   r   r   r-   r/   r   r   rP  s      r0   #test_reduce_op_shape_2_axis_opset18z6TestShapeInference.test_reduce_op_shape_2_axis_opset18  s      ;$k2V[=NPT4UVzC=#BBBC$V[->fMMN	 ! 
 
 +,,! "#C):EBBC(/ 	 	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfgt          ddddd          gg g           }t	          d	d
          }|                     |t          dt          j        d          g|g           d S )NrR   r7  r   r  r  r   r  r   r  r  r  r  r-   r/   r7  r   r  r   )rf   r   r   r   r   r   r   rP  s      r0    test_reduce_op_empty_set_opset13z3TestShapeInference.test_reduce_op_empty_set_opset13  s      ;$k23z3$CCCD	 ! 
 
 +"bAAA#C):KHHI(/ 	 	
 	
 	
 	
 	
r7   c                V   |                      dt          j        dfdt          j        dfgt	          dddgdd          gg t          dt          j        dd          g	          }t          d
d          }|                     |t          dt          j        d          g|g           d S )NrR   r  r  r  r  r   r   r  r  r  r  r  r  r   )	rf   r   r   r^   r   r   r   r   r   rP  s      r0    test_reduce_op_empty_set_opset18z3TestShapeInference.test_reduce_op_empty_set_opset18  s      ;$k2V[=NPT4UVzC=#BBBC$V[->dKKL	 ! 
 
 +"bAAA#C):KHHI(/ 	 	
 	
 	
 	
 	
r7   c                N   |                      dt          j        dfgt          ddddd          gg t	          dt          j        d	d          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrR   r  r  r   r   r   r  r  r   r  r  r  r7  r   r   r   r  rP  s      r0   &test_reduce_op_shape_keep_dims_opset13z9TestShapeInference.test_reduce_op_shape_keep_dims_opset13  s      ;$k23z3&1EEEF$V[->fMMN	 ! 
 
 +,,! "#C):JGGH(/ 	 	
 	
 	
 	
 	
r7   c                l   |                      dt          j        dfdt          j        dfgt	          dddgdd          gg t          dt          j        dd	          g
          }t                      }d|_        d|_        | 	                    |t          dt          j        d          g|g           d S )NrR   r  r  r   r  r   r   r  r   r  r  r  r  r   r  rP  s      r0   &test_reduce_op_shape_keep_dims_opset18z9TestShapeInference.test_reduce_op_shape_keep_dims_opset18  s      ;$k2V[=NPT4UVzC=#BBBC$V[->fMMN	 ! 
 
 +,,! "#C):JGGH(/ 	 	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  r   r`  r   r   s     r0   "test_reduce_op_shape_default_valuez5TestShapeInference.test_reduce_op_shape_default_value!  sx      ;$k23z3,,-
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          dddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  r   r   r  r3   r   r   s     r0   -test_reduce_op_shape_no_axes_do_not_keep_dimsz@TestShapeInference.test_reduce_op_shape_no_axes_do_not_keep_dims+  s}      ;$k23z3a8889
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrR   r  r  r   r  r   )r&   r  r  r  rW  r   s     r0   "test_reduce_op_shape_negative_axisz5TestShapeInference.test_reduce_op_shape_negative_axis5  s      ;$k2V[=NPT4UVzC=#667$V[->hOOP	 ! 
 
 	*30A:NNO	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  ArgMaxr   r   r=  r  r  rf   r   r   r   r   r   r^   r   s     r0   test_argmax_shapez$TestShapeInference.test_argmax_shape@  s      ;$k23xcA>>>?
 

 	*30A;OOP	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  r   r   r  )r   r  r  r   s     r0   test_argmax_shape_keepdimsz-TestShapeInference.test_argmax_shape_keepdimsJ  s      ;$k23xcA>>>?
 

 	*30A7KKL	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  r   )r   r   r  r  r   s     r0   test_argmax_shape_default_valuez2TestShapeInference.test_argmax_shape_default_valueT  sw      ;$k23i#s6S6S5TVX
 
 	*30A:NNO	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          dddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  r   r  r<  r  r  r   s     r0   test_argmax_shape_negative_axisz2TestShapeInference.test_argmax_shape_negative_axis\  s}      ;$k23xc3334
 

 	*30A;OOP	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )Ndatar6  ratior3   DropoutrC  r   r   s     r0   test_dropoutzTestShapeInference.test_dropoutf  s       % ++R0 y67"3eW==>
 
  	&% 
	
 	
 	
 	
 	
r7   c                8    |                      dddd           d S )NLRN      ?r   )alphabetasizer  r  s    r0   test_LRNzTestShapeInference.test_LRN  s%    E3Q?????r7   c           	     F   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g          gg           }|                     |t          d
t          j        d          g           d S )NrR   r  r  rx  r   meanvarBatchNormalizationrR   r  r   r  r  rC  r   r   s     r0   test_batch_normz"TestShapeInference.test_batch_norm  s      k'9++T2k'.*D1)40 (*L*L*Lug 
 
 
 	*5+2C_UUV	
 	
 	
 	
 	
r7   c           	     F   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g          gg           }|                     |t          d
t          j        d          g           d S )NrR   r1  r  r  r   r  r  r  r  rC  r   r   s     r0   test_batch_norm_rank1z(TestShapeInference.test_batch_norm_rank1  s      k'0++T2k'.*D1)40 (*L*L*Lug 
 
 
 	*5+2CVLLM	
 	
 	
 	
 	
r7   c           	     <   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          gg           }|                     t
          j        j        | j        |           d S )NrR   r  r  r   r   r  r  r  r  r  rC  r   r   s     r0   test_batch_norm_invalidz*TestShapeInference.test_batch_norm_invalid  s      k'0++V4k'.*D1)40 (*L*L*Lug 
 
 
 	$.=t~uUUUUUr7   c           
        |                      dt          j        dfgt          ddgddgdd          gg           }|                     |t          dt          j        d	          t          dt          j        d	          g           d S )
NrR   r   Splitr   r   r&   rT   r=  num_outputsr1  r   r   s     r0   test_split_negative_axisz+TestShapeInference.test_split_negative_axis  s      ;$f-.wSzJJJK
 

 	&sK,=vFF&sK,=vFF	
 	
 	
 	
 	
r7   c                f   |                      dt          j        dfdt          j        dfgt	          dddgddgd	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          t          dt          j        d          g           d S )NrR   r   splitr   r  r   r   r   r<  r  r  r   r   rW  r   s     r0   test_split_with_split_attributez2TestShapeInference.test_split_with_split_attribute  s      ;$f-9JD/QRwgc
CCCD$Wk.?vNNO	 ! 
 
 	&sK,=vFF&sK,=vFF	
 	
 	
 	
 	
r7   c                f   |                      dt          j        dfdt          j        dfgt	          dddgddgd	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          t          dt          j        d          g           d S )NrR   )rT   r   r   r  r   r  r   r   r   r<  r  r  )rT   Nr   rW  r   s     r0   1test_split_with_split_attribute_unknown_split_dimzDTestShapeInference.test_split_with_split_attribute_unknown_split_dim  s      k'7++T2 wgc
CCCD$Wk.?vNNO ! 
 
 	&sK,=~NN&sK,=~NN	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfgt          ddgddgdd          gg           }|                     |t          dt          j        d	          t          dt          j        d	          g           d S )
NrR   rm  r  r   r   r   rT   r  r>   r   r;  r   r   s     r0   test_split_from_GLUz&TestShapeInference.test_split_from_GLU  s      ;$i01wSzqIIIJ
 

 	&sK,=yII&sK,=yII	
 	
 	
 	
 	
r7   c           
     D   |                      dt          j        dfgt          ddgg ddd          gg           }|                     |t          dt          j        d	          t          d
t          j        d	          t          dt          j        d          g           d S )NrR   )rZ  rT   r  r   r   r   r   r   r  r   r  r   r   r1  r   r   s     r0   test_split_uneven_split_2dz-TestShapeInference.test_split_uneven_split_2d   s      ;$f-.wQANNNO
 

 	&sK,=vFF&sK,=vFF&sK,=vFF	
 	
 	
 	
 	
r7   c           
     D   |                      dt          j        dfgt          ddgg ddd          gg           }|                     |t          dt          j        d	          t          d
t          j        d	          t          dt          j        d          g           d S )NrR   )rT   r;  r   r  r  r   r   r  r   rT   r   r   r   r   rT   r   r   r   r   s     r0   test_split_uneven_split_3dz-TestShapeInference.test_split_uneven_split_3d  s      ;$i01wQANNNO
 

 	&sK,=yII&sK,=yII&sK,=yII	
 	
 	
 	
 	
r7   c           
     h   |                      dt          j        dfgt          ddgddgdd          t          d	dgd
g          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d
t          j        d          g           d S )NrR   rm  r  r   r   r   rT   r  Sigmoidr   r  r   r   s     r0   test_GLU_partialz#TestShapeInference.test_GLU_partial  s      ;$i01'C53*1!LLL)cUSE22 
 
 	&sK,=yII&sK,=yII&sK,=yII	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          ddgddgdd          t          d	dgd
g          t          ddd
gdg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d
t          j        d          t          dt          j        d          g           d S )NrR   rm  r  r   r   r   rT   r  r  r   Mulr   r  r   r   s     r0   test_GLUzTestShapeInference.test_GLU0  s      ;$i01'C53*1!LLL)cUSE22%#scU33
 
 
 	&sK,=yII&sK,=yII&sK,=yII&sK,=yII		
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r>   Softmaxr   r   r   s     r0   test_softmax_2dz"TestShapeInference.test_softmax_2dD  y      ;$f-.9seS1Q1Q0RTV
 
 	*30A6JJK	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  r  r   r   r   s     r0   test_softmax_3dz"TestShapeInference.test_softmax_3dL  z      ;$i01y3%--.
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  Hardmaxr   r   r   s     r0   test_hardmax_2dz"TestShapeInference.test_hardmax_2dV  r  r7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  r  r   r   r   s     r0   test_hardmax_3dz"TestShapeInference.test_hardmax_3d^  r  r7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  
LogSoftmaxr   r   r   s     r0   test_logsoftmax_2dz%TestShapeInference.test_logsoftmax_2dh  sz      ;$f-.|cUC001
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  r   r   r   r   s     r0   test_logsoftmax_3dz%TestShapeInference.test_logsoftmax_3dr  sz      ;$i01|cUC001
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdd          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  r   r   r&   r<  r   r   s     r0    test_logsoftmax_3d_negative_axisz3TestShapeInference.test_logsoftmax_3d_negative_axis|  s      ;$i01|cUCb999:
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddgdgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  MaxPoolr   rT   r  r>   r   r   r   r   r   s     r0   test_maxpoolzTestShapeInference.test_maxpool  s      ;$l34y3%#aVDDDE
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfgt          ddgddgddg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )	Nr   r  r'  r   ZrT   r(  r)  r  r   s     r0   test_maxpool_with_indicesz,TestShapeInference.test_maxpool_with_indices  s      ;$l34y3%#s1a&IIIJ
 

 	&sK,=|LL&sK,=|LL	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r>   r   r   r   r   r'  r   rF  r(  r>   r   r   r   r   r   r   s     r0   test_maxpool_3Dz"TestShapeInference.test_maxpool_3D  s      ;$o67y3%#YYYGGGH
 

 	*30A?SST	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgg d          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r'  r   rT   r   r   rT   rT   r  r*  r>   r   r0  r0  r   r   s     r0   test_maxpool_with_paddingz,TestShapeInference.test_maxpool_with_padding  s      ;$l34use1a&|||  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgg dddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r'  r   rT   r3  r  r*  r$  r)  r   r   s     r0   $test_maxpool_with_padding_and_stridez7TestShapeInference.test_maxpool_with_padding_and_stride  s      ;$l34EE"#Q%F  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d          g           d S )	Nr   r     #   r=  r'  r   rT   Fr  r$  	ceil_mode)r  r<  r  r  r   r   s     r0   test_maxpool_with_floor_modez/TestShapeInference.test_maxpool_with_floor_mode  s      ;$&789EE"#QF#  	 
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d          g           d S )	Nr   r;  r'  r   rT   Tr>  )r  r<  r  r  r   r   s     r0   test_maxpool_with_ceil_modez.TestShapeInference.test_maxpool_with_ceil_mode  s      ;$&789EE"#QF"  	 
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r   r   r   r   r'  r   r   rT   Tr>  r3  r   r   s     r0   test_maxpool_ceilz$TestShapeInference.test_maxpool_ceil  s      ;$l34EE"#QF"  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r'  r   rT   r  r  r   r   s     r0   test_maxpool_with_dilationsz.TestShapeInference.test_maxpool_with_dilations  s      ;$l34y3%#aVPQSTvVVVW
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r'  r   r  rT   r  r  r   r   s     r0   /test_maxpool_with_same_upper_padding_and_stridezBTestShapeInference.test_maxpool_with_same_upper_padding_and_stride        ;$l34EE)"#QF  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r'  r   r  rT   r   r  r  r   r   s     r0   <test_maxpool_with_same_upper_padding_and_stride_and_dilationzOTestShapeInference.test_maxpool_with_same_upper_padding_and_stride_and_dilation        ;$l34EE)"#QF !f  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r'  r   r  rT   r   r  r   r   s     r0   3test_maxpool_with_same_upper_padding_and_stride_onezFTestShapeInference.test_maxpool_with_same_upper_padding_and_stride_one3  rJ  r7   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r>   r   r"  r"  r'  r   
SAME_LOWERrT   r  r>   r   r>   r>   r   r   s     r0   /test_maxpool_with_same_lower_padding_and_stridezBTestShapeInference.test_maxpool_with_same_lower_padding_and_strideF  rJ  r7   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   rQ  r'  r   rR  rT   r   r  rS  r   r   s     r0   <test_maxpool_with_same_lower_padding_and_stride_and_dilationzOTestShapeInference.test_maxpool_with_same_lower_padding_and_stride_and_dilationY  rM  r7   c                    |                      dt          j        dfgt          ddgdgdddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r'  r   rR  rT   r   r  r>   r   r   r   r   r   s     r0   3test_maxpool_with_same_lower_padding_and_big_stridezFTestShapeInference.test_maxpool_with_same_lower_padding_and_big_stridem  rJ  r7   c           
         |                      dt          j        dfgt          ddgdgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r   rT   r(  r)  r   r   s     r0   test_averagepoolz#TestShapeInference.test_averagepool  s      ;$l34}secU!QHHHI
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r/  r  r   rF  r(  r0  r   r   s     r0   test_averagepool_3Dz&TestShapeInference.test_averagepool_3D  s      ;$o67}secUKKKL
 

 	*30A?SST	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgg d          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rT   r3  r4  r5  r   r   s     r0   test_averagepool_with_paddingz0TestShapeInference.test_averagepool_with_padding  s      ;$l34!C53%q!f<<<  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgg dddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  r  r   rT   r3  r8  r)  r   r   s     r0   (test_averagepool_with_padding_and_stridez;TestShapeInference.test_averagepool_with_padding_and_stride  s      ;$l34!EE"#Q%F  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddgd          gg           }|                     |t          dt          j        d	          g           d S )
Nr   rD  r  r   r   rT   Tr>  r3  r   r   s     r0   test_averagepool_ceilz(TestShapeInference.test_averagepool_ceil  s      ;$l34!EE"#QF"  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddgdgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  LpPoolr   rT   r(  r)  r   r   s     r0   test_lppoolzTestShapeInference.test_lppool  s      ;$l34x#QFCCCD
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          ddgdgg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r/  re  r   rF  r(  r0  r   r   s     r0   test_lppool_3Dz!TestShapeInference.test_lppool_3D  s      ;$o67x#IIIFFFG
 

 	*30A?SST	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgg d          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  re  r   rT   r3  r4  r5  r   r   s     r0   test_lppool_with_paddingz+TestShapeInference.test_lppool_with_padding  s      ;$l34x#QFVVVW
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgg dddg          gg           }|                     |t          dt          j        d          g           d S )	Nr   r  re  r   rT   r3  r8  r)  r   r   s     r0   #test_lppool_with_padding_and_stridez6TestShapeInference.test_lppool_with_padding_and_stride  s      ;$l34EE"#Q%F  	 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgddgddg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  re  r   rT   r  r  r   r   s     r0   test_lppool_with_dilationsz-TestShapeInference.test_lppool_with_dilations  s      ;$l34x#QFqRSfUUUV
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdgdddgddgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  re  r   r  rT   r   r  r  r   r   s     r0   ;test_lppool_with_same_upper_padding_and_stride_and_dilationzNTestShapeInference.test_lppool_with_same_upper_padding_and_stride_and_dilation  s      ;$l34EE)"#QF !f  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt	          dddgdgddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  rois)rT   r>   
MaxRoiPoolr   rT   )pooled_shape)rT   r   rT   rT   re  r   s     r0   test_roipoolzTestShapeInference.test_roipool  s      k'6*F3 |c6]SEAOOOP
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r  LpNormalizationrC  r   r   s     r0   test_lp_normzTestShapeInference.test_lp_norm$  s}      ;$o67(3%%99:
 

 	*5+2C_UUV	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )	NrR   r  r  rx  r   InstanceNormalization)rR   r  r   rC  r   r   s     r0   test_instance_normz%TestShapeInference.test_instance_norm.  s      k'9++T2k'.
 .0C0C0CeWMMN
 
 	*5+2C_UUV	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  GlobalMaxPoolr   rX  r   r   s     r0   test_global_maxpoolz&TestShapeInference.test_global_maxpool<  s|      ;$l34u556
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  GlobalAveragePoolr   rX  r   r   s     r0   test_global_averagepoolz*TestShapeInference.test_global_averagepoolF  s}      ;$l34*SEC599:
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r  GlobalLpPoolr   rX  r   r   s     r0   test_global_lppoolz%TestShapeInference.test_global_lppoolP  s|      ;$l34~use445
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdddg          gg           }|                     |t          dt          j        d	          g           d S )
Nr      0   r  r  r  r  r  r   r   ConvTransposer   rT   r#  )r  r  !   r  r   r   s     r0   test_conv_transposez&TestShapeInference.test_conv_transposeZ  s      k')9:k'8 c
C!QHHHI
 
 	*30ACSTTU	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdddgg d	          gg           }|                     |t          dt          j        d
          g           d S )Nr   r  r  r  r  r   rT   r3  )r$  r*  r  r  r   r   r   r   s     r0   test_conv_transpose_with_padsz0TestShapeInference.test_conv_transpose_with_padsg  s      k')9:k'8
 #c3Zq!f<<<  
 
 
 	*30ACSTTU	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgg dd	d	g
          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r  r  r   rT   r3  $   )r$  r*  r  )r  r  r  r  r   r   s     r0   %test_conv_transpose_with_output_shapez8TestShapeInference.test_conv_transpose_with_output_shapex  s      k')9:k'8
 ##JF%"$b  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgddgg d	
          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  )r  r  NNr  r   r   rT   r3  )r  r$  r*  r  r   r   s     r0   %test_conv_transpose_with_kernel_shapez8TestShapeInference.test_conv_transpose_with_kernel_shape  s      k')9:k')=>
 ##J"#QF%  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgg dd	d	g
          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r  r  r   rT   r3  r   )r$  r*  r.  )r  r  "   r  r   r   s     r0   "test_conv_transpose_with_dilationsz5TestShapeInference.test_conv_transpose_with_dilations  s      k')9:k'8
 ##JF% !f  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdddgg dd	          gg           }|                     |t          dt          j        d
          g           d S )Nr   r  r  r  r  r   rT   r3  )r$  r*  r  )r  r2  r   r   r   r   s     r0   test_conv_transpose_with_groupz1TestShapeInference.test_conv_transpose_with_group  s      k')9:k'8
 ##JF%  	 
 
" 	*30ACSTTU	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt          dddgdddgg ddd	d	g
          gg           }|                     |t          dt          j        d          g           d S )Nr   r  r  r  r  r   rT   r3  r  )r$  r*  r  r  )r  r2  r  r  r   r   s     r0   /test_conv_transpose_with_group_and_output_shapezBTestShapeInference.test_conv_transpose_with_group_and_output_shape  s      k')9:k'8
 ##JF%"$b  
 !
 
$ 	*30ACSTTU	
 	
 	
 	
 	
r7   c                N   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	d
ddgg d          gg           }|                     t
          j        j        t
          j        j        t          j
        |          d           d S )Nr   r3  r  r   r   r   r   r  r  r  )r   r  r  r   r  r   )r   r   r   r   )r  r$  r*  Trm   )rf   r   r   r   r   rp   rq   r   rr   r   ro   r   s     r0   +test_conv_transpose_with_pads_and_auto_padsz>TestShapeInference.test_conv_transpose_with_pads_and_auto_pads  s      k'6k'6k'. ##OO)F%  	 !
 
$ 	 / -e$$	 	 	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgddddg	          gg           }|                     |t          dt          j        d
          g           d S )Nr   r  r  r  r  r   r  rT   r  )r  r  r  r  r   r   s     r0   test_conv_transpose_auto_padsz0TestShapeInference.test_conv_transpose_auto_pads  s      k')9:k'8
 ##J)F   
 
  	*30ACSTTU	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfgt          dddg d          gg           }|                     |t          dt          j        d          g           d S )Nr   r  MeanVarianceNormalizationr   )r   rT   r   r  r   r   s     r0   test_mvn_function_output_shapez1TestShapeInference.test_mvn_function_output_shape  s      ;$&6782C999MMMN
 

 	*30ACSTTU	
 	
 	
 	
 	
r7   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        ||ffdt          j        |||ffgt          dg dddgd|          gg           }|                     |t          dt          j        ||f          t          dt          j        |||f          gt          j	        t          d          g           d S )Nr   sequencerT   r   loop_state_inr  loop_state_outr  r  subgraphloop_state_orig
scan_inputScan)r  r  r  loop_state_finalscan_outputnum_scan_inputsbodyrZ  r   r   r   r\   r   r   r   rf   r   r   r   r   )	r_   
batch_sizeseq_len
input_sizeloop_state_sizera   output_value_infosr  r   s	            r0   	test_scanzTestShapeInference.test_scan!  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$5
O7TU{0:w
2ST
 999'7$%!   
 
" 	&&(9J;X  '!;#4z7J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r7   c           
        d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          ddgdg          t          ddgdg          gd	||          }|                     d
t          j        |ffdt          j        ||ffgt          dd
dgddgd|          gg           }|                     |t          dt          j        |f          t          dt          j        ||f          gt          j	        t          d          g           d S )Nr  rT   r   r  r  r  r  r  r  r  r  r  r  r  r   r  r"  r   r  )r_   r  r  r  ra   r  r  r   s           r0   test_scan_opset9z#TestShapeInference.test_scan_opset9[  s   
 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{07J2GH
 &5'7$%!   
 
" 	&&(9O;M  '!;#4w
6K 	 ".{A>>? 	 	
 	
 	
 	
 	
r7   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        |ffdt          j        |||ffgt          dddgddgd|dg          gg           }|                     |t          dt          j        |f          t          dt          j        |||f          gt          j	        t          d          g           d S )Naxis0r  rT   r   r  r  r  r  r  r  r  r  r  r  r  r   )r  r  scan_input_axesr"  r   r  	r_   
axis_0_lenr  r  r  ra   r  r  r   s	            r0   test_scan_opset9_axesz(TestShapeInference.test_scan_opset9_axes  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{0:w
2ST
 &5'7$%!%&C  	 
 
$ 	&&(9O;M  '!;#4w
J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r7   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        |ffdt          j        |||ffgt          dddgddgd|dgdg          gg           }|                     |t          dt          j        |f          t          dt          j        |||f          gt          j	        t          d          g           d S )Nr  r  rT   r   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  scan_output_axesr"  r   r  r  s	            r0   test_scan_opset9_output_axesz/TestShapeInference.test_scan_opset9_output_axes  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{0:w
2ST
 &5'7$%!%&C&'S  
 !
 
& 	&&(9O;M  '!;#4z7J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r7   c                   d}d}d}d}t          dt          j        d           t          dt          j        d           g}t          dt          j        d           t          dt          j        d           g}t          j        t          d	dgdg          t          d	dgdg          gd
||          }|                     dt          j        |ffdt          j        |||ffgt          dddgddgd|dgdg          gg           }|                     |t          dt          j        |f          t          dt          j        |||f          gt          j	        t          d          g           d S )Nr  r  rT   r   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r"  r   r  r  s	            r0   test_scan_opset9_negative_axesz1TestShapeInference.test_scan_opset9_negative_axes  s   

 #?K4I4PP"7K,A4HH

 ##3[5JDQQ"8[-BDII

 $*&7:J9KLL*wi(<< 
 
   "K$57IJ{0:w
2ST
 &5'7$%!%'D&(T  
 !
 
& 	&&(9O;M  '!;#4z7J6W 	 ".{A>>? 	 	
 	
 	
 	
 	
r7   c           
     j   t          j        t          dddgdg          gdg t          dt          j        d           g          }t          j        t          dddgdg          gd	g t          dt          j        d           g          }|                     d
t          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dd
gdg||          gg           }| 	                    |t          dt          j        d          gt          t          d          g           d S )Nr  current_value	add_valuethen_outputthen_subgraphSub	sub_valueelse_outputelse_subgraphcondr  If	if_outputthen_branchelse_branchr4  r   )r   r   r   r   r   r\   rf   rJ  r   r   r   r   r_   r  r  r   s       r0   test_if_ver1zTestShapeInference.test_if_ver1A  sd   
 )u<}oNNO#M;3H$OOP	
 
 )u<}oNNO#M;3H$OOP	
 
   )40 +"3T:k/6k/6	 H M - -   !
 
& 	#K1BDIIJ'R889 	 	
 	
 	
 	
 	
r7   c           
     >   t          j        t          dddgdg          gdg t          dt          j        d           g          }t          j        t          dddgdg          gd	g t          dt          j        d           g          }|                     d
t          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dd
gdg||          gg           }| 	                    |t          dt          j        d          g           d S )Nr  r  r  r  r  r  r  r  r  r  r  r  r  r  
r   r   r   r   r   r\   rf   rJ  r   r   r  s       r0   test_ifzTestShapeInference.test_ifm  sO   
 )u<}oNNO#M;3H$OOP	
 
 )u<}oNNO#M;3H$OOP	
 
   )40 +"3T:k/6k/6	 H M - -   !
 
& 	*;8I4PPQ	
 	
 	
 	
 	
r7   c           
     >   t          j        t          dddgdg          gdg t          dt          j        d          g          }t          j        t          dddgd	g          gd
g t          d	t          j        d          g          }|                     dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          ddgdg||          gg           }| 	                    |t          dt          j        d          g           d S )Nr  r  r  r  r  r  r  r  r  r  r>   r  r  r  r  rW   r  r  s       r0   3test_if_with_different_shapes_in_then_else_brancheszFTestShapeInference.test_if_with_different_shapes_in_then_else_branches  sO   
 )u<}oNNO#M;3H$OOP	
 
 )u<}oNNO#M;3H$OOP	
 
   )40 +"3T:k/6k/6	 H M - -   !
 
& 	*;8I7SST	
 	
 	
 	
 	
r7   c           
     N   t          d          }t          d          }|                     dt          j        dfdt          j        dfdt          j        dfgt          ddgd	g||
          gg           }|                     |t          d	t          j        d           g           d S )NzQthen_graph () => (then_output) { then_output = ReduceSum <keepdims=0> (X, axes) }zKelse_graph () => (else_output) { else_output = ReduceSum <keepdims=0> (X) }r  r  r   r   rZ  r  r  r  r  r  	r    rf   r   rJ  r   r^   r   r   r   r_   
then_graph
else_graphr   s       r0   test_if_no_shape_in_then_branchz2TestShapeInference.test_if_no_shape_in_then_branch  s     _
 

 !Y
 

   )40k'4*D1 H M * *   
 
" 	*;8I4PPQ	
 	
 	
 	
 	
r7   c           
     N   t          d          }t          d          }|                     dt          j        dfdt          j        dfdt          j        dfgt          ddgd	g||
          gg           }|                     |t          d	t          j        d           g           d S )NzKthen_graph () => (then_output) { then_output = ReduceSum <keepdims=0> (X) }zQelse_graph () => (else_output) { else_output = ReduceSum <keepdims=0> (X, axes) }r  r  r   r  r  r  r  r  r  r  s       r0   test_if_no_shape_in_else_branchz2TestShapeInference.test_if_no_shape_in_else_branch  s     Y
 

 !_
 

   )40k'4*D1 H M * *   
 
" 	*;8I4PPQ	
 	
 	
 	
 	
r7   c           
     B   t          j        t          j        dg          }t          j        |          }t          j        d|          }t          j        t          ddgdg          gdg |g          }t          j        t          j        dg          }t          j        |          }t          j        d|          }t          j        t          dd	gdg          gd
g |g          }|                     dt          j	        dfdt          j
        dfd	t          j
        dfgt          ddgdg||          gg           }	t          j        t          j
        d          }
t          j        |
          }t          j        d|          }|                     |	|g           d S )Nr   r   r   then_optional_outputr  then_tensor_valuer  r>   else_optional_outputelse_tensor_valuer  r  r  r  r  r  r  rW   )r   r  r   r\   r  r  r   r   rf   rJ  r   r   )r_   then_tensor_protothen_optional_type_protothen_optional_vir  else_tensor_protoelse_optional_type_protoelse_optional_vir  r   output_tensor_protooutput_optional_type_protooutput_optional_vis                r0   <test_if_with_different_optional_shapes_in_then_else_brancheszOTestShapeInference.test_if_with_different_optional_shapes_in_then_else_branches  s   
 #9!+
 
 
 $*#BCT#U#U !1"$<
 
 )z$7#8;Q:RSST	
 
 #9!+
 
 
 $*#BCT#U#U !1"$<
 
 )z$7#8;Q:RSST	
 
   )40$k&7>$k&7> H M - -   
 
$ %;!'w
 
 
 &,%D&
 &
" $33
 
 	e&8%9:::::r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdddgddg          gg           }|                     |t          dt          j        d          g           d S )	NxTr3  xI	MaxUnpoolr   rT   r  r$  rD  r   r   s     r0   )test_maxunpool_shape_without_output_shapez<TestShapeInference.test_maxunpool_shape_without_output_shape=  s      {(,7{(,7
 $s!QRSUVQW  
 
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c                N   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddd	d	gd	d	g
          gt	          dt          j        d           g          }|                     |t	          dt          j        d           g           d S )Nr  r3  r  r  rx  r  )r  r  r  r   rT   r  )rf   r   r   r   r   r   r   s     r0   &test_maxunpool_shape_with_output_shapez9TestShapeInference.test_maxunpool_shape_with_output_shapeN  s      {(,7{(,7!2D9 000"#QF   $C):DAAB
 
" 	*30A4HHI	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg           }|                     |t          d	t          j        d
          g           d S )Nr'  r1  depthr3   valuesr   OneHotr'  r   r  r   )rT   rT   Nrf   r   r^   r   r   r   r   r   s     r0   test_onehot_without_axisz+TestShapeInference.test_onehot_without_axisd  s      K-v6++R0;,d3
 x!?!?!?EEF
 
 	*30A<PPQ	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	d
          gg           }|                     |t          d	t          j        d          g           d S )Nr'  rT   r   r>   r   r  r  r   r  r  r   r   r<  )rT   Nr   r>   r  r   s     r0   test_onehot_with_axisz(TestShapeInference.test_onehot_with_axisr  s      K-y9++T2;,d3
 x!?!?!?1MMMN
 
 	*30A?SST	
 	
 	
 	
 	
r7   c                F   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	          gg t          dt          j        dd
          g          }|                     |t          d	t          j        d          g           d S )Nr'  r1  r   r3   r  r   r  r  r      r  )rT   rT   r  rf   r   r^   r   r   r   r   r   r   s     r0   test_onehot_without_axis_2z-TestShapeInference.test_onehot_without_axis_2  s      K-v6++R0;,d3
 x!?!?!?EEF$Wk.?VLLM ! 	
 	
 	*30A;OOP	
 	
 	
 	
 	
r7   c                J   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	d
          gg t          dt          j        dd          g          }|                     |t          d	t          j        d          g           d S )Nr'  r  r   r  r  r   r  r  r   r   r<  r
  r  )rT   r  r   r>   r  r   s     r0   test_onehot_with_axis_2z*TestShapeInference.test_onehot_with_axis_2  s      K-y9++T2;,d3
 x!?!?!?1MMMN$Wk.?vNNO ! 	
 	
 	*30A>RRS	
 	
 	
 	
 	
r7   c           	     >   t          dt          j        d          t          dt          j        d           t          dt          j        d          g}t          dt          j        d           t          dt          j        d           t          dt          j        d	          g}t          j        t          d
dgdg          t          d
dgdg          t          d
dgdg          gd||          }|                     dt          j        dfdt          j        dfdt          j        dfdt          j        d	fgt          dg dddg|          gg           }| 	                    |t          dt          j        d           t          dt          j        d          g           d S )Niter_num_inr  cond_inr  r3   cond_outr  r  r   r  outer_scope_inputr  max_trip_count	cond_origr  r   Loop)r  r  r  r  loop_outputr  Nr   
r   r   r^   r\   r   r   r   r   rf   r   r_   ra   r  r  r   s        r0   	test_loopzTestShapeInference.test_loop  s   
 #=+2CTJJ"9k.CTJJ"?K4I2NN
 #:{/DdKK"#3[5JDQQ"8[->EE
 $*ykJ<@@*&7:J9KLL*':&;hZHH
 	
 	
   !;#4d;k/6"K$5t<$k&7>	 FFF'7!	   
 
$ 	&&(94  '}k6GSS		
 	
 	
 	
 	
r7   c           	     `   t          dt          j        d          t          dt          j        d           g}t          dt          j        d           t          dt          j        d          g}t          j        t          ddgdg          t          ddgdg          gd	||          }|                     d
t          j        dfdt          j        dfdt          j        dfgt          dd
dgdg|          gg           }| 	                    |t          dt          j        d          g           d S )Nr  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  s        r0   test_loop_no_statez%TestShapeInference.test_loop_no_state  sX   "=+2CTJJ"9k.CTJJ

 #:{/DdKK"8[->EE

 $*ykJ<@@*':&;hZHH 
 
   !;#4d;k/6$k&7> %{3"O!	   
 
" 	*=+:KYWWX	
 	
 	
 	
 	
r7   c                ~   |                      g t          dg dgt          dt          j        dd                    t          ddgdgt          dt          j        d	d
                    gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )Nri  r   r   r6  rj  ConstantOfShaper   rk  r  r   rf   r   r   r   r^   r|  r   r   r   s     r0   %test_constantofshape_with_input_shapez8TestShapeInference.test_constantofshape_with_input_shape  s      I%g{/@$	RR	   %IE%g{/@$MM	   !
 
$ 	&w0A4HH&sK,=yII	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          ddgdgt	          dt          j        dd                    gg           }|                     |t          dt          j        d	          g           d S )
Nr   r   r!  r   rk  r  r   rj  rA  rf   r   r^   r   r   r  r   r   r   s     r0   (test_constantofshape_without_input_shapez;TestShapeInference.test_constantofshape_without_input_shape  s      {($/0%IE%g{/@$MM	   
 
 	*30ACUVVW	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          ddgdgt	          dt          j        dd                    gg           }|                     |t          dt          j        d	          g           d S )
Nr   r  r!  r   rk  r  r   rj  r3   r%  r   s     r0   /test_constantofshape_without_input_shape_scalarzBTestShapeInference.test_constantofshape_without_input_shape_scalar)  s      {($/0%IE%g{/@$MM	   
 
 	*30A2FFG	
 	
 	
 	
 	
r7   c                ~   |                      g t          dg dgt          dt          j        dd                    t          ddgdgt          dt          j        dd	                    gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nri  r   r  r  rj  r!  r   rk  r   r"  r   s     r0   $test_constantofshape_with_shape_zeroz7TestShapeInference.test_constantofshape_with_shape_zero:  s      I%g{/@$MM	   %IE%g{/@$MM	   !
 
$ 	&w0A4HH&sK,=tDD	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt          dddgdg dg dg d	
          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r   r  ConvIntegerr   r  rp  r  r  r  rf   r   r  r   r   r   r|  r   s     r0   test_convintegerz#TestShapeInference.test_convintegerU  s      k'9k'9
 !#J+++'ii%II  	 
 
" 	*30A?SST	
 	
 	
 	
 	
r7   c           
     0   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g d          gg           }|                     |t          d
t          j        d          g           d S )NrR   r  r   r  x_zero_pointr3   y_zero_pointr,  rR   r   r0  r1  r   r  r-  r  rf   r   r  INT8r   r   r   r|  r   s     r0   test_convinetger_dilationsz-TestShapeInference.test_convinetger_dilationsk  s      k')9:k&(89!2B7!2B7	 !>>>'ii	   
 
" 	*30ACTUUV	
 	
 	
 	
 	
r7   c           
     0   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g d          gg           }|                     |t          d
t          j        d          g           d S )NrR   r  r   r  r0  r3   r1  r,  r2  r   r  r#  r  )rf   r   r4  r  r   r   r   r|  r   s     r0   test_convinteger_stridesz+TestShapeInference.test_convinteger_strides  s      k&(89k&(89!2B7!2B7	 !>>>%II	   
 
" 	*30ACTUUV	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt	          dddgdg d          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  r   r  r,  r   r  r)  r  r3  r   s     r0   test_convineteger_padsz)TestShapeInference.test_convineteger_pads  s      k')9:k&(89 }sCj#<N<N<NOOOP
 
 	*30ACTUUV	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  r   r  r,  r   r   r  r  )rf   r   r4  r   r   r   r|  r   s     r0   test_convineteger_groupz*TestShapeInference.test_convineteger_group  s      k&(89k&8 }sCj#Q???@
 
 	*30ACSTTU	
 	
 	
 	
 	
r7   c           
     0   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g d          gg           }|                     |t          d
t          j        d          g           d S )NrR   r  r   r  r0  r3   r1  r,  r2  r   r  r)  r  r-  r   s     r0   'test_convineteger_partial_missing_shapez:TestShapeInference.test_convineteger_partial_missing_shape  s      k')<=k')9:!2B7!2B7	 !>>>+++	   
 
" 	#C):<PQQR	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdg d          gg           }|                     |t          dt          j        d           g           d S )	NrR   r  r   r  r,  r   r  r)  r-  r   s     r0   .test_convineteger_partial_missing_weight_shapezATestShapeInference.test_convineteger_partial_missing_weight_shape  s      k')9:k')<= }sCj#<N<N<NOOOP
 
 	*30A4HHI	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg dg dg d          gg           }|                     |t          dt          j        d          g           d S )NrR   r  x_scaler3   r0  rw  r  w_scalew_zero_pointy_scaler1  QLinearConvrR   rA  r0  rw  rB  rC  rD  r1  r   r  rp  r  r  r  rf   r   r  r   r   r   r   r   s     r0   test_qlinearconvz#TestShapeInference.test_qlinearconv  s     k'9K-r2!2B7k'9K-r2!2B7K-r2!2B7	 !	 	 	 +++'ii%II  & =
 
@ 	*30A?SST	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrR   r  rA  r3   r0  rw  r  rB  rC  rD  r1  rE  rF  r   r  r-  r  rG  r   s     r0   test_qlinearconv_dilationsz-TestShapeInference.test_qlinearconv_dilations  s      k')9:K-r2!2B7k')9:K-r2!2B7K-r2!2B7	 !	 	 	 'ii  " 9
 
< 	*30ACTUUV	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrR   r  rA  r3   r0  rw  r  rB  rC  rD  r1  rE  rF  r   r  r#  r  rf   r   r4  r   r   r   r   r   s     r0   test_qlinearconv_stridesz+TestShapeInference.test_qlinearconv_strides  s      k&(89K-r2!126k&(89K-r2!126K-r2!126	 !	 	 	 %II  " 9
 
< 	*30@BSTTU	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrR   r  rA  r3   r0  rw  r  rB  rC  rD  r1  rE  rF  r   r  r)  r  )rf   r   r  r   r4  r   r   r   r   s     r0   test_qlinearconv_padsz(TestShapeInference.test_qlinearconv_pads@  s     k')9:K-r2!2B7k&(89K-r2!126K-r2!2B7	 !	 	 	 +++  " 9
 
< 	*30ACTUUV	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  rA  r3   r0  rw  r  rB  rC  rD  r1  rE  rF  r   r   r  r  rL  r   s     r0   test_qlinearconv_groupz)TestShapeInference.test_qlinearconv_groupc  s      k&(89K-r2!126k&8K-r2!126K-r2!126	 !	 	 	   " 9
 
< 	*30@BRSST	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d          g           d S )NrR   r  rA  r3   r0  rw  r  rB  rC  rD  r1  rE  rF  r   r  r)  r  rG  r   s     r0   &test_qlinearconv_partial_missing_shapez9TestShapeInference.test_qlinearconv_partial_missing_shape  s     k')<=K-r2!2B7k')9:K-r2!2B7K-r2!2B7	 !	 	 	 +++  " 9
 
< 	#C):<PQQR	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg ddg d          gg           }|                     |t          dt          j        d           g           d S )NrR   r  rA  r3   r0  rw  r  rB  rC  rD  r1  rE  rF  r   r  r)  rG  r   s     r0   -test_qlinearconv_partial_missing_weight_shapez@TestShapeInference.test_qlinearconv_partial_missing_weight_shape  s      k')9:K-r2!2B7k')<=K-r2!2B7K-r2!2B7	 !	 	 	 +++  " 9
 
< 	*30A4HHI	
 	
 	
 	
 	
r7   c                   t          j        t          j        t          j        |                                        |          t          j        t          j        |                                        |                    j        }|                     dt          j        |fdt          j	        dfdt          j        dfdt          j        |fdt          j	        dfdt          j        dfdt          j	        dfd	t          j        dfgt          d
g ddg          gg           }|                     |t          dt          j        |          g           d S Nr   a_scaler3   a_zero_pointr   b_scaleb_zero_pointrD  r1  QLinearMatMul)r   rX  rY  r   rZ  r[  rD  r1  r   )r   r   r   r   r   r   rf   r   r  r   r   r   r   r_   r   r   r   r   s        r0   _make_qlinearmatmul_testz+TestShapeInference._make_qlinearmatmul_test  sV     YIbgfoo&&..v66Ibgfoo&&..v66
 
  	   k'0K-r2!2B7k'0K-r2!2B7K-r2!2B7	 #	 	 	 E   7
 
: 	*30ACUVVW	
 	
 	
 	
 	
r7   c                   |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           d S )	Nr   r   r   r   r   r   r   r   )r^  r  s    r0   test_qlinearmatmulz%TestShapeInference.test_qlinearmatmul      %%dD111%%ff555%%dF333%%fd333%%lLAAA%%fi88888r7   c                   |                      dt          j        |fdt          j        dfdt          j        dfdt          j        |fdt          j        dfdt          j        dfdt          j        dfd	t          j        dfgt	          d
g ddg          gg           }|                     |t          dt          j        |          g           d S rW  rG  r]  s        r0   &_make_qlinearmatmul_test_allow_unknownz9TestShapeInference._make_qlinearmatmul_test_allow_unknown  s       k'0K-r2!2B7k'0K-r2!2B7K-r2!2B7	 #	 	 	 E   7
 
: 	*30ACUVVW	
 	
 	
 	
 	
r7   c                   |                      ddd           |                      ddd           |                      ddd           |                      ddd           |                      d	dd           |                      d	d
d           |                      ddd           |                      ddd           |                      d dd            |                      d d d            d S r   )rc  r  s    r0    test_qlinearmatmul_allow_unknownz3TestShapeInference.test_qlinearmatmul_allow_unknown!  s   33GWbIII33D'2FFF33D(FKKK33FHhOOO33IxRRR33I{HUUU33I{KXXX33+|	
 	
 	
 	33D+tLLL33D$EEEEEr7   c                :   t          j        t          j        t          j        |                                        |          t          j        t          j        |                                        |                    j        }|                     dt          j        |fdt          j        |fdt          j        dfdt          j        dfgt          dg ddg          gg           }| 
                    |t          dt          j        |          g           d S )	NAr  rY  r3   r[  MatMulInteger)rg  r  rY  r[  r   )r   r   r   r   r   r   rf   r   r  r   r   r   r|  r]  s        r0   _make_matmulinteger_testz+TestShapeInference._make_matmulinteger_test/  s     YIbgfoo&&..v66Ibgfoo&&..v66
 
  	   k'0k'0!2B7!2B7	 #%O%O%ORUQV 
 
 
 	*30ACUVVW	
 	
 	
 	
 	
r7   c                   |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           |                      dd           d S )Nr   r   r   r   r   r   r   )ri  r  s    r0   test_matmulintegerz%TestShapeInference.test_matmulintegerH  ra  r7   c                    |                      d|dfd|dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )	NrR   r   rD  r3   r1  QuantizeLinearrR   rD  r1  r   rf   r   r  r   r   r   r_   r   r   s      r0   test_quantizelinearz&TestShapeInference.test_quantizelinearP  s       i,Ir*!2B7
 ')I)I)IC5QQR
 
 	*30A:NNO	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r   rD  r3   rm  r   rf   r   r   r   r   r   r  r   s     r0   test_quantizelinear_default_zpz1TestShapeInference.test_quantizelinear_default_zpa  s      ;$j1I{?PRT3UV'#y)9C5AAB
 

 	*30A:NNO	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )NrR   r   rD  r3   rm  )rR   rD  r  r   rs  r   s     r0   "test_quantizelinear_optional_inputz5TestShapeInference.test_quantizelinear_optional_inputk  s      ;$j1I{?PRT3UV')=)=)=uEEF
 

 	*30A:NNO	
 	
 	
 	
 	
r7   c           	     
   |                      dt          j        dfdt          j        dfgt          dddgdgt          j                  gg           }|                     |t          dt          j        d          g           d S NrR   r6  rD  r3   rm  r   output_dtype)rf   r   r   r   UINT4r   r   r   s     r0    test_quantizelinear_output_dtypez3TestShapeInference.test_quantizelinear_output_dtypeu  s      ;$i09k>OQS2TU$)$E!,!2	   
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c           	     &   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgt          j        	          gg           }|                     |t          dt          j        d          g           d S 
NrR   r6  rD  r3   r1  rm  rn  r   ry  )rf   r   r   UINT16r   r   r   r   s     r0   #test_quantizelinear_zp_output_dtypez6TestShapeInference.test_quantizelinear_zp_output_dtype  s      k'3K-r2!3R8 $444E!,!3	   
 
  	*30BINNO	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddgt          j        	          gg           }|                     t          j        j	        | j
        |           d S r~  )rf   r   r   r  r   INT4r   rp   rq   r   rv   r   s     r0   .test_quantizelinear_zp_output_dtype_conflictedzATestShapeInference.test_quantizelinear_zp_output_dtype_conflicted  s      k'3K-r2!3R8 $444E!,!1	   
 
" 	 /N	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgt          j                  gg           }|                     t          j        j        | j	        |           d S rx  )
rf   r   r   r   r  r   rp   rq   r   rv   r   s     r0   (test_quantizelinear_invalid_output_dtypez;TestShapeInference.test_quantizelinear_invalid_output_dtype  s       ;$i09k>OQS2TU$)$E!,!4	   
 
 	 /N	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfd|dfdt          j        dfgt          dg ddg          gg           }|                     |t          d|d          g           d S )	NrR   r   rA  r3   r0  DequantizeLinear)rR   rA  r0  r   ro  rp  s      r0   test_dequantizelinearz(TestShapeInference.test_dequantizelinear  s       k'4Ir*!2B7
 )+K+K+KcUSST
 
 	*3	:FFG	
 	
 	
 	
 	
r7   c           
     >   |                      dt          j        dfgt          ddgg d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S )	NrR   r   DynamicQuantizeLinear)r   rD  r1  r   rD  r3   r1  rs  r   s     r0   test_dynamicquantizelinearz-TestShapeInference.test_dynamicquantizelinear  s      ;$j12+cU4T4T4T 
 
 
 	&sK,=zJJ&y+2CRHH&~{7H"MM	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  sequence_lensr  ReverseSequencer   re  r   s     r0   test_reversesequencez'TestShapeInference.test_reversesequence  s      k'3 +"3T: (3*@3%HHI
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c                r   |                      dt          j        dfgt          ddgg d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          d	t          j        d          g           d S )
Nr   rT   r   rT   Uniquer   r'  inverse_indicescountsr   rW   r'  r  r  r  r   s     r0   test_unique_without_axisz+TestShapeInference.test_unique_without_axis  s      ;$i01x#(U(U(UVVW
 

 	&sK,=wGG&y+2CWMM&'8+:KWUU&x1BGLL		
 	
 	
 	
 	
r7   c                v   |                      dt          j        dfgt          ddgg dd          gg           }|                     |t          dt          j        d          t          d	t          j        d
          t          dt          j        d
          t          dt          j        d
          g           d S )Nr   r  r  r  r   r<  r   )rT   NrT   r'  rW   r  r  r  r   s     r0   test_unique_with_axisz(TestShapeInference.test_unique_with_axis  s      ;$i01EAAA	   
 
 	&sK,=|LL&y+2CWMM&'8+:KWUU&x1BGLL		
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr   r%  Detr   r3   )r   r>   r0  r;  r;  r&  r   r   s     r0   test_detzTestShapeInference.test_det"  s      ;$f-.53%#1O1O0PRT
 
 	*30A2FFG	
 	
 	
   ;$o67usecU++,
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrR   r&  repeatsr   Tiler   r  r  r   r4  r  rW  r   s     r0   	test_tilezTestShapeInference.test_tile3  s      ;$i09k>OQU2VWvY/#778$Y0A4SST	 ! 
 
 	*30A;OOP	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dt          j        g dd	                                          d
          g          }| 	                    |t          dt          j        d          g           d S )NrR   r&  r  r   r  r   r  r  r  Tr  r  r  rh  r   s     r0   test_tile_raw_input_dataz+TestShapeInference.test_tile_raw_input_data>  s      ;$i09k>OQU2VWvY/#778%)))5999AACC  	 ! 
 
 	*30A;OOP	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  r  r   r  r   rA  re  r   s     r0   test_tile_rank_inferencez+TestShapeInference.test_tile_rank_inferenceQ  s      ;$i09k>OQU2VWvY/#778
 

 	*30ACUVVW	
 	
 	
 	
 	
r7   z-ONNX_ML required to test ai.onnx.ml operatorsc                ~   |                      dt          j        dfgt          ddgddgt          ddgddgd	d
g          gg           }|                     |t          dt          j        d          t          dt          j        d          gt          t          d	          t          t          d          g           d S )NrR   r  LinearClassifierr   r   g-C6J?g-C6Jr  r   rT   r-   coefficients
interceptsclasslabels_intsr  r   r  r   
rf   r   r   r   r   r   r   r^   r   r   r   s     r0   test_linearclassifier_1D_inputz1TestShapeInference.test_linearclassifier_1D_input[  s      ;$d+,&E#J)"('!2 #Sz&'V  
 
 
 	&sK,=tDD&sK,=vFF
 ^Q//["-- 	 
	
 
	
 
	
 
	
 
	
r7   c                ~   |                      dt          j        dfgt          ddgddgt          g dg dg d	          gg           }|                     |t          dt          j        d
          t          dt          j        d          gt          t          d          t          t          d          g           d S )NrR   r  r  r   r   )皙?皙?g333333?皙?r  g333333?)r  r  g      @r  r  rx  r  r   r  r   r  r   s     r0   test_linearclassifier_2D_inputz1TestShapeInference.test_linearclassifier_2D_inputx  s      ;$f-.&E#J)!?!?!?.%.YY  
 
 
 	&sK,=tDD&sK,=vFF
 ^Q//["-- 	 
	
 
	
 
	
 
	
 
	
r7   c           
        |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	gd
d          gg           }|                     |t          d	t          j        d          g           d S )NrR   r  rr  num_roisr   batch_indicesr  RoiAlignrR   rr  r  r   r4  r>   )output_heightoutput_width)r  r  r4  r>   re  r   s     r0   test_roialign_symbolicz)TestShapeInference.test_roialign_symbolic  s      k')=>*O< +"3]C 222E"$!"   
 
" 	#C):<TUUV	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NrR   r  rr  r  r  r  r  r  r   )r  r  r   r   re  r   s     r0   test_roialign_symbolic_defaultsz2TestShapeInference.test_roialign_symbolic_defaults  s      k')=>*O< +"3]C
 z#A#A#AC5IIJ
 
 	#C):<STTU	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )NrR   r  rr  r  r  )r(  r  r  r   )r(  r  r   r   re  r   s     r0   test_roialign_num_roisz)TestShapeInference.test_roialign_num_rois  s      k')=>*O< +"3U;
 z#A#A#AC5IIJ
 
 	*30A?SST	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          gg           }|                     |t          d
t          j        d          g           d S )Nr   )r  	num_headsr  r  	cos_cachemax_seq_lenhead_size_div_2	sin_cacheposition_idsr  r  RotaryEmbeddingr   r  r  r  r   re  r   s     r0   test_rotaryembedding_4dz*TestShapeInference.test_rotaryembedding_4d  s      k')STk/1STk/1ST!24DE	 %CCCE  
 
  	&*,V 	
 	
 	
 	
 	
r7   c           	     .   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
gd          gg           }|                     |t          d
t          j        d          g           d S )Nr   )r  r  r~  r  r  r  r  r  r  r  r   r   )r  re  r   s     r0   test_rotaryembedding_3dz*TestShapeInference.test_rotaryembedding_3d  s      k')HIk/1STk/1ST!24DE	 %CCCE	   
 
" 	&*,K 	
 	
 	
 	
 	
r7   LabelEncoderT)skip_on_emptyc                   |                      |dk     d           g d}g d}g d}|                     dt          j        dfgt	          ddgd	gt
          ||
          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           |                     dt          j        dfgt	          ddgd	gt
          ||          gg           }|                     |t          d	t          j        d          gt          t
          |          t          t          d          g           d S )NrT   z7keys_* attributes were introduced in ai.onnx.ml opset 2)rg  mr   )g{GW@g      B@g     X)r5     V   rR   r0  r   r  r   )r-   keys_stringsvalues_int64sr  r   r   )r-   keys_int64svalues_stringsr   )r-   keys_floatsr  r  )r-   r  values_floatsr3   )r-   r  r  r   )r-   r  r  )r   rf   r   r   r   r   r   r   r^   r   r   r   )r_   r   r/   string_list
float_list
int64_listr   s          r0   test_label_encoder_string_int64z2TestShapeInference.test_label_encoder_string_int64  se    	aKR	
 	
 	
 &oo***
!\\
  ;%v./"EE)!,",  	 
 
 	#C):FCCD^W55["-- 	 	
 	
 	
   ;$f-."EE) *#.  	 
 
 	#C);VDDE^W55["-- 	 	
 	
 	
   ;$d+,"EE) *",  	 
 
 	#C):DAAB^W55["-- 	 	
 	
 	
   ;$d+,"EE) *",  	 
 
 	#C):DAAB^W55["-- 	 	
 	
 	
   ;$b)*"EE) *#.  	 
 
 	#C);R@@A^W55["-- 	 	
 	
 	
   ;%v./"EE)!,",  	 
 
 	#C):FCCD^W55["-- 	 	
 	
 	
 	
 	
r7   c                $   |                      |dk     d           t          dt          j        dgg d          }t          dt          j        dgg d          }|                     dt          j        dfgt          d	dgd
gt          ||t          dt          j        dgdg                    gg           }|                     |t          d
t          j        d          gt          t          |          t          t          d          g           d S )Nr   z7tensor attributes were introduced in ai.onnx.ml opset 4keys_tensorr   r   ccdddvalues_tensorr   rT   r   r   rR   rS  Nr   r5  r  r   default_tensorr   r   r-   r  r  r  r  r   )r   r   r   r   r^   rf   r   r   r   r   r   r   )r_   r   r/   
key_tensorr  r   s         r0   $test_label_encoder_tensor_attributesz7TestShapeInference.test_label_encoder_tensor_attributes  sE    	aKR	
 	
 	
 !;-s4K4K4K
 

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

 $[.\\\
 

 11b))
   ;%'9:;"EE) *"/#.(+*;aS1#$ $
 
 
 
 
$ 	 /N'	 	 	
 	
 	
   ;%'9:;"EE) *#:#:#:#.(+*<q!fsCj$ $
 
 
 
 
$ 	 /N'	 	 	
 	
 	
 	
 	
r7   r   r  indices_shaper'  r   c                Z   t                      }|j                            |           t          |          }|j                            t          j        dt          j	        |f|                     |j
                            t          j        dt          j	        ||                     |S )Nspvalspind)r   dimsextendr   r  CopyFromr   r   r   r^   r'  )r_   r   r  r  r'  sparsennzs          r0   make_sparsezTestShapeInference.make_sparse   s     #$$5!!!&kkw(9C66JJ	
 	
 	
 	w(9='RR	
 	
 	
 r7   c           	         dg}|                      |g ddgg d          }|                     g t          dg dg|          gg           }|                     |t	          dt
          j        |          g           d S )Nrb  )r  r     r   )r"     Q   ri  r   )sparse_value)r  rf   r   r   r   r   r^   )r_   y_shapey_valuer   s       r0   test_constant_sparsez'TestShapeInference.test_constant_sparse  s    %""7LLL1#{{{KK  :rC5wGGGH"
 
 	*30A7KKL	
 	
 	
 	
 	
r7   c           	         |                      g t          dg dgd          gg           }|                     |t          dt          j        g           g           d S )Nri  r   *   )	value_int)rf   r   r   r   r   r^   r   s     r0   test_constant_value_intz*TestShapeInference.test_constant_value_int  sp      :rC5B???@"
 
 	*30A2FFG	
 	
 	
 	
 	
r7   c           
         g d}|                      g t          dg dg|          gg           }|                     |t          dt          j        t          |          g          g           d S )Nr  ri  r   )
value_ints)rf   r   r   r   r   r^   r   )r_   r  r   s      r0   test_constant_value_intsz+TestShapeInference.test_constant_value_ints$  s    YY
  :rC5ZHHHI2
 
 	*30AC
OOCTUUV	
 	
 	
 	
 	
r7   c           	         |                      g t          dg dgd          gg           }|                     |t          dt          j        g           g           d S )Nri  r   gQ?)value_float)rf   r   r   r   r   r   r   s     r0   test_constant_value_floatz,TestShapeInference.test_constant_value_float-  sp      :rC5dCCCDb
 
 	*30A2FFG	
 	
 	
 	
 	
r7   c           
         g d}|                      g t          dg dg|          gg           }|                     |t          dt          j        t          |          g          g           d S )N)rq  rr  g333333?ri  r   )value_floats)rf   r   r   r   r   r   r   )r_   r
  r   s      r0   test_constant_value_floatsz-TestShapeInference.test_constant_value_floats5  s    &  :rC5|LLLMr
 
 	*30ACDUDUCVWWX	
 	
 	
 	
 	
r7   c           	         |                      g t          dg dgd          gg           }|                     |t          dt          j        g           g           d S )Nri  r   zString value)value_string)rf   r   r   r   r   r   r   s     r0   test_constant_value_stringz-TestShapeInference.test_constant_value_string>  sq      :rC5~NNNOQS
 
 	*30BBGGH	
 	
 	
 	
 	
r7   c           
         g d}|                      g t          dg dg|          gg           }|                     |t          dt          j        t          |          g          g           d S )N)onr  rR   ri  r   )value_strings)rf   r   r   r   r   r   r   )r_   r  r   s      r0   test_constant_value_stringsz.TestShapeInference.test_constant_value_stringsF  s    ,,,  :rC5NNNOQS
 
 	#C);c->P>P=QRRS	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg t	          dt          j        dd          t	          dt          j        dd	          t	          dt          j        dd
          g          }|                     |t          dt          j        d
          g           d S )Nr  r3   limitdeltaRanger  r  r  r  r  r  r   r  )rf   r   r   r   r   r   r   r   s     r0   
test_rangezTestShapeInference.test_rangeP  s      ++R0++R0++R0
 w ; ; ;hZHHIG[%6DAAG[%6DAAG[%6DAA ! 
 
 	*8[5FMMN	
 	
 	
 	
 	
r7   c                ~   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg t	          dt          j        dd          t	          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )Nr  r3   r  r  r  r  r  r  r  r  rW   )rf   r   r|  r   r   r   r   r   s     r0   test_range_rank_inferencez,TestShapeInference.test_range_rank_inferencec  s      ++R0++R0++R0
 w ; ; ;hZHHIG[%6DAAG[%6DAA ! 
 
 	*8[5FPPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r&  r'  r   GatherNDr   r0  re  r   s     r0   test_gatherndz TestShapeInference.test_gatherndu  s      ;$i09k>OQU2VWzC#3cU;;<
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   rF  r'  r   r  r   r   )
batch_dimsr1  re  r   s     r0   test_gathernd_batchdim_1z+TestShapeInference.test_gathernd_batchdim_1  s      k'3K-v6 zC#3cUqIIIJ
 
 	*30A6JJK	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r=  r  CumSumr   r   r   s     r0   test_cumsumzTestShapeInference.test_cumsum  s      ;$f-8I4/PQx#v445
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )Nboxesr   r   r   scores)r   r>   r   NonMaxSuppressionr   r  r  r   s     r0   test_nonmaxsuppressionz)TestShapeInference.test_nonmaxsuppression  s      ++Y7;,i8 *Wh,?#GGH
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c                    |                      g t          dg dg          gg           }|                     |t          dt          j        d           g           d S )NSequenceEmptyr  )rf   r   r   r   r   r   r   s     r0   test_sequence_emptyz&TestShapeInference.test_sequence_empty  sf      ihZ&P&P%QSUVV3Hk>OQUVVW	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d          g           d S )Nr  r   r  r  r  r  r  r  r   s     r0   test_sequence_constructz*TestShapeInference.test_sequence_construct  s      ;,i8;,i8;,i8 '222&'  
 
 	/%{'8) 	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr  r   r  r  r  r   s     r0   !test_sequence_construct_one_inputz4TestShapeInference.test_sequence_construct_one_input  s      )956*XJ9J8KLLM
 

 	/%{'8) 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          gg           }|                     |t          dt          j        d           g           d S )	Nr  r   r  r   r  r  r  r  r  r   s     r0   !test_sequence_construct_diff_rankz4TestShapeInference.test_sequence_construct_diff_rank  s      ;,i8;,f5;,f5 '222&'  
 
 	/%{'8$ 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          gg           }|                     |t          d	t          j        d
          g           d S )Nr  r   r  r  r  r  r  r  r  rT   r   Nr  r   s     r0   %test_sequence_construct_diff_dim_sizez8TestShapeInference.test_sequence_construct_diff_dim_size  s      ;,i8;,i8;,i8 '222&'  
 
 	/%{'8, 	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	ddgd
g          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  r   r  r  input4r  r  r  SequenceInsertr  r  r   s     r0   test_sequence_insertz'TestShapeInference.test_sequence_insert  s      ;,i8;,i8;,i8;,i8	 ')G)G)G-  $}h&?BSAT 	 
 
" 	/!;#4i  0%{'8) 	
	
 
	
 
	
 
	
 
	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg dd	g          t          d
d	dgdg          gg           }|                     |t          d	t          j        d          t          dt          j        d           g           d S )Nr  r   r  r  r9  r   r  r  r  r:  r  r  r   s     r0   test_sequence_insert_diff_rankz1TestShapeInference.test_sequence_insert_diff_rank!  s      ;,i8;,i8;,i8;,f5	 ')G)G)G-  $}h&?BSAT 	 
 
" 	/!;#4i  0%{'8$ 	
	
 
	
 
	
 
	
 
	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
g          t          dd
dgdg          gg           }|                     |t          d
t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  r  r9  rT   r>   rT   r  r  r  r:  r  r  rT   NNr  r   s     r0   test_sequence_insert_diff_shapez2TestShapeInference.test_sequence_insert_diff_shape?  s      ;,i8;,i8;,i8;,i8	 ')G)G)G-  $}h&?BSAT 	 
 
" 	/!;#4l  0%{'8/ 	
	
 
	
 
	
 
	
 
	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          t	          d
d	dgdg          gg           }|                     |t          d	t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  indr3   r  r  r  
SequenceAtr  rf   r   r   r^   r   r   r   r   r   s     r0   test_sequence_atz#TestShapeInference.test_sequence_at]  s      ;,i8;,i8;,i8)2.	 ')G)G)G-  ,(>
KK	 
 
 	/!;#4i  'x1BINN		
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          t	          dd
dgdg          gg           }|                     |t          d
t          j        d           t          dt          j        d           g           d S )Nr  r   r  r   r  rC  r3   r  r  r  rD  r  rE  r   s     r0   test_sequence_at_unknown_shapez1TestShapeInference.test_sequence_at_unknown_shapew  s      ;,i8;,f5;,i8)2.	 ')G)G)G-  ,(>
KK	 
 
 	/{?PRVWW&x1BDII	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          t	          dd
dgdg          gg           }|                     |t          d
t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  r  rC  r3   r  r  r  rD  r  r6  rE  r   s     r0   !test_sequence_at_unknown_dim_sizez4TestShapeInference.test_sequence_at_unknown_dim_size  s      ;,i8;,i8;,i8)2.	 ')G)G)G-  ,(>
KK	 
 
 	/!;#4l  'x1BLQQ		
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg dd	g          t	          d
d	dgdg          gg           }|                     |t          d	t          j        d          t          dt          j        d          g           d S )Nr  r   r  r  rC  r3   r  r  r  SequenceEraser  rf   r   r   r^   r   r   r   r   s     r0   test_sequence_erasez&TestShapeInference.test_sequence_erase  s      ;,i8;,i8;,i8)2.	 ')G)G)G-  /M5+ADUCVWW	 
 
 	/!;#4i  0%{'8) 	
	
 
	
 
	
 
	
 
	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
g          t	          dd
dgdg          gg           }|                     |t          d
t          j        d          t          dt          j        d          g           d S )Nr  rT   r   rR   r  r  )rT   r>   rR   rC  r3   r  r  r  rL  r  rT   NrR   rM  r   s     r0   !test_sequence_erase_diff_dim_sizez4TestShapeInference.test_sequence_erase_diff_dim_size  s      ;,k:;,k:;,k:)2.	 ')G)G)G-  /M5+ADUCVWW	 
 
 	/!;#4n  0%{'8. 	
	
 
	
 
	
 
	
 
	
r7   c           	     f   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	g          gg           }|                     |t          dt          j        d          t          d	t          j        d
          g           d S )Nr  rP  r  r  r  r  r  SequenceLengthr   r3   )rf   r   r   r   r   r   r   r^   r   s     r0   test_sequence_lengthz'TestShapeInference.test_sequence_length  s      ;,k:;,k:;,k: ')G)G)G-  *]OeWEE	 
 
 	/!;#4k  'uk.?DD		
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  r0  r   r  r   SplitToSequencer  r%  r  r  rf   r   r   r|  r   r   r   r   r   s     r0   test_split_to_sequencez)TestShapeInference.test_split_to_sequence  s      {(&1G[=NPT3UV(7G*<?P>QRRS$Wk.?vNNO	 ! 
 
 	/%{'8& 	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  rW  r  r3   rX  r  r   r  r   rY  r   s     r0   test_split_to_sequence_scalarz0TestShapeInference.test_split_to_sequence_scalar
  s      {(&1G[=NPR3ST(7G*<?P>QRRS$Wk.?TJJK	 ! 
 
 	/%{'8& 	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  rW  rX  r  r   r  r  r  r   s     r0   test_split_to_sequence_keepdimsz2TestShapeInference.test_split_to_sequence_keepdims  s      {(&12(7)6G5HSTUUUV
 

 	/%{'8& 	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  rW  rX  r  r   r  rx  r  r   s     r0   #test_split_to_sequence_not_keepdimsz6TestShapeInference.test_split_to_sequence_not_keepdims)  s      {(&12(7)6G5HSTUUUV
 

 	/%{'8$ 	
 	
 	
 	
 	
r7   c                0   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg t          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )Nr  rW  r  r   rX  r  r   r  r%  r  r  rY  r   s     r0   &test_split_to_sequence_ignore_keepdimsz9TestShapeInference.test_split_to_sequence_ignore_keepdims8  s      {(&1G[=NPT3UV%g&&'	   $Wk.?vNNO ! 
 
 	/%{'8& 	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  rW  rX  r  r   r<  r  r  r   s     r0   test_split_to_sequence_axisz.TestShapeInference.test_split_to_sequence_axisO  s      {(&12(7)6G5HqQQQR
 

 	/%{'8& 	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr  rW  rX  r  r  r<  r  r  r   s     r0   test_split_to_sequence_neg_axisz2TestShapeInference.test_split_to_sequence_neg_axis^  s      {(&12(7)6G5HrRRRS
 

 	/%{'8& 	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  rW  r  r   rX  r  r
  r  Nr   rY  r   s     r0   "test_split_to_sequence_split_sizesz5TestShapeInference.test_split_to_sequence_split_sizesm  s      {(&1G[=NPT3UV(7G*<?P>QRRS$Wk.?yQQR	 ! 
 
 	/%{'8) 	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
Nr  rW  r  r3   rX  r  rx  r  rh  rY  r   s     r0   $test_split_to_sequence_non_divisiblez7TestShapeInference.test_split_to_sequence_non_divisible}  s      {(&1G[=NPR3ST(7G*<?P>QRRS$Wk.?TJJK	 ! 
 
 	/%{'8) 	
 	
 	
 	
 	
r7   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	gd
          gg           }|                     |t          dt          j        d          t          d	t          j        d          g           d S )Nr  rP  r  r  r  r  r  ConcatFromSequencerC  r   r<  )Nr   rR   rf   r   r   r   r   r   r   r   s     r0   test_concat_from_sequencez,TestShapeInference.test_concat_from_sequence  s      ;,k:;,k:;,k: ')G)G)G-  .%qQQQ	 
 
 	/!;#4k  'uk.?PP		
 	
 	
 	
 	
r7   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d           t          d
t          j        d           g           d S )Nr  rP  r  r   r  r  r  r  rm  rC  r   r<  rn  r   s     r0   'test_concat_from_sequence_unknown_shapez:TestShapeInference.test_concat_from_sequence_unknown_shape  s      ;,k:;,f5;,k: ')G)G)G-  .%qQQQ	 
 
 	/{?PRVWW&uk.?FF	
 	
 	
 	
 	
r7   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  rP  r  rT   r   rR   r  r  r  r  rm  rC  r   r<  rQ  NNrR   rn  r   s     r0   *test_concat_from_sequence_unknown_dim_sizez=TestShapeInference.test_concat_from_sequence_unknown_dim_size  s      ;,k:;,k:;,k: ')G)G)G-  .%qQQQ	 
 
 	/!;#4n  'uk.?ARSS		
 	
 	
 	
 	
r7   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  rP  r  rs  r  r  r  r  rm  rC  rT   r<  rQ  r@  rn  r   s     r0   test_concat_from_sequence_axisz1TestShapeInference.test_concat_from_sequence_axis  s      ;,k:;,k:;,k: ')G)G)G-  .%qQQQ	 
 
 	/!;#4n  'uk.?QQ		
 	
 	
 	
 	
r7   c           
     j   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          d	dgd
gd          gg           }|                     |t          dt          j        d          t          d
t          j        d          g           d S )Nr  rP  r  rs  r  r  r  r  rm  rC  r<  rQ  rt  rn  r   s     r0   "test_concat_from_sequence_neg_axisz5TestShapeInference.test_concat_from_sequence_neg_axis  s      ;,k:;,k:;,k: ')G)G)G-  .%rRRR	 
 
 	/!;#4n  'uk.?ARSS		
 	
 	
 	
 	
r7   c                l   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	gd
d          gg           }|                     |t          dt          j        d          t          d	t          j        d          g           d S )Nr  rP  r  r  r  r  r  rm  rC  rT   r   r=  new_axis)rT   r   NrR   rn  r   s     r0   "test_concat_from_sequence_new_axisz5TestShapeInference.test_concat_from_sequence_new_axis  s      ;,k:;,k:;,k: ')G)G)G-  (=/E7UV  	 
 
  	/!;#4k  'uk.?ARSS		
 	
 	
 	
 	
r7   c                l   |                      dt          j        dfdt          j        dfdt          j        dfgt          dg ddg          t          ddgd	gd
d          gg           }|                     |t          dt          j        d          t          d	t          j        d          g           d S )Nr  rP  r  r  r  r  r  rm  rC  r&   r   r|  )rT   r   rR   Nrn  r   s     r0   &test_concat_from_sequence_neg_new_axisz9TestShapeInference.test_concat_from_sequence_neg_new_axis#  s      ;,k:;,k:;,k: ')G)G)G-  (=/E7VW  	 
 
  	/!;#4k  'uk.?ARSS		
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
dgt
                    gg           }|                     |t          d
t          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )NRr3   Tr   r   Gr  Adagrad)r  r  r   r  r  X_newH_newr-   r5  r   r   rf   r   r   r^   r   r   r   r   r   r   r   r   s     r0   test_adagradzTestShapeInference.test_adagrad>  s     k',k',k'0k'0k'0 ---g&:	   !
 
& 	&w0A6JJ&w0A6JJ
 #K44#$CQGG 	 
	
 
	
 
	
 
	
 
	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg dg dt
                    gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )Nr  r3   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  r5  r   r   r  r   s     r0   test_adagrad_multiplez(TestShapeInference.test_adagrad_multiple^  s[     k',k',{(&1{(&1{(&1{(&1{(&1{(&1	 BBB<<<:	   '
 
, 	&x1BFKK&x1BFKK&x1BFKK&x1BFKK	 #K44#$CQGG 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	d
dgddddt
                    gg           }|                     |t          d
t          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )Nr  r3   r  r   r   r  r  Momentum)r  r  r   r  r  r  V_new?rq  {Gz?standardr  r  norm_coefficientro  r-   r5  r   r   r  r   s     r0   test_momentumz TestShapeInference.test_momentum  s     k',k',k'0k'0k'0 ---g&%)#:	 	 	 )
 
, 	&w0A6JJ&w0A6JJ
 #K44#$CQGG 	 
	
 
	
 
	
 
	
 
	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfgt	          dg dg dddddt
                    gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          gt          j	        t          d          t          j	        t
          d          g           d S )Nr  r3   r  r  r   r  r  r  r  V1V2r  )r  r  r  r  r  r  r  r  )r  r  V1_newV2_newr  rq  r  nesterovr  r  r  r  r  r5  r   r   r  r   s     r0   test_momentum_multiplez)TestShapeInference.test_momentum_multiple  sg     k',k',{(&1{(&1{(&1{(&1{(&1{(&1	 BBB<<<%)#:	 	 	 /
 
4 	&x1BFKK&x1BFKK&x1BFKK&x1BFKK	 #K44#$CQGG 	 	
 	
 	
 	
 	
r7   c                8   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          d	g d
g dt
          ddd          gg           }t          dt          j        d          t          dt          j        d          t          dt          j        d          g}|                     ||t          t
          d          t          t          d          g           d S )Nr  r3   r  r   r   r  r  r  Adam)r  r  r   r  r  r  )r  r  r  r  rq  r  r-   r  r  r  r  r  r  r   r5  r   
rf   r   r   r^   r   r   r   r   r   r   r_   r   infoss      r0   	test_adamzTestShapeInference.test_adam  s7     k',k',k'0k'0k'0k'0 222///:%)  
 )
 
0 #7K,=vFF"7K,=vFF"7K,=vFF
 	<a@@["-- 	 	
 	
 	
 	
 	
r7   c                D   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfd	t          j        dfd
t          j        dfdt          j        dfdt          j        dfdt          j        dfg
t	          dg dg dt
          ddd          gg           }t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          g}|                     ||t          t
          d          t          t          d          g           d S )Nr  r3   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  rq  r  r  r  r  r  r  r  r  r   r5  r   r  r  s      r0   test_adam_multiplez%TestShapeInference.test_adam_multiple  s     k',k',{(&1{(&1{(&1{(&1{(&1{(&1{(&1{(&1 NNNPPP:%)  
 1
 
8 #8[->GG"8[->GG"8[->GG"8[->GG"8[->GG"8[->GG
 	<a@@["-- 	 	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfgt          dddg d          gg           }|                     |t          dt          j        d          gt          j        t          d          g	           d S )
NrR   r   NrT   Padr   r   r   r   r   r   r   r)  r   Nr   r4  r   r   r   s     r0   test_pad_opset10z#TestShapeInference.test_pad_opset10$  s      ;$l34uc3-?-?-?@@@A
 

 	#C):LIIJ!.{B??@ 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          dddg ddd          gg           }|                     |t          dt          j        d	          gt          j        t          d
          g           d S )NrR   )rT   r   r   r   r  r   )r   r   r   r   r   r   r   rT   constantr  )r*  ro  rk  )rT   r   r  r;  r4  r   r   r   s     r0   test_constant_pad_2d_opset10z/TestShapeInference.test_constant_pad_2d_opset100  s      ;$l34111#  	 
 
 	#C):MJJK!.{B??@ 	 	
 	
 	
 	
 	
r7   c                *   |                      dt          j        dfdt          j        dfgt	          dddgd          gg t          dt          j        dd          g          }|                     |t          dt          j        d	          g           d S )
NrR   r  r*  r  r  r   r  r  r  rW  r   s     r0   test_padzTestShapeInference.test_padE  s      ;$l3fk>OQU5VWusFmS112%	 	 ! 
 
( 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r'  r   r
  r   re  r   s     r0   test_gatherelements_basicz,TestShapeInference.test_gatherelements_basic^  s      ;$d+i9JD-QR'#y)9C5AAB
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        d fgt	          dddgdg          gg           }|                     |t          dt          j        d           g           d S )NrR   r  r'  r
  r   re  r   s     r0   )test_gatherelements_indices_missing_shapez<TestShapeInference.test_gatherelements_indices_missing_shapeh  s      k'.K-t4 '#y)9C5AAB
 
 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  Einsumr   zij->jiequationr  r   r   s     r0   test_einsum_transposez(TestShapeInference.test_einsum_transposeu        ;$f-.x#AAAB
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r  r   r  r   i,i->r  r3   r   r   s     r0   test_einsum_dotz"TestShapeInference.test_einsum_dot        ;$d+c;3Dd-KLx#scUWEEEF
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r3   r   r  r   z,->r  r   r   s     r0   test_einsum_scalarz%TestShapeInference.test_einsum_scalar  s      ;$b)C1BB+GHx#scUUCCCD
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     t
          j        j        | j        |           d S )NrR   r3   r  r   zi->ir  r   r   s     r0   #test_einsum_scalar_invalid_equationz6TestShapeInference.test_einsum_scalar_invalid_equation  so       ;$b)*x#???@
 

 	$.=t~uUUUUUr7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r  r   )r;  r"  r  r   zij,ab->ijabr  )r   r>   r;  r"  r   r   s     r0   test_einsum_outer_prodz)TestShapeInference.test_einsum_outer_prod  s      ;$f-[5F/OPx#scU]KKKL
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  r   zi j->i r  r   r   r   s     r0   test_einsum_sum_along_dimz,TestShapeInference.test_einsum_sum_along_dim  s      ;$f-.x#	BBBC
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   )r   r   r   r  r   z... ii ->... ir  r  r   r   s     r0   test_einsum_ellipsisz'TestShapeInference.test_einsum_ellipsis  s      ;$i01x#8HIIIJ
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   rT   r   r>   r  r   ...ij,...jk->...ikr  r  r   r   s     r0   test_einsum_ellipsis_2z)TestShapeInference.test_einsum_ellipsis_2  s      ;$i038I92UVx#scU=QRRRS
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   r  r  r   z...ij,...jkr  r  r   r   s     r0   test_einsum_ellipsis_3z)TestShapeInference.test_einsum_ellipsis_3  s      ;$i038I92UVx#scU]KKKL
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r(  r   )r  r   r>   r  r   r  r  )r  r   r>   r   r   s     r0   test_einsum_ellipsis_broadcastz1TestShapeInference.test_einsum_ellipsis_broadcast  s      ;$i038I:2VWx#scU=QRRRS
 

 	*30A:NNO	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   )r>   r0  r;  rZ  r   )rZ  r"  r4  r  r   zabcd,dfg->abcfgr  )r>   r0  r;  r"  r4  r   r   s     r0   test_einsum_contractionz*TestShapeInference.test_einsum_contraction  s      k'6k'4 x#scU=NOOOP
 
 	#C):<LMMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r6  r   r  r  r   z
ijk,ik->jkr  r  r   r   s     r0   test_einsum_contraction_2z,TestShapeInference.test_einsum_contraction_2  s      ;$i038I62RSx#scU\JJJK
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   )r>   rT   r   r   )r>   r   r   r  r   zbij , b jk-> bikr  )r>   rT   r   r   r   s     r0   test_einsum_batch_matmulz+TestShapeInference.test_einsum_batch_matmul  s      ;$i038I92UVx#scU=OPPPQ
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   r  r  r   zij,klr  )rT   r   r   r   r   r   s     r0   test_einsum_left_hand_eqnz,TestShapeInference.test_einsum_left_hand_eqn  s      ;$f-[5F/OPx#scUWEEEF
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfdt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     t
          j        j        | j        |           d S )NrR   r   r   r   r  zi,...j, k, l-> ir  r   r   s     r0    test_einsum_incorrect_num_inputsz3TestShapeInference.test_einsum_incorrect_num_inputs  s      k'0k'0k'0
 x#scU=OPPPQ
 
 	$.=t~uUUUUUr7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r  r   r  r  r   r   s     r0   test_einsum_view_A1z&TestShapeInference.test_einsum_view_A1  s      ;$d+,x#<<<=
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r  r   zi->r  r3   r   r   s     r0   test_einsum_sum_A1z%TestShapeInference.test_einsum_sum_A1  s      ;$d+,x#>>>?
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r   r   r  r   zi,i->ir  r   r   s     r0   -test_einsum_element_wise_multiplication_A1_B1z@TestShapeInference.test_einsum_element_wise_multiplication_A1_B1%  s       ;$d+c;3Dd-KLx#scUXFFFG
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r   r   r  r   r  r  r3   r   r   s     r0   test_einsum_inner_product_A1_B1z2TestShapeInference.test_einsum_inner_product_A1_B11  r  r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r   r   r  r   zi,j->ijr  r%  r   r   s     r0   test_einsum_outer_product_A1_B1z2TestShapeInference.test_einsum_outer_product_A1_B1;  s      ;$d+c;3Dd-KLx#scUYGGGH
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zij->ijr  r   r   s     r0   test_einsum_view_A2z&TestShapeInference.test_einsum_view_A2E  r  r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   ijr  r   r   s     r0   test_einsum_view_A2_2z(TestShapeInference.test_einsum_view_A2_2O        ;$f-.x#===>
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   jir  r   r   s     r0   test_einsum_transpose_A2z+TestShapeInference.test_einsum_transpose_A2Y  r  r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zji->ijr  r   r   s     r0   test_einsum_transpose_A2_to_ijz1TestShapeInference.test_einsum_transpose_A2_to_ijc  r  r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zii->ir  r   r   r   s     r0   test_einsum_diag_A2z&TestShapeInference.test_einsum_diag_A2m        ;$f-.x#@@@A
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zii->r  r3   r   r   s     r0   test_einsum_trace_A2z'TestShapeInference.test_einsum_trace_A2w        ;$f-.x#???@
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zij->r  r3   r   r   s     r0   test_einsum_sum_A2z%TestShapeInference.test_einsum_sum_A2  r  r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zij->jr  r   r   r   s     r0   test_einsum_sum_columns_A2z-TestShapeInference.test_einsum_sum_columns_A2  s       ;$f-.x#@@@A
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r  r   zij->ir  r   r   r   s     r0   test_einsum_sum_rows_A2z*TestShapeInference.test_einsum_sum_rows_A2  r  r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r   r  r   z	ij,ij->ijr  r   r   s     r0   -test_einsum_element_wise_multiplication_A2_B2z@TestShapeInference.test_einsum_element_wise_multiplication_A2_B2         ;$f-[5F/OPx#scU[IIIJ
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r   r  r   z	ij,ji->ijr  r   r   s     r0   7test_einsum_element_wise_multiplication_A2_B2_transposezJTestShapeInference.test_einsum_element_wise_multiplication_A2_B2_transpose  r  r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r   r  r   zij,jkr  r   r   s     r0   'test_einsum_matrix_multiplication_A2_B2z:TestShapeInference.test_einsum_matrix_multiplication_A2_B2  s       ;$f-[5F/OPx#scUWEEEF
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r   r  r   z	ij,jk->ikr  r   r   s     r0   -test_einsum_matrix_multiplication_A2_B2_to_ikz@TestShapeInference.test_einsum_matrix_multiplication_A2_B2_to_ik  r  r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r	  r   r  r   zbij,bjk->bikr  r   r   s     r0   'test_einsum_matrix_multiplication_A3_B3z:TestShapeInference.test_einsum_matrix_multiplication_A3_B3         ;$i038I92UVx#scU^LLLM
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r	  r   r  r   zbij,bkj->bikr  r   r   s     r0   1test_einsum_matrix_multiplication_A3_B3_transposezDTestShapeInference.test_einsum_matrix_multiplication_A3_B3_transpose  r  r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   r%  r   r  r   z	ij,kj->ikr  r   r   s     r0   test_einsum_inner_product_A2_B2z2TestShapeInference.test_einsum_inner_product_A2_B2  s      ;$f-[5F/OPx#scU[IIIJ
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r%  r   r  r   z
ij,kj->ikjr  )r   r   r   r   r   s     r0   $test_einsum_row_multiplication_A2_B2z7TestShapeInference.test_einsum_row_multiplication_A2_B2  s       ;$f-[5F/OPx#scU\JJJK
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r%  r   r  r   zij,kl->ijklr  )r   r   r   r   r   r   s     r0   &test_einsum_value_multiplication_A2_B2z9TestShapeInference.test_einsum_value_multiplication_A2_B2  s       ;$f-[5F/OPx#scU]KKKL
 

 	*30A<PPQ	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r3   r   r%  r  r   z,ij->ijr  r   r   s     r0   test_einsum_scalar_times_arrayz1TestShapeInference.test_einsum_scalar_times_array  s      ;$b)C1BF+KLx#scUYGGGH
 

 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r%  r   r   r  r   zij,j->ir  r   r   s     r0   test_einsum_matrix_vector_A2_B1z2TestShapeInference.test_einsum_matrix_vector_A2_B1  s      ;$f-[5F/MNx#scUYGGGH
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r%  r   r  r   zii,ii->ir  r   r   r   s     r0   %test_einsum_diag_multiplication_A2_B2z8TestShapeInference.test_einsum_diag_multiplication_A2_B2  s       ;$f-[5F/OPx#scUZHHHI
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r%  r   r  r   zii,ii->r  r3   r   r   s     r0   "test_einsum_diag_dot_product_A2_B2z5TestShapeInference.test_einsum_diag_dot_product_A2_B2+  s      ;$f-[5F/OPx#scUYGGGH
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c           	        d\  }}|                      dt          j        ||ffdt          j        |ffgt	          dddgdgd          gg           }|                     |t          dt          j        |f          g           d S )Nr  r  targetNegativeLogLikelihoodLosslossnone	reductionre  r_   r  r  r   s       r0   (test_negative_log_likehood_shape_is_NCddz;TestShapeInference.test_negative_log_likehood_shape_is_NCdd5  s    1  {(1a&1Hk>ORSQU3VW/h'H$	   
 
 	*6;3DqdKKL	
 	
 	
 	
 	
r7   c           	     &   d\  }}|                      dt          j        ||ffdt          j        |ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        |f          g           d S )
Nr  r  r#  weightr$  r  r#  r,  r%  r&  r'  re  r)  s       r0   2test_negative_log_likehood_shape_is_NC_with_weightzETestShapeInference.test_negative_log_likehood_shape_is_NC_with_weightG  s    1  ++aV4;,qd3;,qd3 /111H$	   
 
  	*6;3DqdKKL	
 	
 	
 	
 	
r7   c           	        d\  }}|                      dt          j        ||ffdt          j        |ffgt	          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	Nr  r  r#  r$  r%  r  r'  r3   re  r)  s       r0   5test_negative_log_likehood_shape_is_NC_reduction_meanzHTestShapeInference.test_negative_log_likehood_shape_is_NC_reduction_mean]  s    1  {(1a&1Hk>ORSQU3VW/h'H$	   
 
 	*6;3DbIIJ	
 	
 	
 	
 	
r7   c           	     $   d\  }}|                      dt          j        ||ffdt          j        |ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        d
          g           d S )Nr  r  r#  r,  r$  r-  r%  r  r'  r3   re  r)  s       r0   Atest_negative_log_likehood_shape_is_NC_with_weight_reduction_meanzTTestShapeInference.test_negative_log_likehood_shape_is_NC_with_weight_reduction_meano  s    1  ++aV4;,qd3;,qd3 /111H$	   
 
  	*6;3DbIIJ	
 	
 	
 	
 	
r7   c           
        d\  }}}}|                      dt          j        ||||ffdt          j        |||ffgt	          dddgdgd          gg           }|                     |t          dt          j        |||f          g           d S )Nr   r   r>   r0  r  r#  r$  r%  r&  r'  re  r_   r  r  d1d2r   s         r0   *test_negative_log_likehood_shape_is_NCd1d2z=TestShapeInference.test_negative_log_likehood_shape_is_NCd1d2  s    !1b"  ++aB^<;,q"bk:
 /h'H$	   
 
 	*6;3Dq"bkRRS	
 	
 	
 	
 	
r7   c           
     6   d\  }}}}|                      dt          j        ||||ffdt          j        |||ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        |||f          g           d S )
Nr4  r  r#  r,  r$  r-  r%  r&  r'  re  r5  s         r0   6test_negative_log_likehood_shape_is_NCd1d2_with_weightzITestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_with_weight  s    !1b"  ++aB^<;,q"bk:;,qd3 /111H$	   
 
  	*6;3Dq"bkRRS	
 	
 	
 	
 	
r7   c           	        d\  }}}}|                      dt          j        ||||ffdt          j        |||ffgt	          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	Nr4  r  r#  r$  r%  sumr'  r3   re  r5  s         r0   8test_negative_log_likehood_shape_is_NCd1d2_reduction_sumzKTestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_reduction_sum  s    !1b"  ++aB^<;,q"bk:
 /h'H#	   
 
 	*6;3DbIIJ	
 	
 	
 	
 	
r7   c           	     0   d\  }}}}|                      dt          j        ||||ffdt          j        |||ffdt          j        |ffgt	          dg ddgd	          gg           }|                     |t          dt          j        d
          g           d S )Nr4  r  r#  r,  r$  r-  r%  r  r'  r3   re  r5  s         r0   Etest_negative_log_likehood_shape_is_NCd1d2_with_weight_reduction_meanzXTestShapeInference.test_negative_log_likehood_shape_is_NCd1d2_with_weight_reduction_mean  s     "1b"  ++aB^<;,q"bk:;,qd3 /111H$	   
 
  	*6;3DbIIJ	
 	
 	
 	
 	
r7   c           	     F   d\  }}}}|                      dt          j        |||ffdt          j        ||dz   |ffdt          j        |ffdt          j        dfgt	          dg d	dgd
          gg           }|                     t          j        j        | j	        |           d S )Nr4  r  r#  r   r,  r%  r3   r$  r-  r  r'  )
rf   r   r   r^   r   r   rp   rq   r   rv   r5  s         r0   6test_negative_log_likehood_input_target_shape_mismatchzITestShapeInference.test_negative_log_likehood_input_target_shape_mismatch  s    !1b"  ++aR[9;,q"q&"o>;,qd3*B/	 /111H$	   
 
" 	$.=t~uUUUUUr7   c           
     D   d\  }}}}|                      dt          j        ||||ffdt          j        |||ffdt          j        |dz   ffdt          j        |||ffgt	          dg ddgd	
          gg           }|                     t          j        | j        |           d S )Nr4  r  r#  r,  r   r%  r$  r-  r&  r'  )	rf   r   r   r^   r   r   r   r  rv   r5  s         r0   6test_negative_log_likehood_input_weight_shape_mismatchzITestShapeInference.test_negative_log_likehood_input_weight_shape_mismatch  s    !1b"  ++aB^<;,q"bk:;,q1uh7*QBK8	 /111H$	   
 
" 	'14>5IIIIIr7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   r   r   r   SoftmaxCrossEntropyLossr   r&  r'  r   r   s     r0   test_softmax_cross_entropy_nonez2TestShapeInference.test_softmax_cross_entropy_none  s      ;$f-[5F/MN03*sevVVVW
 

 	*30A4HHI	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   r   r   r   rE  r   r  r'  r3   r   r   s     r0   test_softmax_cross_entropy_meanz2TestShapeInference.test_softmax_cross_entropy_mean  s      ;$f-[5F/MN03*sevVVVW
 

 	*30A2FFG	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d          g           d S )	NrR   )rT   r   r>   rZ  r   )rT   r>   rZ  rE  r   r&  r'  r   r   s     r0   &test_softmax_cross_entropy_none_NCD1D2z9TestShapeInference.test_softmax_cross_entropy_none_NCD1D2  s      k'6k'3 03*sevVVVW
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
NrR   rT  r   r  rE  r   r  r'  r3   r   r   s     r0   &test_softmax_cross_entropy_mean_NCD1D2z9TestShapeInference.test_softmax_cross_entropy_mean_NCD1D2(  s      k'6k'3 03*sevVVVW
 
 	*30A2FFG	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )Nr   r  Celur   r  )r  r   r   s     r0   test_celu_function_output_shapez2TestShapeInference.test_celu_function_output_shape5  s      ;$&678vuse37778
 

 	*30ACSTTU	
 	
 	
 	
 	
r7   c                   t          dddgd          g}|g }n]d}|D ]}||z  }d t          |          D             }t          dt          j        ||          t          dt          j        ||          g}|g }n@t          j        dt          j        |          t          j        dt          j        |          g}t          j        |d|g |g           }	t          j        |	          S )	Nr  rR   r   r   r   c                    g | ]}d S )        r3   r5   r  s     r0   r?   zHTestShapeInference.prepare_input_initializer_tensors.<locals>.<listcomp>G  s    ---AC---r7   rY   )inputsoutputsrL   rJ   )	r   r(   r   r   r   r   r   r   ro   )
r_   initializer_shapeinput_shaperH   rL   r  dr  rT  r   s
             r0   !prepare_input_initializer_tensorsz4TestShapeInference.prepare_input_initializer_tensors?  s   53*c223$KKD&    ax--t---DC!24EtLLC!24EtLLK FF -c;3DkRR-c;3DkRRF
 !#
 
 
  '''r7   c                H   d}|                      |d           }t          j                            |d          }|j        j                                        }|j        j        j	        j
        d         j        |j        j        j	        j
        d         j        f}||k    sJ d S )NrZ  r;  Tr  r   r   )rY  rp   rq   rr   r   rJ   rn   r   r   r   r   r   )r_   rV  original_modelru   z_tenorz_shapes         r0   3test_infer_with_initializer_without_input_above_ir4zFTestShapeInference.test_infer_with_initializer_without_input_above_ir4^  s     #??@QSWXX-:: ; 
 

 !&15577L$*.q1;L$*.q1;
 +++++++r7   c                Z   d}d}|                      ||          }d|_        t          j                            |d          }|j        j                                        }|j        j	        j
        j        d         j        |j        j	        j
        j        d         j        f}|dk    sJ d S )	Nr[  rO  r   Tr  r   r   r   r   )rY  
ir_versionrp   rq   rr   r   rJ   rn   r   r   r   r   r   )r_   rV  rW  r\  ru   r]  r^  s          r0   3test_infer_with_initializer_without_input_below_ir4zFTestShapeInference.test_infer_with_initializer_without_input_below_ir4o  s     #"??{
 
 %&!-:: ; 
 
 !&15577L$*.q1;L$*.q1;

 &      r7   c                    d}d}|                      ||          }|                     t          j        j        t          j        j        |d           d S )Nr[  r  Tr  rY  r   rp   rq   r   rr   r_   rV  rW  r\  s       r0   %test_infer_initializer_input_mismatchz8TestShapeInference.test_infer_initializer_input_mismatch  sh    "??{
 
 	 / -	 	 	
 	
 	
 	
 	
r7   c                |    d}d}|                      ||          }t          j                            |d           d S Nr[  rO  Tr  rY  rp   rq   rr   rf  s       r0   1test_infer_initializer_input_consistency_all_nonezDTestShapeInference.test_infer_initializer_input_consistency_all_none  sK    ""??{
 
 	)).d)KKKKKr7   c                |    d}d}|                      ||          }t          j                            |d           d S )Nr[  Nr;  Tr  rj  rf  s       r0   4test_infer_initializer_input_consistency_single_nonezGTestShapeInference.test_infer_initializer_input_consistency_single_none  sK    "??{
 
 	)).d)KKKKKr7   c                    d}d}|                      ||          }|                     t          j        j        t          j        j        |d           d S )N)rZ  r;  r"  rm  Tr  re  rf  s       r0   7test_infer_initializer_input_consistency_different_rankzJTestShapeInference.test_infer_initializer_input_consistency_different_rank  sh    %??{
 
 	 / -	 	 	
 	
 	
 	
 	
r7   c                    d}d}|                      ||          }t          j                            |                                d           d S ri  )rY  rp   rq   rr   SerializeToStringrf  s       r0   <test_infer_initializer_input_consistency_all_none_serializedzOTestShapeInference.test_infer_initializer_input_consistency_all_none_serialized  sf     #"??{
 
 	)),,..D 	* 	
 	
 	
 	
 	
r7   c                ,   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg t          dt          j        dd          g          }|                     |t          dt          j        d          g           d S )	NrR   r6  r  r3   Trilur   r   r  rW  r   s     r0   test_trilu_upperz#TestShapeInference.test_trilu_upper  s      ;$i038I22NOwc
SE223$S+*;RFFG	 ! 
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c                0   |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg t          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )NrR   r6  r  r3   ru  r   r   upperr4  r  rW  r   s     r0   test_trilu_lowerz#TestShapeInference.test_trilu_lower  s      ;$i038I22NOwc
SE;;;<$S+*;RGGH	 ! 
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c                0   |                      dt          j        dfdt          j        dfgt          dddgdgd          gg t	          dt          j        dd	          g
          }|                     |t          dt          j        d          g           d S )NrR   )r   r>   r  r3   ru  r   r   rx  r  r  )rf   r   r^   r   r   r   r   r   s     r0   test_trilu_upper_zeroz(TestShapeInference.test_trilu_upper_zero  s      ;$f-[5F/KLwc
SE;;;<$S+*;RFFG	 ! 
 
 	*30A6JJK	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfgt          ddgdgd          gg           }|                     |t          dt          j        d          g           d S )NrR   )r   r   r>   ru  r   r   rx  )rf   r   r|  r   r   r   r   s     r0   test_trilu_lower_onez'TestShapeInference.test_trilu_lower_one  s      ;$i01wuA6667
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	g d
d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S NrR   r  r  rx  r   
input_mean	input_varr  rR   r  r   r  r  rC  output_mean
output_varr   training_moderC  r  r  r   r   s     r0   test_batch_norm_trainz(TestShapeInference.test_batch_norm_train  s      k'9++T2k'.{0$7k/6 (BBB888"#	   !
 
$ 	&uk.?QQ&}k6GNN&|[5FMM	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	g d
d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S )NrR   )r   r  r>   r0  r;  r  r  r   r  r  r  r  r  r   r  rC  r  r  r   r   s     r0   test_batch_norm_train_dim_paramz2TestShapeInference.test_batch_norm_train_dim_param   s      k'):;++V4k'0{0&9k/8 (BBB888"#	   !
 
$ 	&uk.?ARSS&}k6GPP&|[5FOO	
 	
 	
 	
 	
r7   c           
        |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt	          dg d	g d
d          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S r  )rf   r   r  r   r   r   r   r   s     r0   $test_batch_norm_train_with_diff_typez7TestShapeInference.test_batch_norm_train_with_diff_type$   s      k)?;+-t4k)40{0$7k/6 (BBB888"#	   !
 
$ 	&uk.A?SS&}k6GNN&|[5FMM	
 	
 	
 	
 	
r7   c           	     J   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          dg d	d
gd          gg           }|                     |t          d
t          j        d          g           d S )NrR   r  r  rx  r   r  r  r  r  rC  r   r  r   r   s     r0   test_batch_norm_testz'TestShapeInference.test_batch_norm_test@   s      k'9++T2k'.{0$7k/6 (BBBG"#	   !
 
$ 	*5+2C_UUV	
 	
 	
 	
 	
r7   c           	     J   |                      dt          j        dfdt          j        dfdt          j        dfdt          j        dfdt          j        dfgt          d	g d
dgd          gg           }|                     |t          dt          j        d          g           d S )NrR   )r   r   NNNr  rx  r   r  rW   r  r  r  rC  r   r  r   r   s     r0   test_batch_norm_test_no_dimz.TestShapeInference.test_batch_norm_test_no_dimW   s      k')AB++T2k'.{0':k/6 (BBBG"#	   !
 
$ 	&;,.F 	
 	
 	
 	
 	
r7   c           
        |                      dt          j        d fdt          j        d fdt          j        d fdt          j        dfdt          j        dfgt          dg dg d	d
          gg           }|                     |t          dt          j        d           t          dt          j        d          t          dt          j        d          g           d S )NrR   r  r   r  r  r  r  r  )rC  running_meanrunning_varr   r  rC  r  r  r   r   s     r0   test_batch_norm_train_no_shapez1TestShapeInference.test_batch_norm_train_no_shapes   s      k'.++T2k'.{0&9k/8 (BBB:::"#	   !
 
$ 	&uk.?FF&~{7H&QQ&}k6GPP	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   rW   NonZerorC  )r   Nr  r   s     r0   test_nonzerozTestShapeInference.test_nonzero   s|      ;$g./y3%%112
 

 	*5+2CYOOP	
 	
 	
 	
 	
r7   c                    |                      dt          j        d fgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r  rC  rO  r  r   s     r0   test_nonzero_no_shapez(TestShapeInference.test_nonzero_no_shape   s{      ;$d+,ySEE7/S/S.TVX
 
 	*5+2C\RRS	
 	
 	
 	
 	
r7   c           	        |                      dt          j        dfgt          ddgdg          gt	          dt          j        d          g          }|                     |t	          dt          j        d          g           d S )NrR   r   r  r   )NNZ)r   r  )rf   r   r   r   r   r^   r   r   s     r0   test_nonzero_existing_dim_paramz2TestShapeInference.test_nonzero_existing_dim_param   s      ;$d+,y3%#//0#C):LIIJ
 

 	*30A9MMN	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfgt          ddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r3   r  rC  )r   Nr  r   s     r0   test_nonzero_scalarz&TestShapeInference.test_nonzero_scalar   s{      ;$b)*Yy3%%-Q-Q,RTV
 
 	*5+2CYOOP	
 	
 	
 	
 	
r7   c           	         t          j        t          j        g d          }t          j        |          }t          j        d|          }|                     g t          dg dg|          gg           }|                     ||g           d S )Nr  r  r  r,   
type_protor  r   	r   r  r   r   r  r  rf   r   r   r_   r  r  optional_val_infor   s        r0   $test_optional_construct_empty_tensorz7TestShapeInference.test_optional_construct_empty_tensor   s    "9!'yyy
 
 
 %=>OPP"2&9
 
 
   :rH:<MNNNOQS
 
 	e&7%899999r7   c           	     H   t          j        t          j        g d          }t          j        |          }t          j        |          }t          j        d|          }|                     g t          dg dg|          gg           }| 	                    ||g           d S )Nr  r  r  r  r  r  )
r   r  r   r|  r  r  r  rf   r   r   )r_   r  r  r  r  r   s         r0   &test_optional_construct_empty_sequencez9TestShapeInference.test_optional_construct_empty_sequence   s    "9!'yyy
 
 
 %=>OPP$=>QRR"2"/B
 
 
   z2(9':ATUUUV
 

 	e&7%899999r7   c                :   t          j        t          j        g d          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          gg           }|                     ||g           d S )Nr   r  r  r  r  r  r  r  s        r0   test_optional_construct_tensorz1TestShapeInference.test_optional_construct_tensor   s    "9!'yyy
 
 
 %=>OPP"2&9
 
 
   )956zH:z::;
 

 	e&7%899999r7   c           	        t          j        t          j        g d          }t          j        |          }t          j        d|          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          gg           }| 	                    |||g           d S )	N)rT   r   r   r  input_sequencer  r  r  r  r  )
r   r  r   r^   r  r  r  rf   r   r   r_   r  r  sequence_val_infor  r  r   s          r0    test_optional_construct_sequencez3TestShapeInference.test_optional_construct_sequence   s   "9!'yyy
 
 
 %=>OPP"2!.A
 
 
 %=>QRR"2"/B
 
 
   )956-z<L;MNN*'7&8;L:MNN 
 
 	e&79J%KLLLLLr7   c           	        t          j        t          j        g d          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          gg           }|                     ||t          dt          j
        d	          g           d S )
Nr   r  r  r  r  r  OptionalHasElementr  r3   )r   r  r   r   r  r  rf   r   r   r   rJ  r  s        r0    test_optional_tensor_has_elementz3TestShapeInference.test_optional_tensor_has_element   s    "9!'yyy
 
 
 %=>OPP"2(;
 
 
   )956*xj:,??.xjII 
 
 	 6xAQSU V VW	
 	
 	
 	
 	
r7   c           
        t          j        t          j        g d          }t          j        |          }t          j        d|          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          t          d	dgd
g          gg           }| 	                    |||t          d
t          j        d          g           d S )N)r   r   r   r  r  r  optionalr  r  r  r  r  r3   )r   r  r   r   r  r  r  rf   r   r   r   rJ  r  s          r0   "test_optional_sequence_has_elementz5TestShapeInference.test_optional_sequence_has_element
!  s:   "9!'yyy
 
 
 %=>OPP"2(;
 
 
 %=>QRR"2(;
 
 
   )956-zJ<HH*zlZLAA.xjII
 
 
 	!!&x1A2FF	
 	
 	
 	
 	
r7   c                   t          j        t          j        g d          }t          j        d|          }|                     dt          j        dfgt          ddgdg          gg           }|                     ||g           d S )NrT   r   r   r  r  r  r  OptionalGetElement)r   r  r   r  r  rf   r   r   )r_   r  output_tensor_val_infor   s       r0   test_tensor_get_elementz*TestShapeInference.test_tensor_get_element(!  s    "9!(			
 
 
 "(!7&7"
 "
 "
   {)956.	H:FF 
 
 	e&<%=>>>>>r7   StringSplitc           	     L   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddg          g||g          }|                     |||gt          j        t          |          g           d S )N
substrings)rT   Nlengthr   rR   r  r   
r   r   r   r^   rf   r   r   r   r   r   r_   r   r/   r  r  r   s         r0   test_string_split_basicz*TestShapeInference.test_string_split_basic8!  s    +
 


 (+2CTJJ  k($/ }selH-EFFG 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     L   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddg          g||g          }|                     |||gt          j        t          |          g           d S )Nr  )rg  Nr  )rg  rR   r  r   r  r  s         r0   test_string_split_symbolicz-TestShapeInference.test_string_split_symbolicM!  s    +
 


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

 (+2CYOO  k()4 }selH-EPQRRRS 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     P   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddgd          g||g          }|                     |||gt          j        t          |          g	           d S )
Nr  rW   r  r3   rR   r  rT   r  r   r  r  s         r0   (test_string_split_zero_dimensional_inputz;TestShapeInference.test_string_split_zero_dimensional_inputu!  s    +L+:LgVV
'+2CRHH  k("- }selH-EPQRRRS 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r7   c           	     P   t          dt          j        d          }t          dt          j        d          }|                     dt          j        dfgt          ddgddgd          g||g          }|                     |||gt          j        t          |          g	           d S )
Nr  )rS  r   r   Nr  )rS  r   r   rR   r  rT   r  r   r  r  s         r0   test_string_split_empty_inputz0TestShapeInference.test_string_split_empty_input!  s    ++,.?
 

 (+2C[QQ  k(+6 }selH-EPQRRRS 
 
 	 !.{GDDE 	 	
 	
 	
 	
 	
r7   c           	        t          j        t          j        g d          }t          j        d|          }t          j        |          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          ddgdg          gg           }|                     |||g           d S )	Nr  r  r  r  r  r  r  r  )	r   r  r   r  r  r  rf   r   r   )r_   r  tensor_val_intor  r  r   s         r0    test_optional_tensor_get_elementz3TestShapeInference.test_optional_tensor_get_element!  s    "9!(			
 
 
 !0&7
 
 
 %=>OPP"2(;
 
 
   *I67*xj:,??.xjII 
 
 	e&7%IJJJJJr7   c           
        t          j        t          j        g d          }t          j        |          }t          j        d|          }t          j        |          }t          j        d|          }t          j        d|          }|                     dt          j        dfgt          ddgdg          t          d	dgdg          t          d
dgdg          gg           }| 	                    ||||g           d S )N)rT   r   r   r  r  r  r  r  r  r  r  r  )
r   r  r   r|  r  r  r  rf   r   r   )r_   r  r  sequence_val_intor  r  output_val_intor   s           r0   "test_optional_sequence_get_elementz5TestShapeInference.test_optional_sequence_get_element!  sG   "9!'yyy
 
 
 %=>OPP"2(;
 
 
 %=>QRR"2(;
 
 
 !0&9
 
 
   )956-zJ<HH*zlZLAA.xjII
 
 
 	%'8/J	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfdt          j        dfdt          j        dfgt	          dg ddg          gg           }|                     |t          dt          j        d          g           d S )Nr  rz  rR   r   Where)r  rR   r   rC  )rf   r   rJ  BFLOAT16r   r   r   r   s     r0   test_where_bfloatz$TestShapeInference.test_where_bfloat!  s      )51k*E2k*E2
 w 2 2 2UG<<=
 
 	*5+2FNNO	
 	
 	
 	
 	
r7   c                \   t          j        t          j        dg t          j        dt          j        d           gt          ddgdg          gt          j        t          j
        ddgt          j                  d	          g
                    }|                     t          j        j        t          j        j        |d           t          j                            |          }|                     |j        j        d         j        j                            d                     d S )Ngraph_with_unsupported_typer   r   r!  rR   r   r   r  rP   r,   rT  rU  rH   rL   r   Tr  r   r   )r   ro   r   r   r   r   r   r   
from_arrayr   r  int32r   rp   rq   r   rr   assertFalser   r  r   r   r   )r_   modelru   s      r0   ,test_parse_data_with_unsupported_tensor_typez?TestShapeInference.test_parse_data_with_unsupported_tensor_type!  s.   !#21#{7HPTUUU !!2SEC5AAB !+BHaV28,L,L,LSVWWW  
 
 
 	 / -	 	 	
 	
 	
 -::5AA '*/;DDWMM	
 	
 	
 	
 	
r7   c                   t          j        t          j        dg t          j        dt          j        d           gt          ddgdg          gt          j        t          j
        ddgt          j                  d	          g
                    }t          j        |j        j        d         _        |                     t"          j        j        t"          j        j        |d           t"          j                            |          }|                     |j        j        d         j        j                            d                     |                     dt          j        dfdt          j        dfgt          dddgdgd          gg t;          dt          j        dd          g          }|                     |t          dt          j        d          g           d S )Ngraph_with_undefined_typer   r  r!  rR   r   r   r  rP   r  r  r   Tr  r   rd  r   rX   r   re  ra  r  )r   ro   r   r   r   r   r   r   r  r   r  int64r\   r   rL   	data_typer   rp   rq   r   rr   r  r  r   r   r   rf   r  r^   r   r   )r_   r  ru   r   s       r0   *test_parse_data_with_undefined_tensor_typez=TestShapeInference.test_parse_data_with_undefined_tensor_type!  s   !#01#{7HPTUUU !!2SEC5AAB +BHaV28,L,L,LSVWWW
 
 

 
 
 0;/D", / -	 	 	
 	
 	
 -::5AA '*/;DDWMM	
 	
 	
   ;$i07K<Mt2TUy3.3%1EEEF$Wk.?yQQR	 ! 
 
 	*30A9MMN	
 	
 	
 	
 	
r7   c                T   d\  }}}}|                      dt          j        |ddffdt          j        dfgt	          dddgdgd	
          gg t          dt          j        d||||f          g          }|                     |t          dt          j        |||df          g           d S )NrT  thetarT   r   r  rx  
AffineGridgridr   )align_cornersr  rW  )r_   r  r  r  r  r   s         r0   test_affinegrid_2dz%TestShapeInference.test_affinegrid_2d"  s    
1a  ++aAY7*D1
  f%H"#	   $V[->q!QPQlSST ! 
 
  	*6;3Dq!QPQlSST	
 	
 	
 	
 	
r7   c                V   d\  }}}}}|                      dt          j        |ddffdt          j        dfgt	          dddgdg          gg t          dt          j        d|||||f          g	          }|                     |t          dt          j        ||||df          g           d S )
N)rT   r   r   r>   r0  r  r   r   r  r  r  r  r  rW  )r_   r  r  Dr  r  r   s          r0   test_affinegrid_3dz%TestShapeInference.test_affinegrid_3d3"  s    %1aA  ++aAY7*D1
  f%H  $V[->q!QPQSToVVW ! 
 
 	*6;3Dq!QPQSToVVW	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdgddd	
          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  )r   r   r   rT   
GridSampler   nearestborderr   ro  padding_moder  re  r   s     r0   test_gridsample_2dz%TestShapeInference.test_gridsample_2dH"  s      k'6*L9
  &ME"!)"#  	 
 
" 	*30A<PPQ	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdgddd	
          gg           }|                     |t          dt          j        d          g           d S )NrR   )r   r   r   r   r   r  )r   r   rT   r   r   r  r   r  r  r   r  )r   r   r   rT   r   re  r   s     r0   test_gridsample_3dz%TestShapeInference.test_gridsample_3d^"  s      k'9*O<
  &ME"!)"#  	 
 
" 	*30A?SST	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   r  r  )r  H_outW_outrT   r  r   )r  r  r  r  r   r   s     r0   test_gridsample_2d_defaultsz.TestShapeInference.test_gridsample_2d_defaultst"  s      k')=>*,FG |c6]SE::;
 
 	&*,H 	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt          dddgdg          gg           }|                     |t          dt          j        d          g           d S )NrR   )r  r  r  r  r  r  )r  D_outr  r  r   r  r   )r  r  r   r  r  r   r   s     r0   test_gridsample_3d_defaultsz.TestShapeInference.test_gridsample_3d_defaults"  s      k')BC*,OP |c6]SE::;
 
 	&*,Q 	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdgdd	          gg           }|                     |t          dt          j        d          g           d S )
NrR   )r  r  NNr  )r  NNrT   r  r   linearr  ro  r  r   r   s     r0   test_gridsample_2d_no_dimz,TestShapeInference.test_gridsample_2d_no_dim"  s      k')?@*,@A
  &ME!!)   
 
  	#C):<RSST	
 	
 	
 	
 	
r7   c           
         |                      dt          j        dfdt          j        dfgt          dddgdgdd	          gg           }|                     |t          dt          j        d          g           d S )
NrR   )r  r  NNNr  )r  NNNr   r  r   r  r  r  r   r   s     r0   test_gridsample_3d_no_dimz,TestShapeInference.test_gridsample_3d_no_dim"  s      k')EF*,FG
  &ME!!)   
 
  	&*,H 	
 	
 	
 	
 	
r7   c           
     ,   t          dt          j        d          g}t          dt          j        d          g}t          j        t          ddgdg          gd||          }|                     dt          j        dfdt          j        dfdt          j        dfgt          d	g d
dg          t          ddgdg|          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )Nr  )   r	  r   r  r  
body_graphr  r  r  r  r  r  SequenceMapout_sequencer  	r   r   r   r   r   r   rf   r   r   r_   ra   r  r
  r   s        r0   %test_sequence_map_identity_known_dimsz8TestShapeInference.test_sequence_map_identity_known_dims"  sU   "7K,=}MM
 #8[->NN
 &zG9xj99:	
 

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

   ;,m<;,m<;,i8 ')G)G)G-  !M?^4D:  	 
 
  	/!;#4o  0"K$5 	
	
 
	
 
	
 
	
 
	
r7   c                F   t          j        t          dg ddg          t          dg ddg          gdt          j                             dt          j        j        d          gt          j                             dt          j        j        d	          t          j                             dt          j        j        d
          gt          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          t          dt
          j        dd          g          }| 	                    dt
          j        dfdt
          j        dfdt
          j        dfgt          dg ddg          t          ddgd d!g|"          gg           }| 
                    |t          dt
          j        d#          t          d t
          j        d	          t          d!t
          j        d
          g           d S )$Nrc  rR   starts1ends1r  r  y1rR   starts2ends2r  r  y2r
  rR   r  )r4  rV  r   )r   (   r   r  r   r{  r  ra  r  r4  rV  r  r  r   r  rH   r,   rT  rU  rL   r  r	  i6  r   r  n      r   r  Z   r#  r   r  r  r  r  out_sequence1out_sequence2r  r  r   r   r   rp   r   r   r   r   r^   rf   r   r   r_   r
  r   s      r0   'test_sequence_map_slice_outs_known_dimsz:TestShapeInference.test_sequence_map_slice_outs_known_dims#  s:   &'#H#H#H4&QQ'#H#H#H4&QQ 22)/  22$*0+  22$*0+ 	 FK$5tVDDI{'8$GGG[%6hGGI{'8$GGG[%6hGG'
 
 

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

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

   ;,m<;,m<;,l; ')G)G)G-  --8*:VVV	 
 
 	/!;#4o  0+:KTRR		
 	
 	
 	
 	
r7   c                   |                      g t          dg dgt          dt          j        dd                    t          ddgdg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          ddgdgd	          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nri  r   r3   rz  rj  HammingWindowr   r   periodicrf   r   r   r   r^   r   r   r   r   s     r0   test_hammingwindowz%TestShapeInference.test_hammingwindow#  so     I%g{/@"eLL	   /G9se<< 
 
 	&w0A2FF&sK,=uEE	
 	
 	
   I%g{/@"eLL	   /G9seaHHH 
 
 	&w0A2FF&sK,=uEE	
 	
 	
 	
 	
r7   c                   |                      g t          dg dgt          dt          j        dd                    t          ddgdg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          ddgdgd	          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nri  r   r3   rz  rj  
HannWindowr   r   r5  r7  r   s     r0   test_hannwindowz"TestShapeInference.test_hannwindow#  so     I%g{/@"eLL	   ,	C599 
 
 	&w0A2FF&sK,=uEE	
 	
 	
   I%g{/@"eLL	   ,	C51EEE 
 
 	&w0A2FF&sK,=uEE	
 	
 	
 	
 	
r7   c                   |                      g t          dg dgt          dt          j        dd                    t          ddgdg          gg           }|                     |t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          ddgdgd	          gg           }|                     |t          dt          j        d          t          dt          j        d          g           d S )
Nri  r   r3   rz  rj  BlackmanWindowr   r   r5  r7  r   s     r0   test_blackmanwindowz&TestShapeInference.test_blackmanwindow$  sq     I%g{/@"eLL	   *WIu== 
 
 	&w0A2FF&sK,=uEE	
 	
 	
   I%g{/@"eLL	   *WIuqIII 
 
 	&w0A2FF&sK,=uEE	
 	
 	
 	
 	
r7   c           
     <    g | ]\  \  }}\  }}}}}}||||||||fS r3   r3   	r5   r,   r/   test_aspectrW  r=  onesidedinverseexpected_shapes	            r0   r?   zTestShapeInference.<listcomp>B$  a     $	
 $	
 $	
w " 	$	
 $	
 $	
r7   DFT))reals_default_axisrT   r>   r   NNNr?  )reals_axis_0r   r>   r4  r   r   r   r   r   r>   r4  rT   )reals_axis_1rJ  r   r   r   rK  )reals_axis_2rJ  rT   r   r   rK  )reals_axis_negrJ  r  r   r   rK  )reals_axis_0_onesidedrJ  r   r   r   )rT   r>   r4  rT   )reals_axis_1_onesidedrJ  r   r   r   )r   r   r4  rT   )reals_axis_2_onesidedrJ  rT   r   r   r   r>   r0  rT   )reals_axis_neg_onesidedrJ  r  r   r   rR  )complex_default_axisr?  NNNr?  )complex_onesidedr?  r   r   N)rT   r   rT   )real_inverserH  r   Nr   r?  )complex_inverser?  r   Nr   r?  r   r/   _test_aspectrW  
tuple[int]r=  
int | NonerB  rC  rD  c	                "   i }	|||	d<   |||	d<   |dk     r|||	d<   t          dddgdgfi |	g}
g }n}|dk    sJ |^t          d	g dgt          dt          j        d
|f                    t          dg ddgfi |	g}
t	          dt          j        d
          g}nt          dg ddgfi |	g}
g }|                     g t          d	g dgt          dt          j        |t          j        |t          j	                  
                                                    g|
g           }|                     |t	          dt          j        |          g|t	          dt          j        |          t          j        t          |          g           d S )NrB  rC  rV  r=  rF  r  r  r  ri  r3   rj  r  r  r=  r  r  r  r  r   r   r   r   r^   r   rf   r   r   onesfloat32flattenr   r   r   r   )r_   r   r/   rX  rW  r=  rB  rC  rD  
attributesrH   value_infosr   s                r0   test_dftzTestShapeInference.test_dftA$  s$   f 
%-Jz"$+Jy!R<<%)
6"uwmhZNN:NNOEKKb====")&+2CR$QQ	   e%:%:%:XJUU*UU  6fk>OQSTTU e%6%6%6
QQjQQ !   I%#)#2:>>>FFHH	 	
 
 
  !
 
$ 	&w0A;OO 'x1BNSS
 ".{GDDE 	 	
 	
 	
 	
 	
r7   c           
     <    g | ]\  \  }}\  }}}}}}||||||||fS r3   r3   r@  s	            r0   r?   zTestShapeInference.<listcomp>$  rE  r7   ))rG  rH  NNNrT   r   rT   )rI  rJ  r   r   r   )r   r>   r4  rT   )rL  rJ  r   r   r   )r   r   r4  rT   )rM  rJ  rT   r   r   r   r>   r   rT   )rN  rJ  r  r   r   rg  )rO  rJ  r   r   r   )   r>   r4  rT   )rP  rJ  r   r   r   )r   rh  r4  rT   )rQ  rJ  rT   r   r   r   r>   rh  rT   )rS  rJ  r  r   r   ri  )rT  r?  NNNrf  )rU  r?  r   r   N)rT   rh  rT   )rV  rH  r   Nr   rf  )rW  r?  r   Nr   rf  c	                   i }	|||	d<   |||	d<   d}
|dk     rf|||	d<   t          dg dgt          dt          j        d|
f          	          t          d
ddgdgfi |	g}t	          dt          j        d          g}n|dk    sJ |t          dg dgt          dt          j        d|f          	          t          dg dgt          dt          j        d|
f          	          t          d
g ddgfi |	g}t	          dt          j        d          t	          dt          j        d          g}n]t          dg dgt          dt          j        d|
f          	          t          d
g ddgfi |	g}t	          dt          j        d          g}|                     g t          dg dgt          dt          j        |t          j        |t          j	                  
                                          	          g|g           }|                     |t	          dt          j        |          g|t	          dt          j        |          t          j        t          |          g           d S )NrB  rC  r   rV  r=  ri  
dft_lengthr3   rj  rF  r  r  r  rk  r=  )r  rk  r  r  r   r^  )r_   r   r/   rX  rW  r=  rB  rC  rD  rb  rk  rH   rc  r   s                 r0   test_dft_dft_lengthz&TestShapeInference.test_dft_dft_length$  s0   f 
%-Jz"$+Jy!
R<<%)
6"!N%$k&7j] 	   %'<!88*SS
SS
E 2,@QSUVVWKKb====")&+2CR$QQ	   "%)(+*;R* 	   777!
  %	 . +<9JBOO*6;3DbII "%)(+*;R* 	   333!
  %	 " +<9JBOO
   I%#)#2:>>>FFHH	 	
 
 
  !
 
$ 	&w0A;OO 'x1BNSS
 ".{GDDE 	 	
 	
 	
 	
 	
r7   ))r|  r   )last_negativer&   )out_of_ranger   )out_of_range_negativer  c                ^   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dddgdgd	|
          gg           }| 	                    t          j        j                  5  |                     |t          dt          j        d          t          dt          j        d          gt          j        t"          d          g           d d d            d S # 1 swxY w Y   d S )Nri  r  rT   r>   r>   rT   r  rj  rF  r  r  r   )rB  r=  rT   r   r>   rT   r  r   )rf   r   r   r   r   r   r_  r`  ra  r   rp   rq   r   r   r   r   r   r   r_   r   r=  r   s       r0   test_dft_invalid_axis_opset17z0TestShapeInference.test_dft_invalid_axis_opset17H%  sx      I%#)$BJ???GGII	 	
 
 
 %'2
QTRRR !
 
$ t3BCC 	 	!!*7K4E|TT*8[5FUU  &2;CCD "   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   /A&D""D&)D&c                   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dg dgt          dt          j	        d|f                    t          dg d	d
g          gg           }| 
                    t          j        j                  5  |                     |t          dt          j        d          t          dt          j	        d          t          d
t          j        d          gt!          j        t$          d          g           d d d            d S # 1 swxY w Y   d S )Nri  r  rr  r  rj  r=  r3   rF  r\  r  rs  rV  r   )rf   r   r   r   r   r   r_  r`  ra  r^   r   rp   rq   r   r   r   r   r   r   rt  s       r0   test_dft_invalid_axis_opset20z0TestShapeInference.test_dft_invalid_axis_opset20m%  s      I%#)$BJ???GGII	 	
 
 
 H%fk.?dWMM	   %!6!6!6
CC%( -
 
0 t3BCC 		 		!!*7K4E|TT*6;3DbII*8[5FUU
  &2;CCD "   		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		 		s   B E''E+.E+)real)rT   r>   r>   r   )complexrr  tuple[int, ...]c                   |                      dt          j        dfgt          dg dgt	          dt          j        |t          j        |t          j                  	                                                    t          dg dd	g          gg           }| 
                    |t          dt          j        |          t          d	t          j        d
          gt          j        t          d          g           d S )Nr=  r3   ri  r  r  rj  rF  r\  r  rr  rV  r   rf   r   r^   r   r   r   r   r_  r`  ra  r   r   r   r   r   r_   r   r   r   s       r0   test_dft_dynamic_axis_opset20z0TestShapeInference.test_dft_dynamic_axis_opset20%  s      k',-I%#)RZ888@@BB	 	
 
 
 %!6!6!6
CC !
 
$ 	&w0A5II&x1BLQQ ".{B??@ 	 	
 	
 	
 	
 	
r7   c                   |                      dt          j        dfgt          dg dgt	          dt          j        |t          j        |t          j                  	                                                    t          dg dgt	          dt          j        dt          j
        dgt          j                                      t          d	g d
dgd          gg           }|                     |t          dt          j        |          t          dt          j        d          t          dt          j        d          gt          j        t           d          g           d S )Nr=  r3   ri  r  r  rj  rk  r   rF  rl  r  r   rB  NNNrT   rV  r   )rf   r   r^   r   r   r   r   r_  r`  ra  r  r  r   r   r   r   r   r}  s       r0   1test_dft_dynamic_axis_onesided_dft_length_opset20zDTestShapeInference.test_dft_dynamic_axis_onesided_dft_length_opset20%  s      k',-I%#)RZ888@@BB	 	
 
 
 !N%$#)"RX666	 	
 
 
 :::XJQR  /6 ;
 
> 	&w0A5II&|[5FKK&k/1F  ".{B??@ 	 
	
 
	
 
	
 
	
 
	
r7   c                   |                      dt          j        dfgt          dg dgt	          dt          j        |t          j        |t          j                  	                                                    t          dg dd	gd
          gg           }| 
                    |t          dt          j        |          t          d	t          j        d          gt          j        t          d          g           d S )Nr=  r3   ri  r  r  rj  rF  r\  r  r   r  r  rV  r   r|  r}  s       r0   &test_dft_dynamic_axis_onesided_opset20z9TestShapeInference.test_dft_dynamic_axis_onesided_opset20%  s      k',-I%#)RZ888@@BB	 	
 
 
 %!6!6!6
QOOO !
 
$ 	&w0A5II&k/1F  ".{B??@ 	 		
 		
 		
 		
 		
r7   c                   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dddgdgd	
          gg           }| 	                    |t          dt          j        d          t          dt          j        d          gt          j        t          d          g           d S )Nri  r  rr  r  rj  rF  r  r  r   r  rs  r  r   rf   r   r   r   r   r   r_  r`  ra  r   r   r   r   r   r   s     r0   &test_dft_onesided_default_axis_opset17z9TestShapeInference.test_dft_onesided_default_axis_opset17&  s      I%#)$BJ???GGII	 	
 
 
 %'2
QGGG !
 
$ 	&w0A<PP&x1BLQQ ".{B??@ 	 	
 	
 	
 	
 	
r7   c                   |                      g t          dg dgt          dt          j        dt          j        dt
          j                                                                      t          dg ddgd	
          gg           }| 	                    |t          dt          j        d          t          dt          j        d          gt          j        t          d          g           d S )Nri  r  rr  r  rj  rF  r]  r  r   r  )rT   r>   r   rT   rV  r   r  r   s     r0   &test_dft_onesided_default_axis_opset20z9TestShapeInference.test_dft_onesided_default_axis_opset202&  s     I%#)$BJ???GGII	 	
 
 
 %!2!2!2XJKKK !
 
$ 	&w0A<PP&x1BLQQ ".{B??@ 	 	
 	
 	
 	
 	
r7   c                   |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        d
d                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d	t          j        d
          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        d
d                    t          dg dgt          dt          j        dd
                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          d	t          j        d
          t          dt          j        d          t          dt          j        d          g           |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd
                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          dt          j        d          g           d S )Nri  signal)rT   r4  r   )r   r   r   r   r   r   r   r   r   r   rT   rT   rT   rT   rT   r   r   r   r   r   rj  
frame_stepr3   r   windowr  r7  STFT)r  r  r  r  rs  frame_length)r  r  r  r  )rf   r   r   r   r   r^   r   r   r   s     r0   test_stft_realsz"TestShapeInference.test_stft_realsO&  s;     J% #)"T	 	
 
 
 !N%lK4Er4PP	   J% +"3T? 	   &"D"D"DxjQQ58 =
 
B 	&x1BJOO&|[5FKK&x1BDII&x1BLQQ		
 	
 	
   J% #)"T	 	
 
 
 !N%lK4Er4PP	   J% +"3T? 	   #$%nk6GTRR	   &"D"D"DxjQQA!D I%
 %
N 	&x1BJOO&|[5FKK&x1BDII&~{7H"MM&x1BLQQ		
 		
 		
   J% #)"T	 	
 
 
 !N%lK4Er4PP	   #$%nk6GTRR	   HHH8* 18 =
 
B 	&x1BJOO&|[5FKK&~{7H"MM&x1BLQQ		
 	
 	
 	
 	
r7   c                   |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        dd
                    t          dg dgt          dt          j        dd                    t          dg ddg          gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          d	t          j        d          t          dt          j        d          t          dt          j        d          g           d S )Nri  num_mel_binsr3   rz  rj  rk  r  sample_ratelower_edge_hertzg      $@upper_edge_hertzg      Y@MelWeightMatrixr  rk  r  r  r  r  r  r4  )rf   r   r   r   r^   r   r   r   r   s     r0   test_melweightmatrixz'TestShapeInference.test_melweightmatrix&  s     #$%nk6GUSS	   !N%lK4Er6RR	   "O%m[5FERR	   '(%*K,=r7 	   '(%*K,=r8 	   %   J
 
G.^ c2
 2
f 	&~{7H"MM&|[5FKK&}k6GLL&'9;;LbQQ&'9;;LbQQ&x1BHMM
	
 
	
 
	
 
	
 
	
r7   c                   |                      g t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg dgt          dt          j        dd                    t          dg d	gt          d	t          j        dd
                    t          dg dgt          dt          j        dd                    t          dg ddgt          j                  gg           }|                     |t          dt          j        d          t          dt          j        d          t          dt          j        d          t          d	t          j        d          t          dt          j        d          t          dt          j        d          g           d S )Nri  r  r3   rz  rj  rk  r  r  r  r  r  r  r  r  r  )output_datatyper  )	rf   r   r   r   r^   r   r  r   r   r   s     r0   )test_melweightmatrix_with_output_datatypez<TestShapeInference.test_melweightmatrix_with_output_datatype'  s     #$%nk6GUSS	   !N%lK4Er6RR	   "O%m[5FERR	   '(%*K,=r7 	   '(%*K,=r8 	   %   J$/$6  G/` e3
 3
h 	&~{7H"MM&|[5FKK&}k6GLL&'9;;LbQQ&'9;;LbQQ&x1CXNN
	
 
	
 
	
 
	
 
	
r7   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )N
input_data)rV  r4  r   r   r   CenterCropPadr   r   r   r  r4  rZ  r  r4  rZ  r   r  r   r  r   s     r0   test_center_crop_pad_hwc_cropz0TestShapeInference.test_center_crop_pad_hwc_cropY'        {0+>++T2 w(?#aQRVTTTU$Wk.?wOOP ! 
 
 	#C):JGGH!.{B??@ 	 	
 	
 	
 	
 	
r7   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr  )r   rV  r4  r   r   r  r   r   rT   r  r  r  )r   r4  rZ  r  r   r  r   s     r0   test_center_crop_pad_chw_cropz0TestShapeInference.test_center_crop_pad_chw_cropi'  r  r7   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr  )r4  r4  r   r   r   r  r   r   r   r  rV  rZ  r  )rV  rZ  r   r  r   r  r   s     r0    test_center_crop_pad_hwc_croppadz3TestShapeInference.test_center_crop_pad_hwc_croppady'  r  r7   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr  )r   r4  r4  r   r   r  r   r   rT   r  r  r  )r   rV  rZ  r  r   r  r   s     r0    test_center_crop_pad_chw_croppadz3TestShapeInference.test_center_crop_pad_chw_croppad'  r  r7   c                (   |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d           gt          j        t          d          g           d S )	Nr  r  r   r   r  r   r  r   r  r   s     r0   (test_center_crop_pad_without_input_shapez;TestShapeInference.test_center_crop_pad_without_input_shape'  s      {0&9++T2 w(?#GGH
 
 	#C):DAAB!.{B??@ 	 	
 	
 	
 	
 	
r7   c                j   |                      dt          j        dfdt          j        dfgt	          dddgdgddg	          gg t          dt          j        dd
          g          }|                     |t          dt          j        d          gt          j	        t          d          g           d S )Nr  )rV  r  r   r   r   r  r   r   r   r  r  r  r  r  r   r  r   s     r0   ;test_center_crop_pad_with_input_shape_containing_dim_paramszNTestShapeInference.test_center_crop_pad_with_input_shape_containing_dim_params'  s       {0,?++T2 w(?#aQRVTTTU$Wk.?wOOP ! 
 
 	#C):JGGH!.{B??@ 	 	
 	
 	
 	
 	
r7   c           	     F   t          ddgdgt          g dg d          }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d	          g
           |                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d	          g
           d S )NCategoryMapperrR   r   r  123r-   cats_int64scats_stringsr   r   r  r   )r   r>   r   )
r   r   rf   r   r^   r   r   r   r   r   )r_   cat	graph_int	graph_strs       r0   test_category_mapperz'TestShapeInference.test_category_mapper'  sH   EE!!		(
 
 
 $$;$j12E
 
	
 	#C);ZHHI^Q//["-- 	 	
 	
 	
 $$;%z23E
 
	
 	#C):JGGH^Q//["-- 	 	
 	
 	
 	
 	
r7   r  r  r  Nr  rO  c           
     4   t          ddgdgt          ||          }|                     dt          j        dfg|gg           }|                     t          j        j        | j	        |t          t          d          t          t          d          g           d S )	Nr  rR   r   r  r   r   r  r   )r   r   rf   r   r^   r   rp   rq   r   rv   r   r   )r_   r  r  r  r   s        r0   0test_category_mapper_fails_if_invalid_attributeszCTestShapeInference.test_category_mapper_fails_if_invalid_attributes'  s     EE!#%
 
 
   ;$j12E
 

 	 /N^Q//["--	 	 	
 	
 	
 	
 	
r7   c           	     <   t          ddgdgt          d          }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d	          g
           d S )NTreeEnsembleRegressorrR   r   r>   )r-   	n_targetsr   r   r   r>   r   r  r   )
r   r   rf   r   r  r   r   r   r   r   r_   treer   s      r0   test_tree_ensemble_regressorz/TestShapeInference.test_tree_ensemble_regressor(  s    #EE!
 
 
   ;%w/0F
 

 	#C):GDDE^Q//["-- 	 	
 	
 	
 	
 	
r7   c                d   d}d}t          ddgdgt          ddg|z  t          d||ft          t	          |                              t          dt
          j        |fdg|z            dg|z  dg|z  dg|z  dg|z  t          d	|d
dddt          j        dddg          dg|z  t          d||fdg|z            dg          }| 	                    d|dfg|gg           }| 
                    |t          d|d          gt          t          d          t          t          d          g           d S )Nr>   r"  TreeEnsemblerR   r   r   nodes_splitsnodes_modesmembership_values)r;  rR  r  r  r  r  rq  leaf_weightsr   )r-   r  nodes_featureidsr  r  nodes_truenodeidsnodes_falsenodeidsnodes_trueleafsnodes_falseleafsr  leaf_targetidsr  
tree_roots
Batch SizeFeatures)r  r>   r  r   )r   r   r   r   r(   r   r  r   nanrf   r   r   r   r   )r_   r  interior_nodesleavesr  r   s         r0   test_tree_ensemblez%TestShapeInference.test_tree_ensemble(  s    EE!S>1$!U>**++	  $!!n$	   !cN2 !s^3C.0S>1)#c3S#6	  3<$^UVIsV|TTs? 
  
  
D   5456F
 
 	#C0ABBC^Q//["-- 	 	
 	
 	
 	
 	
r7   r   r0  r  )r"  r   r"  r  r  r>   )r  r  c                   d}d}t          ddgdgt          ddg|z  |t          dt          j        |fdg|z            |dg|z  dg|z  dg|z  dg|z  |dg          }|                     dt          j        d	fg|gg           }|                     t          j	        j
        | j        |t          t          d          t          t          d
          g           d S )Nr>   r"  r  rR   r   r   r  )r-   r  r  r  r  r  r  r  r  r  r  r  r  r  r   )r   r   r   r   r  rf   r  r   rp   rq   r   rv   r   r   )r_   r  r  r  r  r  r  r   s           r0   .test_tree_ensemble_fails_if_invalid_attributeszATestShapeInference.test_tree_ensemble_fails_if_invalid_attributesO(  s%   > EE!S>1%#!!n$	  0 !s^3C.0S>13<%s)
 
 
.   ;%'ABCF
 

 	 /N^Q//["--	 	 	
 	
 	
 	
 	
r7   c           	     v   t          ddgddgg dt                    }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          t          dt          j        d	          gt          t          d
          t          t          d          g           d S )NTreeEnsembleClassifierrR   r   r   )r   r   rT   r   r   )classlabels_int64sr-   r  )r   r  r   r  r   )r   r   rf   r   r  r   r   r^   r   r   r   r  s      r0   test_tree_ensemble_classifierz0TestShapeInference.test_tree_ensemble_classifier(  s    $E#J.!
 
 
   ;%w/0F
 

 	&sK,=uEE&sK,=wGG
 ^Q//["-- 	 
	
 
	
 
	
 
	
 
	
r7   c                n   t          dddgdgt                    }dD ]\  }}|                     dt          j        dfdt          j        |fg|gg           }|                     |t          dt          j        dd	|f          gt          t          d          t          t          d
          g           d S )NArrayFeatureExtractorrR   r   r   r  ))r   rT   )r3   r  )r  r  r6  r   r   r  r   	r   r   rf   r   r^   r   r   r   r   )r_   node
axes_shapeexpectedr   s        r0   test_array_feature_extractorz/TestShapeInference.test_array_feature_extractor(  s    ##JE!	
 
 
%
 	 	 J
 $$++Y7++Z8  E !!'[->Ax@PQQR 33 b11 "    	 	r7   c           	     :   t          ddgdgt                    }|                     dt          j        dfg|gg           }|                     |t          dt          j        d          gt          t          d          t          t          d          g           d S )	N	BinarizerrR   r   r  r6  r   r  r   r  )r_   r  r   s      r0   test_binarizerz!TestShapeInference.test_binarizer(  s    EE!	
 
 
   k'3 F
 
 	#C):IFFG^Q//["-- 	 	
 	
 	
 	
 	
r7   c           
     2   |                      dt          j        dfgt          ddgdgg dd          gg           }|                     |t          dt          j        d          gt          t          d	          t          t          d
          g           d S )Nr  rT   r  r   OneHotEncoderr  r  
ai.onnx.ml)r  r-   rT   r  r   r   r   r  r   )
rf   r   r^   r   r   r   r   r   r   r   r   s     r0   test_one_hot_encoderz'TestShapeInference.test_one_hot_encoder(  s      {(+67#IJ ,'   
 
 	#Hk.?PPQ^Q//["-- 	 	
 	
 	
 	
 	
r7   c                &   |                      dt          j        dfgt          ddgdg||d          gg           }|                     t
          j        j        | j        |t          t          d          t          t          d          g	           d S )
Nr  r  r  r  r  )r  r  r-   r   r  r   )rf   r   r^   r   r   rp   rq   r   rv   r   r   r   )r_   r  r  r   s       r0   0test_one_hot_encoder_fails_if_invalid_attributeszCTestShapeInference.test_one_hot_encoder_fails_if_invalid_attributes(  s       {(+67#IJ +!-'  	 
 
 	 /N^Q//["--	 	 	
 	
 	
 	
 	
r7   c                    dg dit           j        j        fdg dit           j        j        ff}|D ]J\  }}|                     ||          5  |                     ||           d d d            n# 1 swxY w Y   Kd S )Nr  r  classlabels_strings)r   r   c)attrsr+  )rp   r   r^   r   subTestzip_map_test_case)r_   paramsr  r+  s       r0   test_zip_mapzTestShapeInference.test_zip_map )  s     #III.0@0FG#___5t7G7NO
 "( 	: 	:E:EjAA : :&&uj999: : : : : : : : : : : : : : :	: 	:s   A00A4	7A4	c           	         |                      dt          j        dfgt          ddgdgfi |ddigg           }t          j                            |t          j                            t          j        d                    }|                     |t          j        	                    dt          j        
                    |                    gt          t          d          t          t          d	          g
           d S )Nr  )r  r   ZipMapr  r-   r  r3   r   r  r   )rf   r   r   r   rp   r   make_map_type_protor  r   r  r  r   r   r   )r_   r  r+  r   typs        r0   r  z$TestShapeInference.zip_map_test_case*)  s     {((34IJ  	 
 (   
 
 k--::;;LbQQ
 
 	++dkBB3GG  ^Q//["-- 	 	
 	
 	
 	
 	
r7   c                    |                      dt          j        dfdt          j        dfgt	          dddgdg          gg           }|                     |t          dt          j        d          g           d S )Nr  r  r   rW   Compressr  rf   r   r^   rJ  r   r   r   r   s     r0   test_compress_without_axisz-TestShapeInference.test_compress_without_axisH)  s      ++^<k.8 zG[#9H:FFG
 
 	*8[5FPPQ	
 	
 	
 	
 	
r7   c           	         |                      dt          j        dfdt          j        dfgt	          dddgdgd          gg           }|                     |t          dt          j        d	          g           d S )
Nr  r  r   rW   r	  r  r&   r<  )rT   r  r   Nr	  r   s     r0   test_compress_with_axisz*TestShapeInference.test_compress_with_axisU)  s      ++^<k.8 zG[#9H:BOOOP
 
 	#Hk.?ARSST	
 	
 	
 	
 	
r7   c                   d}t           j                            |          }t          j        dddg g           }t           j                            |           |                     t           j        j                  5  t           j        	                    |d           d d d            n# 1 swxY w Y   t           j        
                    |j        |j        |j                   d S )Nz
            <
                ir_version: 7,
                opset_import: ["" : 1]
            >
            agraph (X, Y) => (Z)
            {
                Z = CustomOp(X, Y)
            }
           CustomOpr  r   )rT  rU  T)rp   parserparse_modelr   r   register_schemar   rq   r   rr   deregister_schemar,   r)   r-   )r_   r  r  	op_schemas       r0   (test_check_type_when_schema_has_empty_ioz;TestShapeInference.test_check_type_when_schema_has_empty_ioc)  s   	 ''..M
 
 
	 		!!),,,t3BCC 	; 	; --eT:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;	##NI3Y5E	
 	
 	
 	
 	
s   >!B++B/2B/c                B   d}t           j                            |          }|                     t           j        j                  5  t           j                            |d           t           j                            |           d d d            d S # 1 swxY w Y   d S )Na  
        <
        ir_version: 10,
        opset_import: ["" : 17]
        >
        graph (float in0, float[2,7,8,1,3] in1, float[3,7] in2) => () {
        out0, out1, out2 = LayerNormalization <epsilon: float = -841.058, stash_type: int = -940> (in0, in1, in2)
        }
        T
full_check	rp   r	  r		  r   rq   r   r   rs   rr   r_   modeltxtr  s      r0   #test_issue_layer_normalization_6187z6TestShapeInference.test_issue_layer_normalization_6187~)       ''11t3BCC 	5 	5L$$Ut$<<< --e444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5   ABBBc                B   d}t           j                            |          }|                     t           j        j                  5  t           j                            |d           t           j                            |           d d d            d S # 1 swxY w Y   d S )Nz
        <
        ir_version: 9,
        opset_import: ["" : 11]
        >
        graph (float[7,6,1,5] in0, float in1, float[7,2,3,2,1] in2) => () {
        out0 = Conv <auto_pad = "NOTSET", group = 1> (in0, in1, in2)
        }
        Tr	  r	  r	  s      r0   test_issue_conv_6180z'TestShapeInference.test_issue_conv_6180)  r	  r	  c                B   d}t           j                            |          }|                     t           j        j                  5  t           j                            |d           t           j                            |           d d d            d S # 1 swxY w Y   d S )Na  
        <
        ir_version: 10,
        opset_import: ["" : 6]
        >
        graph (double[2,1] in0, double in1, double[2] in2) => () {
        out0 = Gemm <alpha: float = 1, beta: float = -693.752, broadcast: int = -436, transB: int = 823> (in0, in1, in2)
        }
        Tr	  )	rp   r	  r		  r   r   r  rs   rq   rr   r	  s      r0   test_issue_gemm_6185z'TestShapeInference.test_issue_gemm_6185)  s     ''11t|;<< 	5 	5L$$Ut$<<< --e444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5r	  c                B   d}t           j                            |          }|                     t           j        j                  5  t           j                            |d           t           j                            |           d d d            d S # 1 swxY w Y   d S )Nz
        <
        ir_version: 10,
        opset_import: ["" : 17]
        >
        graph (float16[3] in0, int32[2] in1, float16[7,8,8,8] in2, int32[8,1,7,2] in3) => () {
        out0 = STFT (in0, in1, in2, in3)
        }
        Tr	  r	  r	  s      r0   test_issue_stft_6186z'TestShapeInference.test_issue_stft_6186)  r	  r	  r!  c                @   |                      dt          j        dfdgt          ddgdgd          gg t	          dt          j        dd          g          }|                     t          j        j	        | j
        |t          j        t          |          g	           d S )
Nzstd.constantr  r  r!  invalid_node)rT  rU  r,   )ir  r   )rf   r   r^   r   r   r   r   rp   rq   r   rv   r   r   r   r   s       r0   test_issue_constantofshape_6135z2TestShapeInference.test_issue_constantofshape_6135)  s      k/6A%*+%J'	   $^[5FfUUV ! 
 
 	 /N!.{GDDE	 	 	
 	
 	
 	
 	
r7   r#   rx   )r   r:   ri   r   r#   rx   )r   r   r   r   r#   rx   )r   r   r   r   r   r   r#   rx   )r   r:   r+  r,  r#   rx   )
rq  rr  rs  rr  rt  rr  ru  rr  r#   rx   )r  )rq  rr  rs  rr  rt  rr  ru  rr  r
  r:   r#   rx   )
r   r   r  r   r  r   r'  r   r#   r   )r   r:   r/   rr  rX  r:   rW  rY  r=  rZ  rB  rZ  rC  rZ  rD  rY  r#   rx   )r   r:   r=  rr  r#   rx   )r   r:   r   rz  r#   rx   (  r   r   r   r   r   r   expandrC   r   r   r   r   r   r   r   r   r   r   r  r	  unittestr   r  r  r   r&  r+  r2  r8  r>  rD  rG  rJ  rL  rP  rU  rW  r\  r^  rb  rg  rl  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.  r8  r<  r@  rC  rK  rM  rR  rT  rX  r[  r]  r_  rf  ri  rk  rq  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%  r(  r*  r0  r2  r6  r:  r=  r@  rC  rG  rI  rL  rO  rR  rW  rZ  r]  r_  ri  rk  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r#  r%  r*  r-  r1  r6  r9  r@  rB  rE  rG  rI  rL  rO  rT  rV  rY  r[  r]  r_  ra  rc  rf  rh  rj  rl  rn  rp  ru  rx  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.  r5  r7  r9  r;  r=  r?  rH  rJ  rM  rO  rQ  rS  rU  r^  r`  rc  re  ri  rk  rp   r   r   r  r  rq  rt  rv  r|  r  r  r  r  r  r  r  r  r  r  r  r  
skipUnlessr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r%  r+  r.  r0  r2  r4  r7  r;  r=  rA  rF  rH  rJ  rN  rR  rU  rZ  r\  r^  r`  rb  rd  rf  ri  rk  ro  rq  ru  rw  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r!  r*  r.  r0  r2  r8  r:  r=  r?  rA  rC  rF  rH  rJ  rL  rO  rY  r_  rc  rg  rk  rn  rp  rs  rv  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  r/  r2  r8  r;  r>  	itertoolsproductrd  rm  ru  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	  r3   r7   r0   r   r      sr;       V V V V
 
 
 
 ]**;7788

 

 

 98

 ]**;7788

 

 

 98

 ]**;7788
 
 
 98
 ]**;7788

 

 

 98

 ]**;7788V V V 98V ]**;7788V V V 98V ]**;7788V V V 98V
 
 
 
$ ]**84455J J J 65J
 
 
 
 ]**84455H H H 65H  ]**62233

 

 

 43

 ]**62233X] V V V  43V ]**:6677

 

 

 87

 ]**84455
 
 
 65
0 ]**84455
 
 
 65
6 ]**84455
 
 
 65
6 ]**84455
 
 
 65
6 ]**84455
 
 
 65
0 ]**84455

 

 

 65

 ]**84455
V 
V 
V 65
V ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**95566
 
 
 76
 ]**95566

 

 

 76

 ]**95566

 

 

 76

 ]**95566
 
 
 76
 ]**95566
 
 
 76
 ]**95566
 
 
 76
 ]**95566
 
 
 76
" ]**95566
 
 
 76
. ]**:6677'B 'B 'B 87'BR ]**:6677-B -B -B 87-B^ ]**84455
 
 
 65
 ]**84455
 
 
 65
 ]**84455
 
 
 65
* ]**84455
 
 
 65
  ]**84455
 
 
 65
" ]**844556 6 6 656p ]**+=>>??
 
 
 @?
 ]**84455
 
 
 65
$ ]**84455
 
 
 65
$ ]**84455
 
 
 65
8 ]**84455
 
 
 65
: ]**84455
 
 
 65
8 ]**84455
 
 
 65
: ]**84455
 
 
 65
( ]**84455
 
 
 65
$ ]**84455
 
 
 65
$ ]**84455
 
 
 65
4 ]**84455 
  
  
 65 
D ]**84455
 
 
 65
@ ]**73344

 

 

 54

 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**73344
 
 
 54
 ]**62233
 
 
 43
 ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**84455

 

 

 65

 ]**+;<<==

 

 

 >=

 ]**+;<<==

 

 

 >=

 ]**95566( ( ( 76(
 
 
 
  ]**95566. . . 76.
 
 
 
  ]**+<==>>
 
 
 ?>
  ]**+<==>>
 
 
 ?>
  ]**;7788
 
 
 98
  ]**;7788
 
 
 98
2
 
 
 
6 ]**95566   76< ]**>::;;
 
 
 <;
 ]**>::;;
 
 
 <;
 ]**+;<<==

 

 

 >=

 ]**+;<<==

 

 

 >=


 
 
 

 
 
 
"	
 	
 	
 	
	
 	
 	
 	
	
 	
 	
 	
	
 	
 	
 	

 
 
 

 
 
 
0
 
 
 
$
 
 
 
*
 
 
 
*
 
 
 
(
 
 
 
(
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 
0
 
 
 
(
 
 
 
(
 
 
 
,
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
$
 
 
 

 
 
 

 
 
 

 
 
 
%
 %
 %
 %
N
 
 
 
&
 
 
 

 
 
 
($ $ $ $( ( ( (
 
 
 
6
 
 
 
&
 
 
 
<
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
# # # #
 
 
 

 
 
 

 
 
 

 
 
 
$
 
 
 

 
 
 
"
 
 
 

 
 
 
"
 
 
 


 

 

 

K K K KJ J J JK K K KO O O OL L L LM M M MO O O O
 
 
 
S S S SV V V V
 
 
 

 
 
 

 
 
 

 
 
 
	
 	
 	
 	
	
 	
 	
 	
	
 	
 	
 	

 
 
 
8) ) ) )
 
 
 
@9 9 9 9 #*
 *
 *
 *
 *
X/ / / / 
  
  
  
D* * * *
 
 
 

 
 
 

 
 
 
.
 
 
 
$
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
"
 
 
 

 
 
 

 
 
 
 
 
 
 
 
 
 
 

 
 
 
	
 	
 	
 	

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
@@ @ @ @
 
 
 
(
 
 
 
(V V V V$
 
 
 

 
 
 

 
 
 
$
 
 
 

 
 
 

 
 
 

 
 
 
$
 
 
 
(
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 
&
 
 
 
&
 
 
 
&
 
 
 

 
 
 
&
 
 
 
(
 
 
 
&
 
 
 
&
 
 
 
(
 
 
 
&
 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 
&
 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 

 
 
 
(
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 
.
 
 
 
6
 
 
 
*
 
 
 
8
 8
 8
 8
t7
 7
 7
 7
r9
 9
 9
 9
v7
 7
 7
 7
r7
 7
 7
 7
r*
 *
 *
 *
X(
 (
 (
 (
T(
 (
 (
 (
T
 
 
 
8
 
 
 
8B; B; B; B;H
 
 
 
"
 
 
 
,
 
 
 

 
 
 

 
 
 

 
 
 
4
 4
 4
 4
l'
 '
 '
 '
R
 
 
 
6
 
 
 
"
 
 
 
"
 
 
 
6
 
 
 
,
 
 
 
,
 
 
 
,
 
 
 

 
 
 

 
 
 
.
 
 
 
#
 #
 #
 #
J!
 !
 !
 !
F!
 !
 !
 !
F!
 !
 !
 !
F!
 !
 !
 !
F"
 "
 "
 "
H!
 !
 !
 !
F&
 &
 &
 &
P9 9 9 9"
 "
 "
 "
HF F F F
 
 
 
29 9 9 9 ]			!1!94;K;TU 
 
 
 

 
 
 

 
 
 

 
 
 
"
 
 
 
*
 
 
 
0 X] 
 
 
 
( ]			!1!94;K;TU 
 
 
 

 
 
 
&
 
 
 

 
 
 
 
 
 
 
.
 
 
 
"	
 	
 	
 	

 
 
 
&
 
 
 
 X"QRR
 
 
 SR
8 X"QRR
 
 
 SR
8
 
 
 
.
 
 
 

 
 
 

 
 
 
4
 
 
 
6 ],3;(((4  O
 O
 O
 O
b ],3;(((4  "
 "
 "
 "
H ],3;(((4  B
 B
 B
 B
H   $
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
&
 
 
 
$
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
2
 
 
 

 
 
 
2
 
 
 
2
 
 
 
<
 
 
 
<
 
 
 
<
 
 
 
4
 
 
 
0
 
 
 
4
 
 
 
8
 
 
 
8
 
 
 
2
 
 
 
 
 
 
 
 
 
 
 

 
 
 

 
 
 
.
 
 
 

 
 
 

 
 
 
 
 
 
 
 
 
 
 
2
 
 
 
.
 
 
 
2
 
 
 
2
 
 
 
2
 
 
 
6
 
 
 
6
 
 
 
@#
 #
 #
 #
J!
 !
 !
 !
F'
 '
 '
 '
R%
 %
 %
 %
N,
 ,
 ,
 ,
\

 

 

 


 
 
 
*
 
 
 
2
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
V V V V
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

V 
V 
V 
V
 
 
 

 
 
 


 

 

 


 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 


 

 

 


 
 
 


 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 


 
 
 


 

 

 



 

 

 


 
 
 

 
 
 


 

 

 


 
 
 

 
 
 
$
 
 
 
,
 
 
 
$
 
 
 
,
 
 
 
*
 
 
 
,
 
 
 
*
 
 
 
0V V V V*J J J J*
 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
( ( (>, , , ,"! ! ! !,
 
 
 
L L L LL L L L
 
 
 

 
 
 
	
 	
 	
 	
	
 	
 	
 	
	
 	
 	
 	

 
 
 

 
 
 
8
 
 
 
8
 
 
 
8
 
 
 
.
 
 
 
8
 
 
 
8
 
 
 

 
 
 

 
 
 

 
 
 
: : : :: : : : : : : :M M M M,
 
 
 
*
 
 
 
<? ? ? ?  ]**=99::
 
 
 ;:
( ]**=99::
 
 
 ;:
( ]**=99::
 
 
 ;:
$ ]**=99::
 
 
 ;:
" ]**=99::
 
 
 ;:
&K K K K*
 
 
 
8
 
 
 

 
 
 
8%
 %
 %
 %
N
 
 
 
,
 
 
 
*
 
 
 
,
 
 
 
,
 
 
 
$
 
 
 
$
 
 
 
,
 
 
 
4'
 '
 '
R'
 '
 '
R=
 =
 =
~=
 =
 =
~&
 &
 &
P)
 )
 )
V)
 )
 )
V)
 )
 )
V ]$	
 $	
$ #"  '' %$	
 $	
 $	
& &NE
 E
 E
O& &NE
N ]$	
 $	
$ #"  '' %$	
 $	
 $	
& &Np
 p
 p
O& &Np
d ]	
 	
 	
    : ]	
 	
 	
 " " " "H ]"%	
 
 
 
 
8 ]"%	
 ,
 ,
 ,
 ,
\ ]"%	
 
 
 
 
@
 
 
 
:
 
 
 
:G
 G
 G
R>
 >
 >
@?
 ?
 ?
B
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
$ X"QRR"
 "
 "
 SR"
H ]YYc
#YY???#		
  X"QRR
 
 
 SR 
4 X"QRR
 
 
 SR
, ];,k.@+BUVWWX"QRR2
 2
 2
 SR XW2
h ] aNK,>qcAgNNNK,>qcAgNN aNK,=taS1WMMNK,>qcAgNN aNK,>sRxPPNK,>qcAgNN aNK,>qcAgNNNK,=taS1WMM!	
 0 X"QRR,
 ,
 ,
 SR1 2,
\ X"QRR
 
 
 SR
2 X"QRR   SR: X"QRR
 
 
 SR
. X"QRR
 
 
 SR
. ]YY(	
  X"QRR
 
 
 SR 
6 X"QRR: : : SR:
 
 
 
<
 
 
 

 
 
 

 
 
65 5 55 5 55 5 55 5 5 ]**+<==>>
 
 ?>
 
 
r7   r   c                      e Zd ZU dZded<   dZded<   dZded<   d	Zded
<   ddZddZ	d Z
d ZddZd Zd ZddZddZddZdS )TestCustomSchemaShapeInferencer	  r:   custom_op_type
DummyGraphdummy_graph_op_typer   rr  
op_versionr  	op_domainr#   rx   c                    |                      t          j                            | j        | j                             |                      t          j                            | j        | j                             d S rW   )r  rp   r   hasr(	  r,	  r*	  r  s    r0   setUpz$TestCustomSchemaShapeInference.setUp)  sZ    t':DNKKLLLt'?PPQQQQQr7   c                >   t          j        t          j        j                  5  t          j                            | j        | j        | j                   t          j                            | j	        | j        | j                   d d d            d S # 1 swxY w Y   d S rW   )

contextlibsuppressrp   r   r   r	  r(	  r+	  r,	  r*	  r  s    r0   tearDownz'TestCustomSchemaShapeInference.tearDown)  s     !677 	 	I''#T_dn   I''($/4>  		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A!BBBc                    t           j         j         j        t          j                             dd          t          j                             dd          gt          j                             ddt           j        j                  gt          j                             dt          j         j	        j
                  g          }d fd
}|                    |           |S )Nr   floatr   rC  param_optionout_lenrT  rU  rb  ctx%onnx.shape_inference.InferenceContextc                   dfd}                     |                                 d           |                     d          }|                     d          } ||          \  }} ||          \  }}                     |t          j                                        |t          j                                        t          |          d                                t          |          d                                |d         |d                    |\  }}	|\  }
}|                     d          }|j        }                     t          |          |                                            t          |                                           D ]}| 
                    |          }||j        _        ||j        j        j                                        _        |	|z  |j        j        j                                        _        ||         |j        j        j                                        _        |                     ||           d S )	Nr  r   c                                         t          | t                               | j        j        d | j        j        j        D             fS )Nc                J    g | ] }|                     d           r|j        nd!S )r   N)r   r   )r5   rX  s     r0   r?   zTestCustomSchemaShapeInference.get_custom_op_schema.<locals>.schema_shape_infer_func.<locals>.parse_tensor_input.<locals>.<listcomp>*  s?        ()zz+'>'>HD  r7   )
assertTruerZ   r   r   r   r   r   )r  r_   s    r0   parse_tensor_inputzpTestCustomSchemaShapeInference.get_custom_op_schema.<locals>.schema_shape_infer_func.<locals>.parse_tensor_input*  sU    
1i 8 8999M+ !"!4!8   r7   rT   r   r   r8	  )r  r   )assertEqualget_num_inputsget_input_typer   r   r   get_attributeintsget_num_outputsr(   get_output_typer   r   r   r   r*   r   set_output_type)r:	  r@	  in0in1in0_type	in0_shapein1_type	in1_shaper  Lar   Lbattrr8	  r  rC  r_   s                   r0   schema_shape_infer_funczTTestCustomSchemaShapeInference.get_custom_op_schema.<locals>.schema_shape_infer_func*  s0         S//111555$$Q''C$$Q''C"4"4S"9"9Hi"4"4S"9"9HiX{'8999X{'8999S^^Q///S^^Q///Yq\9Q<888EArEAr$$Y//DiGS\\3+>+>+@+@AAA3..0011 , ,))!,,,4)<=%)--//9<>G%)--//9<CAJ%)--//9##As++++, ,r7   r:	  r;	  )r   r(	  r,	  r+	  r   FormalParameterFormalParameterOptionVariadic	AttributeAttrTypeINTS%set_type_and_shape_inference_functionr_   r"   rR	  s   `  r0   get_custom_op_schemaz3TestCustomSchemaShapeInference.get_custom_op_schema)  s     NO--c7;;--c7;;
 --71O1X .   ''	4=3I3NOO
 
 
$ 	,  	,  	,  	,  	,  	,D 	445LMMMr7   c                    t           j         j         j        t          j                             ddt           j        j                  gt          j                             ddt           j        j                  gt          j                             dt          j         j	        j
                  g          }d
 fd	}|                    |           |S )Ninr5	  r6	  rC  r   r9	  r:	  r;	  c                                                                          d                                                    d                                          d          }|                     fdt                                                     D              fdt                                                     D                       }t          |          D ]\  }}                     ||           d S )NrT   r   c                :    g | ]}                     |          S r3   )rC	  r5   r  r:	  s     r0   r?   zjTestCustomSchemaShapeInference.get_dummy_graph_schema.<locals>.schema_shape_infer_func.<locals>.<listcomp>F*  '    LLL1##A&&LLLr7   c                :    g | ]}                     |          S r3   )get_input_datara	  s     r0   r?   zjTestCustomSchemaShapeInference.get_dummy_graph_schema.<locals>.schema_shape_infer_func.<locals>.<listcomp>G*  rb	  r7   )	rA	  rB	  assertIsNotNonerD	  get_graph_attribute_inferencerdo_inferencingr(   r   rH	  )r:	  gctxrU  idxrC  r_   s   `    r0   rR	  zVTestCustomSchemaShapeInference.get_dummy_graph_schema.<locals>.schema_shape_infer_funcA*  s   S//111555  !2!27!;!;<<<55g>>D))LLLLc6H6H6J6J0K0KLLLLLLLc6H6H6J6J0K0KLLL G &g.. . .S##C----. .r7   rS	  )r   r*	  r,	  r+	  r   rT	  rU	  rV	  rW	  rX	  GRAPHrZ	  r[	  s   `  r0   get_dummy_graph_schemaz5TestCustomSchemaShapeInference.get_dummy_graph_schema(*  s     $NO--'0N0W .   --71O1X .  
 //9O9UVVW
 
 
"		. 		. 		. 		. 		. 		. 	445LMMMr7   Fc                @   t          dt          j        ||f          }t          dt          j        ||f          }d t          t	          |                    D             }t          | j        ddgd |D             |          }	t          |	gd||g|r|ng |          S )Nr   r   c                J    g | ] }t          d | t          j        d          !S rC  Nr   r   r   rS  s     r0   r?   zFTestCustomSchemaShapeInference.gen_custom_op_graph.<locals>.<listcomp>R*  =     
 
 
 #999k.?FF
 
 
r7   c                    g | ]	}|j         
S r3   rP   r5   r   s     r0   r?   zFTestCustomSchemaShapeInference.gen_custom_op_graph.<locals>.<listcomp>W*  s    -C-C-Caf-C-C-Cr7   )r8	  rY   rJ   )r   r   r   r(   r   r   r(	  r   )
r_   r  rO	  rP	  r8	  mark_outputr   r   outsr  s
             r0   gen_custom_op_graphz2TestCustomSchemaShapeInference.gen_custom_op_graphO*  s    "3(9Ar7CC"3(9Ar7CC
 
3w<<((
 
 
 #s-C-Cd-C-C-CW
 
 
 FFQFK$?DDRD
 
 
 	
r7   c                j   |                      ||||d          }t          dt          j        ||f          }t          dt          j        ||f          }d t	          t          |                    D             }t          | j        ddgd |D             |          }	t          |	gd||gg |          S )	NTr   r   c                J    g | ] }t          d | t          j        d          !S rn	  ro	  rS  s     r0   r?   zHTestCustomSchemaShapeInference.gen_dummy_graph_graph.<locals>.<listcomp>a*  rp	  r7   c                    g | ]	}|j         
S r3   rP   rr	  s     r0   r?   zHTestCustomSchemaShapeInference.gen_dummy_graph_graph.<locals>.<listcomp>f*  s    2H2H2Ha162H2H2Hr7   r  rY   rs	  )	rv	  r   r   r   r(   r   r   r*	  r   )
r_   r  rO	  rP	  r8	  r  r   r   ru	  r  s
             r0   gen_dummy_graph_graphz4TestCustomSchemaShapeInference.gen_dummy_graph_graph]*  s    ++Ar2wEE"3(9Ar7CC"3(9Ar7CC
 
3w<<((
 
 
 $sCj2H2H42H2H2HPX
 
 
 4&&1a&"FFFFr7   c                n    |                      |fdt          |          D                        d S )Nc           	     ^    g | ])\  }}t          d | t          j        z  |f          *S )rC  ro	  )r5   r  LirO	  rP	  r  s      r0   r?   zCTestCustomSchemaShapeInference.shape_infer_once.<locals>.<listcomp>m*  sN       Ar 'yQyy+2CabRTEUVV  r7   )r   r   )r_   r   r  rO	  rP	  r8	  s     ``` r0   shape_infer_oncez/TestCustomSchemaShapeInference.shape_infer_oncej*  sb         &w//  	
 	
 	
 	
 	
r7   c                   d}d}d}ddg}|                      ||||          }|                     t          j        j                  5  |                     |||||           d d d            n# 1 swxY w Y   |                                 }t          j                            |           |                     |||||           t          j        	                    |j
        |j        |j                   d S Nr   r  r2  r   rT   )rv	  r   rp   r   r  r~	  r\	  r   r
	  r	  r,   r)   r-   )r_   r  rO	  rP	  r8	  r   r"   s          r0   "test_custom_schema_shape_inferencezATestCustomSchemaShapeInference.test_custom_schema_shape_inferences*  s/   a&((BG<< t|;<< 	= 	=!!%BG<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= **,,	!!&))) 	eQB888 		##FK1Ev}UUUUU   A--A14A1c                   d}d}d}ddg}|                      ||||          }|                     t          j        j                  5  |                     |||||           d d d            n# 1 swxY w Y   |                                 }|                                 }t          j        	                    |           t          j        	                    |           |                     |||||           t          j        
                    |j        |j        |j                   t          j        
                    |j        |j        |j                   d S r	  )rz	  r   rp   r   r  r~	  r\	  rk	  r   r
	  r	  r,   r)   r-   )r_   r  rO	  rP	  r8	  r   custom_op_schemadummy_graph_schemas           r0   'test_dummy_graph_schema_shape_inferencezFTestCustomSchemaShapeInference.test_dummy_graph_schema_shape_inference*  s   a&**1b"g>> t|;<< 	= 	=!!%BG<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=  4466!88::	!!"2333	!!"4555 	eQB888 		##!*#	
 	
 	

 		###,%	
 	
 	
 	
 	
r	  c                    d}d}d}dg}                      ||||          }                                 }|                                d fd}|                    |           t          j                            |                                |||||           t          j                            |j	        |j
        |j                   d S )	Nr   r  r2  r   r:	  r;	  c                    |                                 |                     d                                         |                     d                                         |                     d                                         t                    5                      |                     d                     d d d            n# 1 swxY w Y                       |                     d                                         |                     d                                         t                    5                      |                     d                     d d d            n# 1 swxY w Y                       t          j	        j
                  5  |                     d           d d d            n# 1 swxY w Y                        |                     d                                         t                    5                       |                     d                     d d d            n# 1 swxY w Y                        |                     d                                         t                    5                       |                     d                     d d d            n# 1 swxY w Y                       |                     d                                         t                    5  |                     d           d d d            n# 1 swxY w Y                        |                     d                                         t                    5  |                     d           d d d            n# 1 swxY w Y                       |                     d                                         t                    5  |                     d           d d d            n# 1 swxY w Y                       |                                 d                               |                                 d           d S )Nznot-exist-attrr   rT   r&   r   r4  )assertIsNonerD	  r?	  	has_inputr  r   	TypeError
has_outputrp   rq   r   rf	  rd	  RuntimeErrorget_input_sparse_datare	  rC	  get_symbolic_inputrG	  rA	  rB	  rF	  )r:	  raw_funcr_   s    r0   rR	  zdTestCustomSchemaShapeInference.test_invalid_field_in_inference_func.<locals>.schema_shape_infer_func*  s   HSMMMc//0@AABBBOOCMM!,,---S]]1--...""9-- 4 4  r!2!23334 4 4 4 4 4 4 4 4 4 4 4 4 4 4OOCNN1--...S^^A..///""9-- 5 5  !3!34445 5 5 5 5 5 5 5 5 5 5 5 5 5 5""4#7#FGG E E223CDDDE E E E E E E E E E E E E E Ec0033444""<00 : :!!#"4"4R"8"8999: : : : : : : : : : : : : : :c77::;;;""<00 A A!!#";";B"?"?@@@A A A A A A A A A A A A A A A  !3!3A!6!6777""<00 ' '""2&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' 'c44Q77888""<00 + +&&r***+ + + + + + + + + + + + + + +  !4!4Q!7!7888""<00 ( (##B'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (S//111555S0022A66666s   )CCC	)E>>FF-GGG)III)KKK MM	MN11N58N5>P  P$'P$rS	  )rv	  r\	  %get_type_and_shape_inference_functionrZ	  rp   r   r
	  r~	  r	  r,   r)   r-   )	r_   r  rO	  rP	  r8	  r   r"   rR	  r	  s	   `       @r0   $test_invalid_field_in_inference_funczCTestCustomSchemaShapeInference.test_invalid_field_in_inference_func*  s    #((BG<<**,,??AA	7 	7 	7 	7 	7 	7 	7> 	445LMMM	!!&))) 	eQB888 		##FK1Ev}UUUUUr7   Nr 	  )F)r   r   r   r(	  __annotations__r*	  r+	  r,	  r/	  r3	  r\	  rk	  rv	  rz	  r~	  r	  r	  r	  r3   r7   r0   r'	  r'	  )  s&        $N$$$$+++++JIR R R R
   @ @ @D% % %N
 
 
 
G G G
 
 
V V V V,
 
 
 
B0V 0V 0V 0V 0V 0Vr7   r'	  __main__rT   )	verbosity)r"   r   r#   r$   )r9   r:   r#   r;   )8
__future__r   r1	  r$	  r"	  typingr   r   numpyr   r   r   onnx.shape_inferencerp   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   r   onnx.parserr    collections.abcr!   r1   get_all_schemasr8   r	  rC   TestCaserE   r   r'	  r   mainr3   r7   r0   <module>r	     s0  
 # " " " " " "          % % % % % % % %      ' ' ' ' ' '                                                                $ # # # # # )((((((	 	 	 	: :&$&((: : :       "K  K  K  K  K x0 K  K  K \gc
 gc
 gc
 gc
 gc
1 gc
 gc
 gc
TGIV IV IV IV IV%= IV IV IVX zHMA r7   