§
    kŠtjæ  ã                  ó®   — d dl m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ddœZdd	d
dddddœZddd„Z	 	 	 	 	 	 dd„Zd„ Zedk    r e¦   «          dS dS )é    )ÚannotationsN)Údefault_timerÚfloat16Úfloat32Úfloat64)ztensor(float16)ztensor(float)ztensor(double)Úint32Úint8Úuint8Úint16Úuint16Úint64Úuint64)ztensor(int32)ztensor(int8)ztensor(uint8)ztensor(int16)ztensor(uint16)ztensor(int64)ztensor(uint64)Úsymbolic_dimsúdict | Nonec                óä  — i }|pi }|                       ¦   «         D �]Ó}g }|j        D ]‡}|s|                     d¦  «         Œt          |t          ¦  «        rC||v r)|                     t          ||         ¦  «        ¦  «         Œ\|                     d¦  «         Œr|                     |¦  «         Œˆ|j        t          v r?t          j	        j
        |Ž                      t          |j                 ¦  «        ||j        <   Œá|j        t          v r[t          j	                             dt          |¦  «        ¬¦  «                             t          |j                 ¦  «        ||j        <   �ŒJ|j        dk    rKt          j	                             dt          |¦  «        ¬¦  «                             d¦  «        ||j        <   �Œ t#          d|j        › d	|j        › �¦  «         t%          j        d
¦  «         �ŒÕ|S )Né   éè  ©ÚhighÚsizeútensor(bool)é   ©r   Úboolzunsupported input type z for input éÿÿÿÿ)Ú
get_inputsÚshapeÚappendÚ
isinstanceÚstrÚintÚtypeÚ
float_dictÚnpÚrandomÚrandÚastypeÚnameÚinteger_dictÚuniformÚtupleÚrandintÚprintÚsysÚexit)Úsessr   ÚfeedsÚ
input_metar   Údims         ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/onnxruntime/tools/onnxruntime_test.pyÚgenerate_feedsr5   !   sÉ  € Ø€EØ!Ð' R€MØ—o’oÑ'Ô'ð ñ ˆ
àˆØÔ#ð 	"ð 	"ˆCØð 
"à—’˜Q‘”��Ý˜C¥Ñ%Ô%ð "à˜-Ð'Ð'Ø—L’L¥ ]°3Ô%7Ñ!8Ô!8Ñ9Ô9Ð9Ð9à—L’L ‘O”O�O�Oà—’˜SÑ!Ô!Ð!Ð!àŒ?�jÐ(Ð(Ý%'¤Y¤^°UÐ%;×%BÒ%BÅ:ÈjÌoÔC^Ñ%_Ô%_ˆE�*”/Ñ"Ð"ØŒ_¥Ð,Ð,Ý%'¤Y×%6Ò%6¸DÅuÈUÁ|Ä|Ð%6Ñ%TÔ%T×%[Ò%[Ý˜Zœ_Ô-ñ&ô &ˆE�*”/Ñ"Ñ"ð Œ_ Ò.Ð.Ý%'¤Y×%6Ò%6°q½uÀU¹|¼|Ð%6Ñ%LÔ%L×%SÒ%SÐTZÑ%[Ô%[ˆE�*”/Ñ"Ñ"åÐY¨J¬OÐYÐYÈ
ÌÐYÐYÑZÔZÐZÝŒH�R‰LŒLˆL‰LØ€Ló    r   Tc                óL  — |pi }|rQt          dt          j        ¦   «         › �¦  «         t          d¦  «         t          j                             d¦  «         d }|r>t          j        ¦   «         }d|_        t          j	         
                    | ¦  «        |_        t          j        | |t          j        ¦   «         ¬¦  «        }|                     ¦   «         }	|st          ||¦  «        }|�rh|                     ¦   «         D �]R}
d„ |
j        D ¦   «         }|
j        t&          v r?t)          j        j        |Ž                      t&          |
j                 ¦  «        ||
j        <   Œa|
j        t2          v rZt(          j                             dt7          |¦  «        ¬¦  «                             t2          |
j                 ¦  «        ||
j        <   ŒÉ|
j        d	k    rKt(          j                             d
t7          |¦  «        ¬¦  «                             d¦  «        ||
j        <   �Œt          d|
j        › d|
j        › �¦  «         t          j        d¦  «         �ŒTt=          ¦   «         }t?          |¦  «        D ]}|                      g |¦  «        }Œt=          ¦   «         }t          d|	j!        › �¦  «         t          d|	j"        › �¦  «         t          d|› �¦  «         t          d||z
  dz  |z  › d�¦  «         |r&| #                    ¦   «         }t          d|› �¦  «         d||dk    o|fS )Nz7Pausing execution ready for debugger to attach to pid: zPress key to continue.r   T)Úsess_optionsÚ	providersc                ó   — g | ]}|r|nd ‘Œ	S )r   © )Ú.0r3   s     r4   ú
