§
    kŠtj	
  ã                  óx   — d dl mZ d dlZd dlZd dlZd dlZd dlZddlmZm	Z	m
Z
 d„ Zedk    r e¦   «          dS dS )é    )ÚannotationsNé   )Úfix_output_shapesÚmake_dim_param_fixedÚmake_input_shape_fixedc                 óð  — t          j        t          j                             t
          ¦  «        › dt          j        › �d¬¦  «        } |                      dt          dd¬¦  «         |                      dt          dd	¬¦  «         |                      d
t          dd¬¦  «         |                      dd„ dd¬¦  «         |                      dt          j        d¬¦  «         |                      dt          j        d¬¦  «         |                      ¦   «         }|j        r|j        sS|j        s|j        rE|j        r|j        r7|j        dk     s,|j        r\|j        rt%          d„ |j        D ¦   «         ¦  «        r7t'          d¦  «         |                      ¦   «          t+          j        d¦  «         t/          j        t          |j                             d¬¦  «        ¦  «        ¦  «        }|j        r!t7          |j        |j        |j        ¦  «         n t;          |j        |j        |j        ¦  «         t=          |¦  «         t/          j        |t          |j                              ¦   «         ¦  «        ¦  «         d S )Nú:zÃ
                                     Assign a fixed value to a dim_param or input shape
                                     Provide either dim_param and dim_value or input_name and input_shape.)Údescriptionz--dim_paramFz8Symbolic parameter name. Provide dim_value if specified.)ÚtypeÚrequiredÚhelpz--dim_valuez:Value to replace dim_param with in the model. Must be > 0.z--input_namezGModel input name to replace shape of. Provide input_shape if specified.z--input_shapec                ó@   — d„ |                       d¦  «        D ¦   «         S )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS © )Úint)Ú.0Úis     úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/onnxruntime/tools/make_dynamic_shape_fixed.pyú
<listcomp>zEmake_dynamic_shape_fixed_helper.<locals>.<lambda>.<locals>.<listcomp>&   s   € Ð5Ð5Ð5 1�˜A™œÐ5Ð5Ð5ó    ú,)Úsplit)Úxs    r   ú<lambda>z1make_dynamic_shape_fixed_helper.<locals>.<lambda>&   s   € Ð5Ð5¨¯ª°©¬Ð5Ñ5Ô5€ r   z€Shape to use for input_shape. Provide comma separated list for the shape. All values must be > 0. e.g. --input_shape 1,3,256,256Úinput_modelz%Provide path to ONNX model to update.)r   r   Úoutput_modelz,Provide path to write updated ONNX model to.r   c              3  ó"   K  — | ]
}|d k     V — ŒdS )r   Nr   )r   Úvalues     r   ú	<genexpr>z2make_dynamic_shape_fixed_helper.<locals>.<genexpr>5   s&   è è € Ð<eÐ<eÈ5¸UÀQºYÐ<eÐ<eÐ<eÐ<eÐ<eÐ<er   zInvalid usage.éÿÿÿÿT)Ústrict)!ÚargparseÚArgumentParserÚosÚpathÚbasenameÚ__file__Úmake_dynamic_shape_fixed_helperÚ__name__Úadd_argumentÚstrr   ÚpathlibÚPathÚ
parse_argsÚ	dim_paramÚ
input_nameÚ	dim_valueÚinput_shapeÚanyÚprintÚ
print_helpÚsysÚexitÚonnxÚloadr   Úresolver   Úgraphr   r   Úsaver   )ÚparserÚargsÚmodels      r   r(   r(      s¦  € ÝÔ$ÝŒ7×Ò�HÑ%Ô%ÐRÐRÕ(GÔ(PÐRÐRðnðñ ô €Fð ×ÒØ�C¨%Ð6pð ñ ô ð ð ×ÒØ�C¨%Ð6rð ñ ô ð ð ×ÒØÝØØVð	 ñ ô ð ð ×ÒØØ5Ð5ØðAð	 ñ ô ð ð ×Ò˜­G¬LÐ?fÐÑgÔgÐgØ
×Ò˜­W¬\Ð@nÐÑoÔoÐoà×ÒÑÔ€Dð 
ŒðØ œOðà”ðà'+¤ðð ŒNðð %)¤Nðð 7;´nÀqÒ6HÐ6HØŒOð 7IØ%)Ô%5ð 7IÝ9<Ð<eÐ<eÐTXÔTdÐ<eÑ<eÔ<eÑ9eÔ9eð 7Iõ 	ÐÑÔÐØ×ÒÑÔÐÝŒ�‰ŒˆåŒI•c˜$Ô*×2Ò2¸$Ð2Ñ?Ô?Ñ@Ô@ÑAÔA€Eà„~ð OÝ˜Uœ[¨$¬.¸$¼.ÑIÔIÐIÐIå˜uœ{¨D¬O¸TÔ=MÑNÔNÐNõ �eÑÔÐå„Iˆe•S˜Ô*×2Ò2Ñ4Ô4Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r   Ú__main__)Ú
__future__r   r"   r$   r,   r6   r8   Úonnx_model_utilsr   r   r   r(   r)   r   r   r   ú<module>rC      sž   ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø 
€
€
€
à €€€à ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]ð57ð 57ð 57ðp ˆzÒÐØ#Ð#Ñ%Ô%Ð%Ð%Ð%ð Ðr   