
    
Ngn                        d dl Z d dlZd dlZd dlZd dl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Z	d dl	mZ d dlmZmZ d dlmZ  G d de	j        j        j                  Z G d d	e	j        j        j                  Ze	j        j                            ee          Z e j        d
          re                    d            ej                    d          dk    re                    d            ej                    dk    re                    d           e                    d           e                    d           e                    d           e                    d           e                    d           e                    d           e                    d           e                    d           e                    d           e                    d           ej        dk    rTe                    d           e                    d           e                    d           e                    d           ej        dk    r*e                    d            e                    d!            ej         d"          re                    d#           e                    d$           e                    d%           e                    d&           e                    d'           e                    d(           e                    d)           e                    d*           e                    d+            e!            "                    ej#                   ed,k    r ej$        d-d./          Z%e%j&        j'        Z( e)e%j&        j*                  Z* e)e%j&        j+                  Z+ e)e%j&        j,                  Z- e)e%j&        j.                  Z/ e0d0            e0d1e( d2e* d3e+ d4e- d5e/ 
           dS dS )6    N)Any)
ModelProto)Device
DeviceTypeReferenceEvaluatorc                       e Zd Zd Zd ZdS )ReferenceEvaluatorBackendRepc                     || _         d S N)_session)selfsessions     \/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/test/test_backend_reference.py__init__z%ReferenceEvaluatorBackendRep.__init__   s        c                    t          |t          j                  r|g}t          |t                    rt	          |          t	          | j        j                  k    r(t          t          | j        j        |                    }ni }d}t          | j        j        | j        j	                  D ]c\  }}t          d |j        j        j        D                       }|||         j        k    r%||         ||<   |dz  }|t	          |          k    r ndn8t          |t                    r|}n t          dt          |          d          | j                            d |          }|S )Nr   c              3   $   K   | ]}|j         V  d S r   )	dim_value).0ds     r   	<genexpr>z3ReferenceEvaluatorBackendRep.run.<locals>.<genexpr>)   s$      !T!T!!+!T!T!T!T!T!Tr      zUnexpected input type .)
isinstancenumpyndarraylistlenr   input_namesdictzipinput_typestupletensor_typeshapedim	TypeErrortyperun)	r   inputskwargsfeeds
pos_inputsinptshaper&   outss	            r   r*   z ReferenceEvaluatorBackendRep.run   sa   fem,, 	XFfd## 	H6{{c$-";<<<<S!:FCCDD
#&M-t}/H$ $ " "KC "!T!Tv7I7O7S!T!T!TTTEz 2 888%+J%7c
"a
%V44!E%% 	HEEFT&\\FFFGGG}  u--r   N)__name__
__module____qualname__r   r*    r   r   r
   r
      s2                 r   r
   c            
           e Zd Zed             Zededefd            Zed             Ze	 dde	dede	de
fd	            Zedd            Zedd            Zd
S )ReferenceEvaluatorBackendc                     dS )N)T r5   clsmodels     r   is_opset_supportedz,ReferenceEvaluatorBackend.is_opset_supported8   s    xr   devicereturnc                 J    t          |          }|j        t          j        k    S r   )r   r)   r   CPU)r;   r>   r   s      r   supports_devicez)ReferenceEvaluatorBackend.supports_device<   s    6NNv''r   c                      t          |          S r   r   r:   s     r   create_inference_sessionz2ReferenceEvaluatorBackend.create_inference_sessionA   s    !%(((r   rA   r<   r,   c                    t          |t                    rt          |          S t          |t          t          t
          f          r$|                     |          } | j        ||fi |S t          dt          |           d          )NzUnexpected type z for model.)
