
    hy                         S SK r S SKrS SKrS SKrSr " S S\R
                  R                  5      r " S S\R                  5      r	 " S S\R                  5      r
g)	    NaH  <
    ir_version: 8,
    opset_import: ["" : 17, "local" : 1]
>
agraph (float[N] X) => (float[N] Y) {
    Y = local.foo (X)
}

<opset_import: ["" : 17, "local" : 1], domain: "local">
foo (x) => (y) {
    temp = Add(x, x)
    y = local.bar(temp)
}

<opset_import: ["" : 17], domain: "local">
bar (x) => (y) {
    y = Mul (x, x)
}c                   J    \ rS rSrSrSr\" S15      rS\4S jr	S\4S jr
S	rg
)_OnnxTestTextualSerializer   z:Serialize and deserialize the ONNX textual representation.onnxtextz	.onnxtextreturnc                 b    [         R                  R                  U5      nUR                  S5      $ )Nutf-8)onnxprinterto_textencode)selfprototexts      V/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/serialization_test.pyserialize_proto*_OnnxTestTextualSerializer.serialize_proto%   s%    ||##E*{{7##    
serializedc                 B   UR                  S5      n[        U[        R                  5      (       a  [        R                  R                  U5      $ [        U[        R                  5      (       a  [        R                  R                  U5      $ [        U[        R                  5      (       a  [        R                  R                  U5      $ [        U[        R                  5      (       a  [        R                  R                  U5      $ [        S[        U5       35      e)Nr	   zUnsupported proto type: )decode
isinstancer
   
ModelProtoparserparse_model
GraphProtoparse_graphFunctionProtoparse_function	NodeProto
parse_node
ValueErrortype)r   r   r   r   s       r   deserialize_proto,_OnnxTestTextualSerializer.deserialize_proto)   s      )eT__--;;**400eT__--;;**400eT//00;;--d33eT^^,,;;))$//3DK=ABBr    N)__name__
__module____qualname____firstlineno____doc__supported_format	frozensetfile_extensionsbytesr   r$   __static_attributes__r&   r   r   r   r      s1    D!.O$ $
CE 
Cr   r   c                   <    \ rS rSrSS jrSS jrSS jrSS jrSrg)	TestRegistry6   Nc                     [        5       U l        [        R                  R                  R                  U R                  5        g )N)r   
serializerr
   serializationregistryregisterr   s    r   setUpTestRegistry.setUp7   s*    46##,,T__=r   c                     [         R                  R                  R                  S5      nU R	                  XR
                  5        g )Nr   )r
   r6   r7   getassertIsr5   )r   r5   s     r   (test_get_returns_the_registered_instance5TestRegistry.test_get_returns_the_registered_instance;   s.    ''0044Z@
j//2r   c                     U R                  [        5         [        R                  R                  R                  S5        S S S 5        g ! , (       d  f       g = f)Nunsupported)assertRaisesr"   r
   r6   r7   r=   r9   s    r   &test_get_raises_for_unsupported_format3TestRegistry.test_get_raises_for_unsupported_format?   s6    z*''++M: +**s   *A		
Ac                 Z   [         R                  R                  [        5      n[        R
                  " 5        n[        R                  R                  US5      n[         R                  " XSS9  [        USS9 nUR                  5       nU R                  U[         R                  R                  U5      5        S S S 5        [         R                  " USS9nU R                  UR!                  SS9UR!                  SS95        S S S 5        g ! , (       d  f       NX= f! , (       d  f       g = f)Nz
model.onnxr   )formatr	   )encodingTdeterministic)r
   r   r   _TEST_MODELtempfileTemporaryDirectoryospathjoin
save_modelopenreadassertEqualr   r   
load_modelSerializeToString)r   modeltmpdir
model_pathfcontentloaded_models          r   4test_onnx_save_load_model_uses_the_custom_serializerATestRegistry.test_onnx_save_load_model_uses_the_custom_serializerC   s    ''4((*ffl;JOOEjA j73q&&(  $,,*>*>u*EF 4  ??:jIL''d';..T.B +*
 43 +*s&   A D9A D9A	D
D	D
D*)r5   r   N)	r'   r(   r)   r*   r:   r?   rD   r]   r0   r&   r   r   r2   r2   6   s    >3;r   r2   c                       \ rS rSrSS jrSrg)TestCustomSerializerV   Nc                 "   [        5       n[        R                  R                  [        5      nUR                  U5      nUR                  U[        R                  " 5       5      nU R                  UR                  SS9UR                  SS95        g )NTrI   )
r   r
   r   r   rK   r   r$   r   rT   rV   )r   r5   rW   r   deserializeds        r    test_serialize_deserialize_model5TestCustomSerializer.test_serialize_deserialize_modelW   sw    /1
''4//6
!33J@QR##$#7***>	
r   r&   r_   )r'   r(   r)   r*   re   r0   r&   r   r   ra   ra   V   s    
r   ra   )rN   rL   unittestr
   rK   r6   ProtoSerializerr   TestCaser2   ra   r&   r   r   <module>rj      sY    
   *C!3!3!C!C C.8$$ @	
8,, 	
r   