
    
NgO                         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 Zd Z G d dej                  Zedk    r ej        d           dS dS )	    Nc                     t           j                            dt           j        j        d d g          } t           j                            dt           j        j        d g          }t           j                            t           j                            dddgdg          t           j                            dddgdg          t           j                            dddgdg          gd	| g|gt           j                            t          j
        d
                              t          j                                      d          d          t           j                            t          j
        d
          dz                      t          j                                      d          d          t           j                            t          j
        d
          dz                       t          j                                      d          d          g          }t           j                            |          }t           j                            |           |S )NXYMatMulAXABXBCmm	      named   
   )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       b/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/test/model_container_refeval_test.py_linear_regressionr)      s   **30@0FtUUA**30@0FOOAK""K!!(S#J??K!!(T3K$@@K!!(T3K#??	

 		
	
((	!##BJ//77@@s )   ((1#++BJ77??HH )   ((1"**2:66>>wGG )  	
 E. ''..JLZ(((    c                  6   t           j                            dt           j        j        d d g          } t           j                            dt           j        j        d g          }t           j                            t           j                            dddgdg          t           j                            dddgdg          t           j                            dddgdg          gd	| g|gt           j                            d
dt           j        j        d          t           j	        
                    t          j        d                              t          j                                      d          d          t           j                            ddt           j        j        d          g          }t           j                            |          }t           j                            |j        t          j        d          dz                      t          j                                      d          t          j        d          dz                       t          j                                      d          d          }|                                 |S )Nr   r   r   r   r   r	   r
   r   r   #loc0)r   r   r   r   r   #loc1r   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_regressionr2   2   s   **30@0FtUUA**30@0FOOAK""K!!(S#J??K!!(T3K$@@K!!(T3K#??	

 		
	
 88d.4f  ((	!##BJ//77@@s )    88d.4f 
	
 E* ''..J&77illS(00<<DDWMMillR'//
;;CCGLL	
 	
 K r*   c                   &    e Zd Zd Zd Zd Zd ZdS )TestLargeOnnxReferenceEvaluatorc                    t          j        d                              t           j                                      d          }t
          j                            |          }|                    d d|i          }t          j	        g dg dg dgt           j                  }t          j        ||d                    d S )	Nr   r   r   )ihk i} i؏ )ipT, i0/ i2 )ix=J iO iHU )dtyper   )r   r   r    r!   r"   r   	referenceReferenceEvaluatorrunarraynptassert_allclose)self	containerr   refgotexpecteds         r(    common_check_reference_evaluatorz@TestLargeOnnxReferenceEvaluator.common_check_reference_evaluatorW   s    IaLL
++33G<<n//	::ggdS!H%%8***++++++
 *
 
 
 	Hc!f-----r*   c                 Z   t                      }t          j                            |j                  }|                     |           |                     t                    5  |d          d d d            n# 1 swxY w Y   t          j	                    5 }t          j                            |d          }|                    |           t          j                                        }|                    |           |                     |           d d d            d S # 1 swxY w Y   d S )Nz#anymissingkey
model.onnx)r)   r   r.   r0   r&   rB   assertRaises
ValueErrortempfileTemporaryDirectoryospathjoinsaveModelContainerload)r=   model_protor1   tempfilenamecopys         r(   $test_large_onnx_no_large_initializerzDTestLargeOnnxReferenceEvaluator.test_large_onnx_no_large_initializere   s   (***;;K<MNN--k:::z** 	* 	*())	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* (** 	8dw||D,77HX&&&'6688DIIh11$777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s%   "	A77A;>A;A>D  D$'D$c                    t                      }|                     |           t          j                    5 }t          j                            |d          }|                    |d           t          j	        
                                }|                    |           t          j        |d          }|                     |           d d d            d S # 1 swxY w Y   d S )NrD   Tload_external_data)r2   rB   rG   rH   rI   rJ   rK   rL   r   r.   rM   rN   
load_modelr=   r1   rP   rQ   rR   loaded_models         r(   test_large_one_weight_filez:TestLargeOnnxReferenceEvaluator.test_large_one_weight_files   s   .00--k:::(** 	@dw||D,77HXt,,,'6688DIIh?8MMML11,???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s   BCC Cc                    t                      }|                     |           t          j                    5 }t          j                            |d          }|                    |d           t          j	        |          }|                     |           t          j	        |d          }|                     |           d d d            d S # 1 swxY w Y   d S )NrD   FTrU   )
r2   rB   rG   rH   rI   rJ   rK   rL   r   rW   rX   s         r(   test_large_multi_filesz6TestLargeOnnxReferenceEvaluator.test_large_multi_files~   s   .00--k:::(** 	@dw||D,77HXu---?8,,D11$777?8MMML11,???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s   BCCCN)__name__
__module____qualname__rB   rS   rZ   r\    r*   r(   r4   r4   V   sX        . . .8 8 8	@ 	@ 	@	@ 	@ 	@ 	@ 	@r*   r4   __main__   )	verbosity)rI   rG   unittestnumpyr   numpy.testingtestingr;   r   onnx.helperonnx.model_containeronnx.numpy_helperonnx.referencer)   r2   TestCaser4   r]   mainr`   r*   r(   <module>rn      s   
 
			                               >! ! !H1@ 1@ 1@ 1@ 1@h&7 1@ 1@ 1@h zHMA r*   