
    bIg?                        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m	Z
 d dlZd dlZd dlZd Zd Z G d dej                         Zedk(  r ej&                  d	       yy)
    )annotationsNc                    t         j                  j                  dt         j                  j                  d d g      } t         j                  j                  dt         j                  j                  d g      }t         j                  j                  t         j                  j                  dddgdg      t         j                  j                  dddgdg      t         j                  j                  dddgdg      gd	| g|gt         j                  j                  t        j                  d
      j                  t        j                        j                  d      d      t         j                  j                  t        j                  d
      dz  j                  t        j                        j                  d      d      t         j                  j                  t        j                  d
      dz  j                  t        j                        j                  d      d      g      }t         j                  j                  |      }t         j                  j!                  |       |S )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/answerous/venv/lib/python3.12/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   t         j                  j                  dt         j                  j                  d d g      } t         j                  j                  dt         j                  j                  d g      }t         j                  j                  t         j                  j                  dddgdg      t         j                  j                  dddgdg      t         j                  j                  dddgdg      gd	| g|gt         j                  j                  d
dt         j                  j                  d      t         j                  j                  t        j                  d      j                  t        j                        j                  d      d      t         j                  j                  ddt         j                  j                  d      g      }t         j                  j!                  |      }t         j                  j#                  |j$                  t        j                  d      dz  j                  t        j                        j                  d      t        j                  d      dz   j                  t        j                        j                  d      d      }|j'                          |S )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                      e Zd Zd Zd Zd Zy)TestLargeOnnxc                   t               }t        |t        j                        sJ t        j                  j                  |j                        }t        |t        j                  j                        sJ t        j                         5 }t        j                  j                  |d      }|j                  |       t        j                  j                         }| j                  t              5  |j                   sJ 	 d d d        |j#                  |       |j                   J t        j$                  j'                  |j                          d d d        y # 1 sw Y   ZxY w# 1 sw Y   y xY w)N
model.onnx)r)   
isinstancer   
ModelProtor/   r1   r&   ModelContainertempfileTemporaryDirectoryospathjoinsaveassertRaisesRuntimeErrormodel_protoloadr$   r%   )selfrC   r2   tempfilenamecopys         r(   $test_large_onnx_no_large_initializerz2TestLargeOnnx.test_large_onnx_no_large_initializerW   s   (*+t777**;;K<M<MN+t';';'J'JKKK((* 	7dww||D,7HX&''668D""<0 (''''(IIh##///LL$$T%5%56	7 	7( (		7 	7s&   
A%E$/E?AE$E!	E$$E-c                <   t               }t        |t        j                  j                        sJ t        j                         5 }t        j                  j                  |d      }|j                  |d      }t        |t        j                        sJ t        j                  j	                         }|j                  |       |j                          t        j                  |d      }t        j                  j                  |       d d d        y # 1 sw Y   y xY w)Nr7   Tload_external_data)r3   r8   r   r/   r:   r;   r<   r=   r>   r?   r@   r9   rD   r%   
load_modelr$   )rE   r2   rF   rG   saved_protorH   loaded_models          r(   test_large_one_weight_filez(TestLargeOnnx.test_large_one_weight_filef   s    .0+t';';'J'JKKK((* 	3dww||D,7H%**8T:Kk4??;;;''668DIIh??8MLLL$$\2	3 	3 	3s   CDDc                P   t               }t        |t        j                  j                        sJ t        j                         5 }t        j                  j                  |d      }|j                  |d      }t        |t        j                        sJ t        j                  |      }t        j                  j                  |       t        j                   |      D ]}  }t        j"                  |      sd}|j$                  D ]B  }|j&                  dk(  st        j                  j)                  |j*                        sJ |dz  }D | j-                  |d        t        j                  |d      }	t        j                  j                  |	       d d d        y # 1 sw Y   y xY w)Nr7   Fr   location   TrK   )r3   r8   r   r/   r:   r;   r<   r=   r>   r?   r@   r9   rM   r$   r%   ext_data_get_all_tensorsuses_external_dataexternal_datakeyexistsvalueassertEqual)
rE   r2   rF   rG   rN   rH   tensortestedextrO   s
             r(   test_large_multi_filesz$TestLargeOnnx.test_large_multi_filess   sJ   .0+t';';'J'JKKK((* 	3dww||D,7H%**8U;Kk4??;;;??8,DLL$$T*"33D9 0..v6F%33 (77j0#%77>>#))#<<#<"aKF( $$VQ/0  ??8MLLL$$\2	3 	3 	3s   B0F6 FA<FF%N)__name__
__module____qualname__rI   rP   r_    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_helperrT   onnx.helperonnx.model_containeronnx.numpy_helperr)   r3   TestCaser5   r`   mainrc   r*   r(   <module>rq      s`    # 	     ,   >!H/3H%% /3d zHMMA r*   