
    h                         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   " S S\R                  5      r\	S:X  a  \R                  " 5         gg)    N)TensorProtohelperc                       \ rS rSrSS jrSrg)TestUtilityFunctions   Nc                 :   S nU" S5      nU" S5      nU" S5      nU" S5      nU" S5      nU" S5      nU" S5      nU" S	5      n	[         R                  " S
SS/S/5      n
[         R                  " SSS/S/5      n[         R                  " SSS/S/5      n[         R                  " S
SS/S/5      n[         R                  " SSS/S/5      n[         R                  " SSS/S	/5      n[         R                  " XXX/SX#/U	/5      n[         R                  " USS9n[        R
                  " 5       n[        R                  R                  US5      n[        R                  " UU5        [        R                  R                  US5      n/ SQnSS/n[        R                  R                  UUUU5        [        R                  " U5      nU R                  UR                  S5        U R                  UR                   UR                   5        U R                  UR"                  UR"                  5        U R                  [%        UR&                  R(                  5      S5        U R                  [%        UR&                  R*                  5      S5        U R                  [%        UR&                  R,                  5      S5        U R                  UR&                  R*                  S   U5        U R                  UR&                  R*                  S   U5        U R                  UR&                  R*                  S   U5        U R                  UR&                  R,                  S   U5        U R                  UR&                  R,                  S   U5        [.        R0                  " USS9  g )Nc                 R    [         R                  " U [        R                  SS/5      $ )N      )r   make_tensor_value_infor   FLOAT)names    N/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/utils_test.pycreate_tensor>TestUtilityFunctions.test_extract_model.<locals>.create_tensor   s!    00{7H7H1a&QQ    A0A1B0B1B2C0C1D0AddSubMultest)producer_namezoriginal.onnxzextracted.onnx)r   r   r   zonnx.utils.extract_modelr      r   r
   T)ignore_errors)r   	make_node
make_graph
make_modeltempfilemkdtempospathjoinonnxsaveutilsextract_modelloadassertEqualr   
ir_versionopset_importlengraphnodeinputoutputshutilrmtree)selfr   r   r   r   r   r   r   r   r   L0_0L0_1L0_2L1_0L1_1L2_0g0m0tdirp0p1input_namesoutput_namesm1s                           r   test_extract_model'TestUtilityFunctions.test_extract_model   s   	R 4 4 4 4 4 4 4 4 d|dV<d|dV<d|dV<d|dV<d|dV<d|dV<T0&2(RD
 r8!WW\\$0		"bWW\\$ 01(d|

  RlCYYr]))+EF6"//:RXX]]+Q/RXX^^,a0RXX__-q1*B/*B/*B/+R0+R0d$/r    )returnN)__name__
__module____qualname____firstlineno__rH   __static_attributes__rJ   r   r   r   r      s    ,0r   r   __main__)r'   r7   r%   unittestr*   r   r   TestCaser   rL   mainrJ   r   r   <module>rU      sD   
 
     $-08,, -0` zMMO r   