o
    gz                     @   sF   d dl Z d dlZd dlZddlmZmZ dd Zedkr!e  dS dS )    N   )get_optimization_leveloptimize_modelc                  C   s   t jtjt dtj dd} | jddg ddd | jd	g d
t	dddd | jdt
jdd | jdt
jdd |  }|jdkrGd}n|jdkrOd}n|jdkrWd}n|jdkr^d}t|j|jt|j| d S )N:a7  
                                     Optimize an ONNX model using ONNX Runtime to the specified level.
                                     See https://onnxruntime.ai/docs/performance/model-optimizations/graph-optimizations.html for more
                                     details of the optimization levels.)descriptionz--opt_levelbasic)disabler   extendedallzOptimization level to use.)defaultchoiceshelpz--log_level)debuginfowarningerrorFr   zLog level. Defaults to Error so we don't get output about unused initializers being removed. Warning or Info may be desirable in some scenarios.)r   typerequiredr   r   input_modelz%Provide path to ONNX model to update.)r   r   output_modelz.Provide path to write optimized ONNX model to.   r   r   r   r   r      )argparseArgumentParserospathbasename__file__optimize_model_helper__name__add_argumentstrpathlibPath
parse_args	log_levelr   r   r   r   	opt_level)parserargsr%    r)   \/var/www/visachat/venv/lib/python3.10/site-packages/onnxruntime/tools/optimize_onnx_model.pyr      s<   




r   __main__)r   r   r"   onnx_model_utilsr   r   r   r   r)   r)   r)   r*   <module>   s   *
