
    /jr                        d dl m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 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 )
    )annotationsNc                    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       k/home/longshao/multi-rider-rag/.venv/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_regressionr3   3   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_evaluatorX   s    IaLL
++33G<<n//	::ggdS!H%%8***++++++
 *
 
 
 	CFH-----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/   r1   r'   rC   assertRaises
ValueErrortempfileTemporaryDirectoryospathjoinsaveModelContainerload)r>   model_protor2   tempfilenamecopys         r)   $test_large_onnx_no_large_initializerzDTestLargeOnnxReferenceEvaluator.test_large_onnx_no_large_initializerf   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 )NrE   Tload_external_data)r3   rC   rH   rI   rJ   rK   rL   rM   r   r/   rN   rO   
load_modelr>   r2   rQ   rR   rS   loaded_models         r)   test_large_one_weight_filez:TestLargeOnnxReferenceEvaluator.test_large_one_weight_filet   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 )NrE   FTrV   )
r3   rC   rH   rI   rJ   rK   rL   rM   r   rX   rY   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__rC   rT   r[   r]    r+   r)   r5   r5   W   sX        . . .8 8 8	@ 	@ 	@	@ 	@ 	@ 	@ 	@r+   r5   __main__   )	verbosity)
__future__r   rJ   rH   unittestnumpyr   numpy.testingtestingr<   r   onnx.helperonnx.model_containeronnx.numpy_helperonnx.referencer*   r3   TestCaser5   r^   mainra   r+   r)   <module>rp      s   # " " " " " 				                               >! ! !H1@ 1@ 1@ 1@ 1@h&7 1@ 1@ 1@h zHMA r+   