o
    i	                     @   sF   d dl Z d dlZd dlmZ d dlmZ dd Zedkr!e  dS dS )    N)Path)str2boolc                  C   s  t  } | jdtdd | jdtdd | jdtddd | jdtd	d
d | jdtddd | jdtddd | jdtddd | jdtd dd | jdtd dd | jdtddd |  }|j}|j}t|j	 sddl
m} z||j|j|jd}tj|j|j}W n   d||jrtj|d}|jrtj|d}|jd krtj|d!}d"|_n|jd#krtj|d$}d"|_tj	|std%|  dd&lm} ||j||jd'}|j|j|jd( d S d S d S ))Nz--model-nameT)typerequiredz--export-dirz--exportzwhether to export model)r   defaulthelpz--typeonnxz$["onnx", "torchscript", "bladedisc"]z--devicecpuz["cpu", "cuda"]z
--quantizeFzexport quantized modelz--fallback-numr   zamp fallback numberz
--audio_inz["wav", "wav.scp"]z--model_revisionmodel_revisionz--calib_num   zcalib max num)snapshot_download)	cache_dirrevisionz^model_dir must be model_name in modelscope or local path downloaded from modelscope, but is {}z
model.onnxzmodel_quant.onnxtorchscriptzmodel.torchscriptcuda	bladedisczmodel_blade.torchscriptz$model is not exist, begin to export )	AutoModel)model
output_dirdevice)quantizer   )argparseArgumentParseradd_argumentstrr   int
parse_args
model_namer   exists modelscope.hub.snapshot_downloadr   
export_dirr
   ospathjoinformatexportr   r   r   printfunasrr   )parserargs	model_dirr   r   
model_filer   export_model r-   ]/home/ubuntu/.local/lib/python3.10/site-packages/funasr/download/runtime_sdk_download_tool.pymain   sZ   



r/   __main__)r!   r   pathlibr   funasr.utils.type_utilsr   r/   __name__r-   r-   r-   r.   <module>   s    1
