
    Si!                        S SK Jr  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
  S SKrS SKrS SKrS rS r " S S\R                   5      r\S:X  a  \R&                  " SS	9  gg)
    )annotationsNc                    [         R                  R                  S[         R                  R                  S S /5      n [         R                  R                  S[         R                  R                  S /5      n[         R                  R                  [         R                  R                  SSS/S/5      [         R                  R                  SSS/S/5      [         R                  R                  SSS/S/5      /S	U /U/[         R                  R                  [        R                  " S
5      R                  [        R                  5      R                  S5      SS9[         R                  R                  [        R                  " S
5      S-  R                  [        R                  5      R                  S5      SS9[         R                  R                  [        R                  " S
5      S-  R                  [        R                  5      R                  S5      SS9/5      n[         R                  R                  U5      n[         R                  R!                  U5        U$ )NXYMatMulAXABXBCmm	      name
   )onnxhelpermake_tensor_value_infoTensorProtoFLOAT
make_graph	make_nodenumpy_helper
from_arraynparangeastypefloat32reshape
make_modelcheckercheck_model)r   r   graph
onnx_models       ]/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/test/model_container_test.py_linear_regressionr)      s   **30@0@0F0FtUA**30@0@0F0FOAKK""KK!!(S#J?KK!!(T3K$@KK!!(T3K#?	

 		
	
((		!##BJJ/77@s )  ((1"**2::6>>wG )  ((1"**2::6>>wG ) 	
E. ''.JLLZ(    c                 n   [         R                  R                  S[         R                  R                  S S /5      n [         R                  R                  S[         R                  R                  S /5      n[         R                  R                  [         R                  R                  SSS/S/5      [         R                  R                  SSS/S/5      [         R                  R                  SSS/S/5      /S	U /U/[         R                  R                  S
S[         R                  R                  S5      [         R                  R                  [        R                  " S5      R                  [        R                  5      R                  S5      SS9[         R                  R                  SS[         R                  R                  S5      /5      n[         R                  R!                  U5      n[         R                  R#                  UR$                  [        R                  " S5      S-  R                  [        R                  5      R                  S5      [        R                  " S5      S-   R                  [        R                  5      R                  S5      S.5      nUR'                  5         U$ )Nr   r   r   r   r	   r
   r   r   r   #loc0)r   r   r   r   r   #loc1d   r   )r,   r-   )r   r   r   r   r   r   r   model_containermake_large_tensor_protor   r   r   r   r    r!   r"   r#   make_large_modelr&   r%   )r   r   r&   r'   large_models        r(   _large_linear_regressionr3   2   s	   **30@0@0F0FtUA**30@0@0F0FOAKK""KK!!(S#J?KK!!(T3K$@KK!!(T3K#?	

 		
	
  88d..44f ((		!##BJJ/77@s )    88d..44f
	
E* ''.J&&77iilS(00<DDWMiilR'//

;CCGL	
K r*   c                  &    \ rS rSrS rS rS rSrg)TestLargeOnnxV   c                   [        5       n[        U[        R                  5      (       d   e[        R                  R                  UR                  5      n[        U[        R                  R                  5      (       d   e[        R                  " 5        n[        R                  R                  US5      nUR                  U5        [        R                  R                  5       nU R                  [        5         UR                   (       d   e S S S 5        UR#                  U5        UR                   c   e[        R$                  R'                  UR                   5        S S S 5        g ! , (       d  f       N`= f! , (       d  f       g = f)N
model.onnx)r)   
isinstancer   
ModelProtor/   r1   r&   ModelContainertempfileTemporaryDirectoryospathjoinsaveassertRaisesRuntimeErrormodel_protoloadr$   r%   )selfrD   r2   tempfilenamecopys         r(   $test_large_onnx_no_large_initializer2TestLargeOnnx.test_large_onnx_no_large_initializerW   s   (*+t7777**;;K<M<MN+t';';'J'JKKKK((*dww||D,7HX&''668D""<0'''' 1IIh##///LL$$T%5%56 +* 10	 +*s&   A%E::E)AE:)
E7	3E::
Fc                X   [        5       n[        U[        R                  R                  5      (       d   e[
        R                  " 5        n[        R                  R                  US5      nUR                  US5      n[        U[        R                  5      (       d   e[        R                  R	                  5       nUR                  U5        UR                  5         [        R                  " USS9n[        R                  R                  U5        S S S 5        g ! , (       d  f       g = f)Nr8   Tload_external_data)r3   r9   r   r/   r;   r<   r=   r>   r?   r@   rA   r:   rE   r%   
load_modelr$   )rF   r2   rG   rH   saved_protorI   loaded_models          r(   test_large_one_weight_file(TestLargeOnnx.test_large_one_weight_filef   s    .0+t';';'J'JKKKK((*dww||D,7H%**8T:Kk4??;;;;''668DIIh??8MLLL$$\2 +**s   CD
D)c                   [        5       n[        U[        R                  R                  5      (       d   e[
        R                  " 5        n[        R                  R                  US5      nUR                  US5      n[        U[        R                  5      (       d   e[        R                  " U5      n[        R                  R                  U5        [        R                   " U5       H  n[        R"                  " U5      (       d  M   SnUR$                   HJ  nUR&                  S:X  d  M  [        R                  R)                  UR*                  5      (       d   eUS-  nML     U R-                  US5        M     [        R                  " USS9n	[        R                  R                  U	5        S S S 5        g ! , (       d  f       g = f)Nr8   Fr   location   TrM   )r3   r9   r   r/   r;   r<   r=   r>   r?   r@   rA   r:   rO   r$   r%   ext_data_get_all_tensorsuses_external_dataexternal_datakeyexistsvalueassertEqual)
rF   r2   rG   rH   rP   rI   tensortestedextrQ   s
             r(   test_large_multi_files$TestLargeOnnx.test_large_multi_filess   sC   .0+t';';'J'JKKKK((*dww||D,7H%**8U;Kk4??;;;;??8,DLL$$T*"33D9..v66F%3377j0#%77>>#))#<#<<#<"aKF  4 $$VQ/ :  ??8MLLL$$\2 +**s   B;F9
F9-BF99
G N)__name__
__module____qualname____firstlineno__rJ   rR   rb   __static_attributes__rd   r*   r(   r5   r5   V   s    733r*   r5   __main__   )	verbosity)
__future__r   r>   r<   unittestnumpyr   r   onnx.external_data_helperexternal_data_helperrW   onnx.helperonnx.model_containeronnx.numpy_helperr)   r3   TestCaser5   re   mainrd   r*   r(   <module>rw      s^    # 	     ,   >!H/3H%% /3d zMMA r*   