
    
Ng_                     z   d dl Z d dlZd dlZd dlZd dlmZmZmZmZ d dl	Z	d dl
Zd dlZd dlZd dlZd dlmZmZmZ d dl
mZmZ d dlmZ  G d dej        j        j                  Zh dZd	ed
efdZdddiiZej        j                            ee e          Z! ej"        d          re!#                    d            ej$                    d          dk    re!#                    d           e!#                    d            e%            &                    e!j'                   e dk    r ej(                     dS dS )    N)AnyOptionalSequenceTuple)
ModelProto	NodeProtoTensorProto)Device
DeviceType)!BackendIsNotSupposedToImplementItc                   &    e Zd Ze	 ddedededeej	        j
        j                 f fd            Ze	 	 dded	eded
eeeej        eedf         f                           dedeeedf                  f fd            Zededefd            Z xZS )DummyBackendCPUmodeldevicekwargsreturnc                 ~    t                      j        ||fi | t          j                            |           ddd|}t          j        j        |fi |}d t          j        |j	        j
        |j	        j                  D             }t          |          r|j	        j        D ]}t          |j                  D ]p\  }}|j        dk    r|dk    r||v sJ ||         j        j        }|j        t&          j        k    sJ |j        j        D ]}	|	                    d          dk    sJ qt1          d          )	NT)
check_typestrict_modec                     i | ]
}|j         |S  )name).0vis     W/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/test/test_backend_test.py
<dictcomp>z(DummyBackend.prepare.<locals>.<dictcomp>.   s,     
 
 
 GR
 
 
    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!do_enforce_test_coverage_safelistnode	enumerateop_typetypetensor_type	elem_typer	   	UNDEFINEDshapedim
WhichOneofr   )clsr   r   r   value_infosr0   ir.   ttr8   	__class__s             r   r$   zDummyBackend.prepare"   s    	v00000  ''' !%TDDVD$1%BB6BB
 
oek&<ek>PQQ
 
 

 -U33 		F( F F!*4;!7!7 F FIAv|y00Q!VV ![0000$V,1=B<;+@@@@@!x| F F"~~g66+EEEEEFF 0e
 
 	
r   Nr0   inputsoutputs_info.c                 l    t                                          ||||           t          d          )N)r   r@   r"   )r#   run_noder   )r:   r0   r?   r   r@   r   r>   s         r   rB   zDummyBackend.run_nodeB   s;     	vf<PPP/e
 
 	
r   c                 R    t          |          }|j        t          j        k    rdS dS )NTF)r
   r3   r   r   )r:   r   ds      r   supports_devicezDummyBackend.supports_deviceP   s&    6NN6Z^##4ur   )r   )r   N)__name__
__module____qualname__classmethodr   strr   r   r%   backendbase
BackendRepr$   r   r   r   numpydtypeintrB   boolrE   __classcell__)r>   s   @r   r   r   !   sF       .3
 

(+
?B
	$,#.	/
 
 
 
 
 [
> 
 PT
 

 
 	

 xek5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                 r    | j         j        t          vrdS t          d | j         j        D                       S )NFc              3   (   K   | ]}|j         d vV  dS )>   GRURNNLSTMN)r2   )r   r0   s     r   	<genexpr>z4do_enforce_test_coverage_safelist.<locals>.<genexpr>i   s*      WWdt|#99WWWWWWr   )r,   r   test_coverage_safelistallr0   )r   s    r   r/   r/   f   s:    {555uWWekFVWWW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   rN   onnx.backend.baser%   onnx.backend.testonnx.shape_inferenceonnx.version_converterr   r   r	   r
   r   onnx.backend.test.runnerr   rK   rL   Backendr   rc   rQ   r/   rf   testBackendTestrF   backend_testgetenvexcludearchitectureglobalsupdate
test_casesmainr   r   r   <module>r      s0  
     				   1 1 1 1 1 1 1 1 1 1 1 1                  3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 F F F F F F4 4 4 4 44<$, 4 4 4n   XZ XD X X X X &
 | ,,( -   29Z 5344481((EFFF   ; < < < 		  ( ) ) )zHMOOOOO r   