r   r   r
   strbytesr   rD   preparer(   r)   )r;   r<   r>   r,   infs        r   rH   z!ReferenceEvaluatorBackend.prepareE   s     e/00 	7/666ec5*566 	6..u55C3;sF55f555C4;;CCCDDDr   Nc                 <     | j         ||fi |} |j        |fi |S r   )rH   r*   )r;   r<   r+   r>   r,   reps         r   	run_modelz#ReferenceEvaluatorBackend.run_modelR   s7    ck%22622swv(((((r   c                      t          d          )Nz%Unable to run the model node by node.)NotImplementedError)r;   noder+   r>   outputs_infor,   s         r   run_nodez"ReferenceEvaluatorBackend.run_nodeW   s    !"IJJJr   )rA   r   )NN)r2   r3   r4   classmethodr=   rF   boolrB   rD   r   r
   rH   rL   rQ   r5   r   r   r7   r7   7   s         [ (S (T ( ( ( [( ) ) [) ',
E 
E
E!$
E8;
E	%
E 
E 
E [
E ) ) ) [) K K K [K K Kr   r7   APPVEYORz(test_vgg19|test_zfnet)32bitz)(test_vgg19|test_zfnet|test_bvlc_alexnet)Windowstest_sequence_modelz(test_gradient|test_if_opt|test_loop16_seq_none|test_range_float_type_positive_delta_expanded|test_range_int32_type_negative_delta_expanded|test_scan_sum)z-(test_scatter_with_axis|test_scatter_without)a  (test_cast_FLOAT_to_FLOAT8|test_cast_FLOAT16_to_FLOAT8|test_castlike_FLOAT_to_FLOAT8|test_castlike_FLOAT16_to_FLOAT8|test_cast_FLOAT_to_UINT4|test_cast_FLOAT16_to_UINT4|test_cast_FLOAT_to_INT4|test_cast_FLOAT16_to_INT4|test_cast_no_saturate_FLOAT_to_FLOAT8|test_cast_no_saturate_FLOAT16_to_FLOAT8|test_cast_BFLOAT16_to_FLOAT|test_castlike_BFLOAT16_to_FLOAT|test_quantizelinear_e4m3|test_quantizelinear_e5m2|test_quantizelinear_uint4|test_quantizelinear_int4)zf(test_cast_FLOAT_to_BFLOAT16|test_castlike_FLOAT_to_BFLOAT16|test_castlike_FLOAT_to_BFLOAT16_expanded)z(test_bvlc_alexnet|test_densenet121|test_inception_v1|test_inception_v2|test_resnet50|test_shufflenet|test_squeezenet|test_vgg19|test_zfnet512)z(test_bernoulli)zF(test_cast_FLOAT_to_STRING|test_castlike_FLOAT_to_STRING|test_strnorm)zd(test_center_crop_pad_crop_axes_hwc_expanded|test_lppool_2d_dilations|test_averagepool_2d_dilations)z(test_eyelike_without_dtype)test_adam_multiplewin32test_regex_full_match_basic_cpu&test_regex_full_match_email_domain_cputest_regex_full_match_empty_cputest_image_decoder_decode_darwin&test_qlinearmatmul_3D_int8_float16_cpu&test_qlinearmatmul_3D_int8_float32_cpuz1.21.5	test_stfttest_stft_with_windowtest_stft_cputest_dfttest_dft_axistest_dft_inversetest_dft_opset19test_dft_axis_opset19test_dft_inverse_opset19__main__   F)	verbosityexitz!---------------------------------z
tests_run=z errors=z	 skipped=z unexpected_successes=z expected_failures=)1osplatformsysunittesttypingr   r   version_utilsonnx.backend.baseonnxonnx.backend.testonnx.shape_inferenceonnx.version_converterr   r   r   onnx.referencer   backendbase
BackendRepr
   Backendr7   testBackendTestr2   backend_testgetenvexcludearchitecturesystemnumpy_older_thanglobalsupdate
test_casesmainresresulttestsRun	tests_runr   errorsskippedunexpectedSuccessesunexpected_successesexpectedFailuresexpected_failuresprintr5   r   r   <module>r      s_  
 
			  



                                   0 0 0 0 0 0 0 0 - - - - - -
    4<#4#?   <"K "K "K "K "K 1 9 "K "K "KJ | ,,-FQQ29Z 4233381((DEEE8?	!!.///        D E E E     0        
 
 
   ' ( ( (   L  
   &     3 4 4 4   ) * * * <7:;;;ABBB:;;;5666<8ABBBABBB "=!(++ 	5%%%0111)))$$$)))+,,,+,,,01113444 		  ( ) ) )z
(-!%
0
0
0C
#IS"##Fc#*$%%G3sz=>>CJ788	E
-...	E	1Y 	1 	1 	1 	1 	1 	1 4	1 	1.	1 	1     r   