Ë
    ÝÍ:jæ  ã                  ó¢   — 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«        yy)é    )Ú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)c                óì  — i }|xs i }| j                  «       D �]×  }g }|j                  D ]k  }|s|j                  d«       Œt        |t        «      r4||v r|j                  t        ||   «      «       ŒI|j                  d«       Œ[|j                  |«       Œm |j                  t        v rJt        j                  j                  |Ž j                  t        |j                     «      ||j                  <   ŒÜ|j                  t        v rYt        j                  j                  dt        |«      ¬«      j                  t        |j                     «      ||j                  <   �ŒG|j                  dk(  rHt        j                  j!                  dt        |«      ¬«      j                  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)ÚsessÚsymbolic_dimsÚfeedsÚ
input_metar   Údims         úw/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/onnxruntime/tools/onnxruntime_test.pyÚgenerate_feedsr4   !   s†  € Ø€EØ!Ò' R€MØ—o‘oÓ'ó ˆ
àˆØ×#Ñ#ò 	"ˆCÙà—‘˜Q•Ü˜C¤Ô%à˜-Ñ'Ø—L‘L¤ ]°3Ñ%7Ó!8Õ9à—L‘L •Oà—‘˜SÕ!ð	"ð �?‰?œjÑ(Ü%'§Y¡Y§^¡^°UÐ%;×%BÑ%BÄ:ÈjÏoÉoÑC^Ó%_ˆE�*—/‘/Ò"Ø�_‰_¤Ñ,Ü%'§Y¡Y×%6Ñ%6¸DÄuÈUÃ|Ð%6Ó%T×%[Ñ%[Ü˜ZŸ_™_Ñ-ó&ˆE�*—/‘/Ó"ð �_‰_ Ò.Ü%'§Y¡Y×%6Ñ%6°q¼uÀU»|Ð%6Ó%L×%SÑ%SÐTZÓ%[ˆE�*—/‘/Ó"äÐ+¨J¯O©OÐ+<¸KÈ
ÏÉÐGXÐYÔZÜ�H‰H�RŽLð5ð6 €Ló    c                óR  — |xs i }|rJt        dt        j                  «       › �«       t        d«       t        j                  j                  d«       d }|r?t        j                  «       }d|_        t        j                  j                  | «      |_        t        j                  | |t        j                  «       ¬«      }|j                  «       }	|st        ||«      }|�r‹|j!                  «       D �]w  }
|
j"                  D �cg c]  }|r|nd‘Œ
 }}|
j$                  t&        v rJt)        j*                  j,                  |Ž j/                  t&        |
j$                     «      ||
j0                  <   Œ}|
j$                  t2        v rXt(        j*                  j5                  dt7        |«      ¬«      j/                  t2        |
j$                     «      ||
j0                  <   Œç|
j$                  dk(  rHt(        j*                  j9                  d	t7        |«      ¬
«      j/                  d«      ||
j0                  <   �Œ>t        d|
j$                  › d|
j0                  › �«       t        j:                  d«       �Œz t=        «       }t?        |«      D ]  }|jA                  g |«      }Œ t=        «       }t        d|	jB                  › �«       t        d|	jD                  › �«       t        d|› �«       t        d||z
  dz  |z  › d�«       |r|jG                  «       }t        d|› �«       d||dkD  xr fS c c}w )Nz7Pausing execution ready for debugger to attach to pid: zPress key to continue.r   T)Úsess_optionsÚ	providersr   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_modelmetar4   Ú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/   r0   Úoverride_initializersr7   r.   ÚmetaÚinitializerr2   r   ÚstartÚ_iÚoutputsÚendÚ
trace_files                     r3   Ú	run_modelrY   C   sÁ  € ð "Ò' R€MÙÜÐGÌÏ	É	ËÀ}ÐUÔVÜÐ&Ô'Ü�	‰	�‰�qÔà€LÙÜ×,Ñ,Ó.ˆØ(,ˆÔ%Ü+-¯7©7×+;Ñ+;¸JÓ+GˆÔ(ä×"Ñ"ØØ!Ü×0Ñ0Ó2ô€Dð
 ×ÑÓ€DáÜ˜t ]Ó3ˆâð  ×<Ñ<Ó>ó 	ˆKØ2=×2CÑ2CÖD¨3™C‘S QÑ&ÐDˆEÐDØ×Ñ¤:Ñ-Ü*,¯)©)¯.©.¸%Ð*@×*GÑ*GÌ