<listcomp>zrun_model.<locals>.<listcomp>g   s!   € ÐDÐDÐD¨3˜CÐ&�S�S QÐDÐDÐDr6   r   r   r   r   r   r   zunsupported initializer type z for initializer r   zmodel: z	version: ziterations: zavg latency: z msztrace file written to: r   )$r-   ÚosÚgetpidr.   ÚstdinÚreadÚonnxrtÚSessionOptionsÚenable_profilingÚpathÚbasenameÚprofile_file_prefixÚInferenceSessionÚget_available_providersÚget_modelmetar5   Úget_overridable_initializersr   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r/   ÚtimerÚrangeÚrunÚ
graph_nameÚversionÚend_profiling)Ú
model_pathÚ	num_itersÚdebugÚprofiler   r1   Úoverride_initializersr8   r0   ÚmetaÚinitializerr   ÚstartÚ_iÚoutputsÚendÚ
trace_files                    r4   Ú	run_modelr^   C   s'  € ð "Ð' R€MØð ÝÐUÍÌ	ÉÌÐUÐUÑVÔVÐVÝÐ&Ñ'Ô'Ð'ÝŒ	�Š�qÑÔÐà€LØð HÝÔ,Ñ.Ô.ˆØ(,ˆÔ%Ý+-¬7×+;Ò+;¸JÑ+GÔ+GˆÔ(åÔ"ØØ!ÝÔ0Ñ2Ô2ðñ ô €Dð
 ×ÒÑÔ€Dàð 4Ý˜t ]Ñ3Ô3ˆàñ ð  ×<Ò<Ñ>Ô>ð 	ñ 	ˆKØDÐD°+Ô2CÐDÑDÔDˆEØÔ¥:Ð-Ð-Ý*,¬)¬.¸%Ð*@×*GÒ*GÍ
ÐS^ÔScÔHdÑ*eÔ*e��kÔ&Ñ'Ð'ØÔ!¥\Ð1Ð1Ý*,¬)×*;Ò*;ÀÍEÐRWÉLÌLÐ*;Ñ*YÔ*Y×*`Ò*`Ý  Ô!1Ô2ñ+ô +��kÔ&Ñ'Ð'ð Ô! ^Ò3Ð3Ý*,¬)×*;Ò*;¸AÅEÈ%ÁLÄLÐ*;Ñ*QÔ*Q×*XÒ*XÐY_Ñ*`Ô*`��kÔ&Ñ'Ñ'åÐk°kÔ6FÐkÐkÐYdÔYiÐkÐkÑlÔlÐlÝ”˜‘”�‘å‰GŒG€EÝ�IÑÔð &ð &ˆØ—(’(˜2˜uÑ%Ô%ˆˆÝ
‰'Œ'€Cå	Ð
%�D”OÐ
%Ð
%Ñ&Ô&Ð&Ý	Ð
$�d”lÐ
$Ð
$Ñ%Ô%Ð%Ý	Ð
$˜Ð
$Ð
$Ñ%Ô%Ð%Ý	Ð
A˜C %™K¨4Ñ/°9Ñ<Ð
AÐ
AÐ
AÑBÔBÐBàð 6Ø×'Ò'Ñ)Ô)ˆ
ÝÐ4¨
Ð4Ð4Ñ5Ô5Ð5àˆe�Y ’]Ð. wÐ.Ð.r6   c                 óà  — t          j        d¬¦  «        } |                      dd¬¦  «         |                      ddt          dd	¬
¦  «         |                      ddd¬¦  «         |                      ddd¬¦  «         |                      di d„ d¬¦  «         |                      ¦   «         }t          |j        |j        |j        |j	        |j
        ¦  «        \  }}}t          j        |¦  «         d S )NzSimple ONNX Runtime Test Tool.)ÚdescriptionrR   z
model path)ÚhelprS   ú?r   z"model run iterations. default=1000)Únargsr"   Údefaultra   z--debugÚ
store_truez.pause execution to allow attaching a debugger.)Úactionra   z	--profilez'enable chrome timeline trace profiling.z--symbolic_dimsc                óZ   — t          d„ |                      d¦  «        D ¦   «         ¦  «        S )Nc              3  ó@   K  — | ]}|                      d ¦  «        V — ŒdS )ú=N)Úsplit)r<   Úxs     r4   ú	<genexpr>z)main.<locals>.<lambda>.<locals>.<genexpr>˜   s,   è è € Ð?Ð?¨Q˜AŸGšG C™LœLÐ?Ð?Ð?Ð?Ð?Ð?r6   ú,)Údictrj   )Úss    r4   ú<lambda>zmain.<locals>.<lambda>˜   s'   € •tÐ?Ð?°!·'²'¸#±,´,Ð?Ñ?Ô?Ñ?Ô?€ r6   zÁComma separated name=value pairs for any symbolic dimensions in the model input. e.g. --symbolic_dims batch=1,seqlen=5. If not provided, the value of 1 will be used for all symbolic dimensions.)rd   r"   ra   )ÚargparseÚArgumentParserÚadd_argumentr!   Ú
parse_argsr^   rR   rS   rT   rU   r   r.   r/   )ÚparserÚargsÚ	exit_codeÚ_s       r4   Úmainry   …   s   € ÝÔ$Ð1QÐRÑRÔR€FØ
×Ò˜¨<ÐÑ8Ô8Ð8Ø
×ÒØØÝØØ1ð ñ ô ð ð ×ÒØØØ=ð ñ ô ð ð
 ×Ò˜¨LÐ?hÐÑiÔiÐiØ
×ÒØØØ?Ð?ðTð	 ñ ô ð ð ×ÒÑÔ€DÝ ¤°´ÀÄÈTÌ\Ð[_Ô[mÑnÔn�O€Iˆq�!Ý„HˆYÑÔÐÐÐr6   Ú__main__)N)r   r   )r   NNNNT)Ú
__future__r   rq   r>   r.   Útimeitr   rL   Únumpyr$   ÚonnxruntimerB   r#   r)   r5   r^   ry   Ú__name__r;   r6   r4   ú<module>r€      s  ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 
€
€
€
Ø )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð à Ð Ð Ð ð !ØØðð €
ð ØØØØØØðð €ðð ð ð ð ðH Ø
ØØØ
Øð?/ð ?/ð ?/ð ?/ðDð ð ð< ˆzÒÐØ€D�F„F€F€F€Fð Ðr6   