+
    9i7                         ^ 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   &  ^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/onnxruntime/tools/offline_tuning.py_find_tuning_results_in_propsr      s,    ~.	88**J / I    c                8    V ^8  d   QhR\         P                  /# )   model)onnx
ModelProto)formats   "r   __annotate__r      s     1 14?? 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
Qw..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`"`` 
ax  %  $$&E#EI**^,EK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"mmJ7DOE&)9)9);"<=>DHr   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*    77ehh&@@488uyy+@@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OOC  "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	WV&   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beebmm7C
 4@3E3E3G/$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Is</@A))44R<"%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'NK ++I<p+qN-.))'8e)fLilIvwm2QRl1OPl#<st))'8n)oLm2[\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     Li ; 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xx9 !AB!JJ00YZ[HHRL		.$t'7'7"=>	W	0;???K?atyya1?KNLL( Le..0$**=//0	W	;???K?atyya1?KNLL( L		&##%tD,<,<c'BC	X		!YYtD,=,='>?N
 !(9(9:!(!)JJ$$'88a%bcHHRL !JJ 1 122cdeHHRL~ 	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   