ÐS^×ScÑScÑHdÓ*e��k×&Ñ&Ò'Ø×!Ñ!¤\Ñ1Ü*,¯)©)×*;Ñ*;ÀÌEÐRWËLÐ*;Ó*Y×*`Ñ*`Ü  ×!1Ñ!1Ñ2ó+��k×&Ñ&Ò'ð ×!Ñ! ^Ò3Ü*,¯)©)×*;Ñ*;¸AÄEÈ%ÃLÐ*;Ó*Q×*XÑ*XÐY_Ó*`��k×&Ñ&Ó'äÐ5°k×6FÑ6FÐ5GÐGXÐYd×YiÑYiÐXjÐkÔlÜ—‘˜–ð	ô ‹G€EÜ�IÓò &ˆØ—(‘(˜2˜uÓ%‰ð&ä
‹'€Cä	ˆG�D—O‘OÐ$Ð
%Ô&Ü	ˆI�d—l‘l�^Ð
$Ô%Ü	ˆL˜˜Ð
$Ô%Ü	ˆM˜C %™K¨4Ñ/°9Ñ<Ð=¸SÐ
AÔBáØ×'Ñ'Ó)ˆ
ÜÐ'¨
 |Ð4Ô5àˆe�Y ‘]Ò. wÐ.Ð.ùò7 Es   ÄL$c                 óÚ  — t        j                  d¬«      } | j                  dd¬«       | j                  ddt        dd	¬
«       | j                  ddd¬«       | j                  ddd¬«       | j                  di d„ d¬«       | j	                  «       }t        |j                  |j                  |j                  |j                  |j                  «      \  }}}t        j                  |«       y )NzSimple ONNX Runtime Test Tool.)ÚdescriptionrM   z
model path)ÚhelprN   ú?r   z"model run iterations. default=1000)Únargsr    Údefaultr\   z--debugÚ
store_truez.pause execution to allow attaching a debugger.)Úactionr\   z	--profilez'enable chrome timeline trace profiling.z--symbolic_dimsc                óD   — t        d„ | j                  d«      D «       «      S )Nc              3  ó>   K  — | ]  }|j                  d «      –— Œ y­w)ú=N)Úsplit)Ú.0Úxs     r3   ú	<genexpr>z)main.<locals>.<lambda>.<locals>.<genexpr>˜   s   è ø€ Ò?¨Q˜AŸG™G CŸLÑ?ùs   ‚ú,)Údictre   )Úss    r3   ú<lambda>zmain.<locals>.<lambda>˜   s   € ”tÑ?°!·'±'¸#³,Ô?Ó?€ r5   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.)r_   r    r\   )ÚargparseÚArgumentParserÚadd_argumentr   Ú
parse_argsrY   rM   rN   rO   rP   r/   r,   r-   )ÚparserÚargsÚ	exit_codeÚ_s       r3   Úmainru   …   së   € Ü×$Ñ$Ð1QÔR€FØ
×Ñ˜¨<ÐÔ8Ø
×ÑØØÜØØ1ð ô ð ×ÑØØØ=ð ô ð
 ×Ñ˜¨LÐ?hÐÔiØ
×ÑØØÙ?ðTð	 ô ð ×ÑÓ€DÜ §¡°·±ÀÇÁÈTÏ\É\Ð[_×[mÑ[mÓn�O€Iˆq�!Ü‡H�HˆYÕr5   Ú__main__)N)r/   zdict | None)r   NNNNT)Ú
__future__r   rm   r9   r,   Útimeitr   rG   Únumpyr"   Úonnxruntimer=   r!   r'   r4   rY   ru   Ú__name__© r5   r3   ú<module>r}      s…   ðõ
 #ã Û 	Û 
Ý )ã ã ð !ØØñ€
ð ØØØØØØñ€ôðH Ø
ØØØ
Øó?/òDð< ˆzÒÙ…Fð r5   