
    h_                        S SK r S SKrS SKrS SKrS SKJrJrJrJr  S SK	r	S SK
rS SKrS SKrS SKrS SKJrJrJr  S SK
JrJr  S SKJr   " S S\R,                  R.                  R0                  5      r1 SkrS	\S
\4S jrSSS00r\R,                  R<                  R?                  \\ \S9r!\RD                  " S5      (       a  \!RG                  S5        \RH                  " 5       S    S:X  a  \!RG                  S5        \!RG                  S5        \%" 5       RM                  \!RN                  5        \ S:X  a  \RP                  " 5         gg)    N)AnyOptionalSequenceTuple)
ModelProto	NodeProtoTensorProto)Device
DeviceType)!BackendIsNotSupposedToImplementItc                   (  ^  \ rS rSr\ SS\S\S\S\\	R                  R                  R                     4U 4S jjj5       r\  SS\S\S\S	\\\\R$                  \\S
4   4         S\S\\\S
4      4U 4S jjj5       r\S\S\4S j5       rSrU =r$ )DummyBackend!   modeldevicekwargsreturnc                 4  > [         TU ]  " X40 UD6  [        R                  R	                  U5        SSS.UEn[        R
                  R                  " U40 UD6n[        R                  " UR                  R                  UR                  R                  5       Vs0 s H  nUR                  U_M     nn[        U5      (       a  UR                  R                   H  n[        UR                  5       H  u  pxUR                   S:X  a  US:w  a  M  X;   d   eXX   R"                  R$                  n	U	R&                  [(        R*                  :w  d   eU	R,                  R.                   H  n
U
R1                  S5      S:X  a  M   e   M     M     [3        S5      es  snf )NT)
check_typestrict_modeDropoutr   value	dim_valueWThis is the dummy backend test that doesn't verify the results but does run the checker)superprepareonnxcheckercheck_modelshape_inferenceinfer_shapes	itertoolschaingraph
value_infooutputname!do_enforce_test_coverage_safelistnode	enumerateop_typetypetensor_type	elem_typer	   	UNDEFINEDshapedim
WhichOneofr   )clsr   r   r   vivalue_infosr)   ir&   ttr1   	__class__s              U/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/test_backend_test.pyr   DummyBackend.prepare"   s`    	00  ' !%TDVD$$11%B6B  ooekk&<&<ekk>P>PQ
Q GGRKQ 	 

 -U33((!*4;;!7IA||y0Q!V !000$,11==B<<;+@+@@@@!xx||"~~g6+EEE  , "8 ) 0e
 	
!
s   Fr)   inputsoutputs_info.c                 6   > [         TU ]  XX4S9  [        S5      e)N)r   r<   r   )r   run_noder   )r3   r)   r;   r   r<   r   r8   s         r9   r>   DummyBackend.run_nodeB   s'     	fP/e
 	
    c                 X    [        U5      nUR                  [        R                  :X  a  gg)NTF)r
   r,   r   CPU)r3   r   ds      r9   supports_deviceDummyBackend.supports_deviceP   s!    6N66Z^^#r@    )rB   )rB   N)__name__
__module____qualname____firstlineno__classmethodr   strr   r   r   backendbase
BackendRepr   r   r   r   numpydtypeintr>   boolrD   __static_attributes____classcell__)r8   s   @r9   r   r   !   s    .3

(+
?B
	$,,##..	/
 
> 
 PT

 
 	

 xekk5c?.J(KLM
 
 
%S/	"
 
 S T  r@   r   >
   vgg19zfnetresnet50
SingleRelu
shufflenetdensenet121bvlc_alexnetinception_v1inception_v2squeezenet_oldr   r   c                     U R                   R                  [        ;  a  g[        S U R                   R                   5       5      $ )NFc              3   >   #    U  H  oR                   S ;  v   M     g7f)>   GRURNNLSTMN)r+   ).0r)   s     r9   	<genexpr>4do_enforce_test_coverage_safelist.<locals>.<genexpr>i   s     WFVd||#99FVs   )r$   r'   test_coverage_safelistallr)   )r   s    r9   r(   r(   f   s3    {{55WekkFVFVWWWr@   test_mvnr   F)test_kwargsAPPVEYORz(test_vgg19|test_zfnet)32bitz)(test_vgg19|test_zfnet|test_bvlc_alexnet)$test_dequantizelinear_e4m3fn_float16__main__))r"   osplatformunittesttypingr   r   r   r   rP   onnx.backend.baser   onnx.backend.testonnx.shape_inferenceonnx.version_converterr   r   r	   r
   r   onnx.backend.test.runnerr   rM   rN   Backendr   rh   rS   r(   rk   testBackendTestrG   backend_testgetenvexcludearchitectureglobalsupdate
test_casesmainrF   r@   r9   <module>r      s.  
  	   1 1      3 3 0 F44<<$$,, 4n XZ XD X &
 ||  ,,( -  99Z341(EF   ; < 	  (( )zMMO r@   