
    wi/                    \   d dl mZ d dl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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 er
d dlmZ d dlZ G d d	e
j        j        j                  Zh d
Zd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&            '                    e"j(                   e!dk    r ej)                     dS dS )    )annotationsN)TYPE_CHECKINGAny)
ModelProto	NodeProtoTensorProto)Device
DeviceType)!BackendIsNotSupposedToImplementIt)Sequencec                  n     e Zd Ze	 dd fd
            Ze	 	 dd fd            Zedd            Z xZS )DummyBackendCPUmodelr   devicestrkwargsr   return#onnx.backend.base.BackendRep | Nonec                ~    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     k/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/onnx/test/test_backend_test.py
<dictcomp>z(DummyBackend.prepare.<locals>.<dictcomp>2   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_infosr2   ir0   ttr:   	__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    Nr2   r   inputsoutputs_info4Sequence[tuple[numpy.dtype, tuple[int, ...]]] | Nonetuple[Any, ...] | Nonec                l    t                                          ||||           t          d          )N)r   rB   r$   )r%   run_noder   )r<   r2   rA   r   rB   r   r@   s         r   rF   zDummyBackend.run_nodeF   s;     	vf<PPP/e
 
 	
r    boolc                J    t          |          }|j        t          j        k    S )N)r	   r5   r
   r   )r<   r   ds      r   supports_devicezDummyBackend.supports_deviceT   s    6NNv''r    )r   )r   r   r   r   r   r   r   r   )r   N)r2   r   rA   r   r   r   rB   rC   r   r   r   rD   )r   r   r   rG   )__name__
__module____qualname__classmethodr&   rF   rJ   __classcell__)r@   s   @r   r   r   %   s        .3
 
 
 
 
 
 [
> 
 MQ
 
 
 
 
 
 [
 ( ( ( [( ( ( ( (r    r   >
   vgg19zfnetresnet50
SingleRelu
shufflenetdensenet121bvlc_alexnetinception_v1inception_v2squeezenet_oldr   r   r   rG   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)r4   )r   r2   s     r   	<genexpr>z4do_enforce_test_coverage_safelist.<locals>.<genexpr>k   s*      WWdt|#99WWWWWWr    )r.   r   test_coverage_safelistallr2   )r   s    r   r1   r1   h   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)__main__)r   r   r   rG   )*
__future__r   r,   osplatformunittesttypingr   r   onnx.backend.baser'   onnx.backend.testonnx.shape_inferenceonnx.version_converterr   r   r   r	   r
   onnx.backend.test.runnerr   collections.abcr   numpybackendbaseBackendr   r`   r1   rc   testBackendTestrK   backend_testgetenvexcludearchitectureglobalsupdate
test_casesmainr   r    r   <module>r      s)   # " " " " "     				   % % % % % % % %                 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 F F F F F F ((((((LLL2( 2( 2( 2( 2(4<$, 2( 2( 2(j   X X X X &
 | ,,( -   29Z 5344481((EFFF 		  ( ) ) )zHMOOOOO r    