+
    G-j7  ã                   óÎ   € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	t	]
]]3,          tRtR tR R ltRR	 R
 llt ! R R4      tR tR t]R8X  d
   ]! 4        R# R# )é    N)ÚOrderedDict)Úpprint)ÚAnyÚtuning_resultsc                 ó`   € \        V 4       F  w  rVP                  \        8X  g   K  Vu # 	  R# )é   éÿÿÿÿ)Ú	enumerateÚkeyÚ_TUNING_RESULTS_KEY)Úmetadata_propsÚidxÚprops   &  Úq/Volumes/fast/ai/experiments/nudenet-smoke/.venv/lib/python3.14/site-packages/onnxruntime/tools/offline_tuning.pyÚ_find_tuning_results_in_propsr      s,   € Ü˜~Ö.‰	ˆØ�8‰8Ô*Ö*ØŠJñ /ð €Ió    c                ó8   € V ^8„  d   QhR\         P                  /# )é   Úmodel)ÚonnxÚ
ModelProto)Úformats   "r   Ú__annotate__r      s   € ÷ 1ñ 1”4—?‘?ñ 1r   c                 ó¤   € \        V P                  4      pV^ 8  d   R# V P                  V,          p\        P                  ! VP                  4      # )r   N)r   r   ÚjsonÚloadsÚvalue)r   r   Útuning_results_props   &  r   Úextractr      sC   € Ü
'¨×(<Ñ(<Ó
=€CØ
ˆQ„wÙà×.Ñ.¨sÕ3ÐÜ�:Š:Ð)×/Ñ/Ó0Ð0r   c                óZ   € V ^8„  d   QhR\         P                  R\        \        ,          /# )r   r   r   )r   r   ÚlistÚTuningResults)r   s   "r   r   r   #   s#   € ÷ 
ñ 
”—‘ð 
´$´}Õ2Eñ 
r   c                 ó   € \        V P                  4      pV'       g   V^ 8:  g   Q R4       hV^ 8¼  d   V P                  P                  V4       V P                  P                  4       p\        Vn        \        P                  ! V4      Vn        V # )r   z<the supplied onnx file already have tuning results embedded!)	r   r   ÚpopÚaddr   r   r   Údumpsr   )r   r   Ú	overwriter   Úentrys   &&&  r   Úembedr)   #   sr   € Ü
'¨×(<Ñ(<Ó
=€Cß˜˜qœÐ`Ð"`Ó`Ð à
ˆa„xØ×Ñ× Ñ  Ô%à× Ñ ×$Ñ$Ó&€EÜ#€E„IÜ—*’*˜^Ó,€E„KØ€Lr   c                   ód   a € ] tR t^0t o  ! R R4      tR tV 3R lR ltR tV 3R lR ltR	t	V t
R
# )ÚMergerc                   ó>   a € ] tR t^1t o V 3R lR ltR tR tRtV tR# )ÚMerger.EpAndValidatorsc                ó<   <€ V ^8„  d   QhRS[ RS[S[ S[ 3,          /# )r   ÚepÚ
validators)ÚstrÚdict)r   Ú__classdict__s   "€r   r   Ú#Merger.EpAndValidators.__annotate__2   s#   ø€ ÷ 	?ñ 	?™sð 	?±±S¹#°Xµñ 	?r   c                óš   € Wn         \        P                  ! V4      V n        V\	        \        VP                  4       4      4      3V n        R # ©N)r/   ÚcopyÚdeepcopyr0   ÚtupleÚsortedÚitemsr   )Úselfr/   r0   s   &&&r   Ú__init__ÚMerger.EpAndValidators.__init__2   s6   € ØŒGÜ"Ÿmšm¨JÓ7ˆDŒOØœE¤&¨×)9Ñ)9Ó);Ó"<Ó=Ð>ˆDŽHr   c                ó,   € \        V P                  4      # r6   )Úhashr   ©r<   s   &r   Ú__hash__ÚMerger.EpAndValidators.__hash__7   s   € Ü˜Ÿ™“>Ð!r   c                óv   € V P                   VP                   8H  ;'       d    V P                  VP                  8H  # r6   )r/   r   )r<   Úothers   &&r   Ú__eq__ÚMerger.EpAndValidators.__eq__:   s*   € Ø—7‘7˜eŸh™hÑ&×@Ð@¨4¯8©8°u·y±yÑ+@Ð@r   )r/   r   r0   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r=   rB   rF   Ú__static_attributes__Ú__classdictcell__©r3   s   @r   ÚEpAndValidatorsr-   1   s    ø‡ € ÷	?ð 	?ò
	"÷	Að 	Ar   rO   c                ó$   € \        4       V n        R # r6   )r   Úev_to_resultsrA   s   &r   r=   ÚMerger.__init__=   s   € Ü(›]ˆÖr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   r   )r!   r"   )r   r3   s   "€r   r   ÚMerger.__annotate__@   s   ø€ ÷ !ñ !¡D©Õ$7ñ !r   c                ó:   € V F  pV P                  V4       K  	  R # r6   )Ú
_merge_one)r<   r   Útrss   && r   ÚmergeÚMerger.merge@   s   € Û!ˆCØ�O‰O˜CÖ ó "r   c                ó  € . pV P                   P                  4        Ff  w  r#/ pR VP                  RVP                  RV/pVP                  4        F  w  w  rgpVP	                  V/ 4      p	W‰V&   K   	  VP                  V4       Kh  	  V# )r/   r0   Úresults)rQ   r;   r/   r0   Ú
setdefaultÚappend)
r<   r   ÚevÚflat_resultsr[   rW   Úop_sigÚ
params_sigÚ	kernel_idÚ
kernel_maps
   &         r   Ú
get_mergedÚMerger.get_mergedD   s—   € ØˆØ $× 2Ñ 2× 8Ñ 8Ö :ÑˆBØˆGà�b—e‘eØ˜bŸm™mØ˜7ðˆCð
 4@×3EÑ3EÖ3GÑ/Ñ$� iØ$×/Ñ/°¸Ó;�
Ø)2˜:Ó&ñ 4Hð ×!Ñ! #Ö&ñ !;ð Ðr   c                ó    <€ V ^8„  d   QhRS[ /# )r   rW   )r"   )r   r3   s   "€r   r   rT   S   s   ø€ ÷ Cñ C™mñ Cr   c                ó  € \         P                  VR ,          VR,          4      pV P                  P                  V/ 4      pVR,          P	                  4        F-  w  rEVP	                  4        F  w  rgWF3V9  g   K  WsWF3&   K  	  K/  	  R# )r/   r0   r[   N)r+   rO   rQ   r\   r;   )r<   rW   r^   r_   r`   rc   ra   rb   s   &&      r   rV   ÚMerger._merge_oneS   s{   € Ü×#Ñ# C¨¥I¨s°<Õ/@ÓAˆØ×)Ñ)×4Ñ4°R¸Ó<ˆØ"% i¥.×"6Ñ"6Ö"8ÑˆFØ)3×)9Ñ)9Ö);Ñ%�
ØÐ'¨|Ö;Ø9B &Ð!5Ó6ó *<ó #9r   )rQ   N)rH   rI   rJ   rK   rO   r=   rX   rd   rV   rL   rM   rN   s   @r   r+   r+   0   s1   ø‡ € ÷
Añ 
Aò+÷!ð !ò÷Cö Cr   r+   c                  óÌ  € \         P                  ! 4       p V P                  R RR7      pVP                  RRR7      pVP	                  R4       VP	                  R4       VP                  RR	R7      pVP	                  R
RRRR7       VP	                  RRR7       VP	                  RRR7       VP	                  RRRR7       VP                  RRR7      pVP	                  RRR7       VP	                  RRRR7       VP                  RRR7      pVP	                  RRR7       V P                  4       p\        \        V4      4      ^ 8X  d   V P                  4        \        R4       V# )zCommand to executeÚcmd)ÚhelpÚdestr   z2Extract embedded tuning results from an onnx file.)rk   Ú
input_onnxÚoutput_jsonr)   z+Embed the tuning results into an onnx file.z--forcez-fÚ
store_truez+Overwrite the tuning results if it existed.)Úactionrk   Úoutput_onnxzPath of the output onnx file.zPath of the input onnx file.Ú
input_jsonÚ+z5Path(s) of the tuning results file(s) to be embedded.)Únargsrk   rX   z4Merge multiple tuning results files as a single one.z'Path of the output tuning results file.z/Paths of the tuning results files to be merged.r   z Pretty print the tuning results.Újson_or_onnxz+A tuning results json file or an onnx file.r	   )
ÚargparseÚArgumentParserÚadd_subparsersÚ
add_parserÚadd_argumentÚ
parse_argsÚlenÚvarsÚ
print_helpÚexit)ÚparserÚsub_parsersÚextract_parserÚembed_parserÚmerge_parserÚpprint_parserÚargss          r   r{   r{   \   sd  € Ü×$Ò$Ó&€FØ×'Ñ'Ð-AÈÐ'ÓN€Kà ×+Ñ+¨IÐ<pÐ+Óq€NØ×Ñ Ô-Ø×Ñ Ô.à×)Ñ)¨'Ð8eÐ)Óf€LØ×Ñ˜i¨°lÐIvÐÔwØ×Ñ˜mÐ2QÐÔRØ×Ñ˜lÐ1OÐÔPØ×Ñ˜l°#Ð<sÐÔtà×)Ñ)¨'Ð8nÐ)Óo€LØ×Ñ˜mÐ2[ÐÔ\Ø×Ñ˜l°#Ð<mÐÔnà×*Ñ*¨8Ð:\Ð*Ó]€MØ×Ñ˜~Ð4aÐÔbà×ÑÓ€DÜ
Œ4�‹:ƒ˜!ÔØ×ÑÔÜˆRŒØ€Kr   c                  óÊ  € \        4       p V P                  R 8X  d�   \        \        P                  ! V P
                  4      4      pVfC   \        P                  P                  V P
                   R24       \        P                  ! R4       \        P                  ! V\        V P                  R4      4       R# V P                  R8X  dÂ   \        P                  ! V P
                  4      p\        4       pV P                   Uu. uF"  p\        P                   ! \        V4      4      NK$  	  up F  pVP#                  V4       K  	  \%        W#P'                  4       V P(                  4      p\        P*                  ! W P,                  4       R# V P                  R8X  d—   \        4       pV P                   Uu. uF"  p\        P                   ! \        V4      4      NK$  	  up F  pVP#                  V4       K  	  \        P                  ! VP'                  4       \        V P                  R4      4       R# V P                  R8X  dö   Rp \        P                   ! \        V P.                  4      4      pVfs    \        P                  ! V P.                  4      p\        V4      pVfC   \        P                  P                  V P
                   R24       \        P                  ! R4       VfC   \        P                  P                  V P.                   R24       \        P                  ! R4       \3        V4       R# R# u upi u upi   \0         d     Lâi ; i  \0         d     L}i ; i)	r   Nz( does not have tuning results embedded!
Úwr)   rX   r   z1 is not a valid tuning results file or onnx file!r	   )r{   rj   r   r   Ú
load_modelrm   ÚsysÚstderrÚwriter   r   ÚdumpÚopenrn   r+   rr   ÚloadrX   r)   rd   ÚforceÚ
save_modelrq   ru   Ú	Exceptionr   )r†   r   r   ÚmergerÚfs        r   Úmainr•   x   sj  € Ü‹<€DØ‡x�x�9ÔÜ ¤§¢°·±Ó!AÓBˆØÒ!Ü�J‰J×Ñ §¡Ð0Ð0YÐZÔ[Ü�HŠH�RŒLÜ�	Š	�.¤$ t×'7Ñ'7¸Ó"=Ö>Ø	�‰�WÔ	Ü—’ §¡Ó0ˆÜ“ˆØ;?¿?º?ÓK¹?°aœtŸyšy¬¨a«Ö1¹?ÔKˆNØ�L‰L˜Ö(ñ Lä�e×.Ñ.Ó0°$·*±*Ó=ˆÜ�Š˜×/Ñ/Ö0Ø	�‰�WÔ	Ü“ˆØ;?¿?º?ÓK¹?°aœtŸyšy¬¨a«Ö1¹?ÔKˆNØ�L‰L˜Ö(ñ Lä�	Š	�&×#Ñ#Ó%¤t¨D×,<Ñ,<¸cÓ'BÖCØ	�‰�XÔ	Øˆð	Ü!ŸYšY¤t¨D×,=Ñ,=Ó'>Ó?ˆNð
 Ò!ðÜŸš¨×(9Ñ(9Ó:�Ü!(¨£�Ø!Ò)Ü—J‘J×$Ñ$¨¯©Ð'8Ð8aÐ%bÔcÜ—H’H˜R”Lð Ò!Ü�J‰J×Ñ × 1Ñ 1Ð2Ð2cÐdÔeÜ�HŠH�RŒLäˆ~Öñ 	ùòE Lùò Løô ô 	áð	ûô ô Ùðús1   Ä(L9Æ3(L>É)M É3A1M ÍMÍMÍM"Í!M"Ú__main__)F)rv   r7   r   rŠ   Úcollectionsr   r   Útypingr   r   r2   r1   r"   r   r   r   r)   r+   r{   r•   rH   © r   r   Ú<module>rš      sm   ðó Û Û Û 
Ý #Ý Ý ã à�S˜#�X•€à&Ð òõ1÷
÷)Cñ )CòXò8-ð` ˆzÔÙ†Fñ r   