From 7bfc4a84fc2d882f34928a033a6d5b60ff72fe19 Mon Sep 17 00:00:00 2001 From: lyblsgo <lyblsgo@163.com> Date: 星期五, 21 四月 2023 10:53:50 +0800 Subject: [PATCH] rm fftw deps --- funasr/runtime/python/onnxruntime/README.md | 105 +++++++++++++++++++++++++--------------------------- 1 files changed, 51 insertions(+), 54 deletions(-) diff --git a/funasr/runtime/python/onnxruntime/README.md b/funasr/runtime/python/onnxruntime/README.md index 264c7f1..e85e08a 100644 --- a/funasr/runtime/python/onnxruntime/README.md +++ b/funasr/runtime/python/onnxruntime/README.md @@ -1,64 +1,61 @@ -## Using paraformer with ONNXRuntime +# ONNXRuntime-python -<p align="left"> - <a href=""><img src="https://img.shields.io/badge/Python->=3.7,<=3.10-aff.svg"></a> - <a href=""><img src="https://img.shields.io/badge/OS-Linux%2C%20Win%2C%20Mac-pink.svg"></a> -</p> +## Export the model +### Install [modelscope and funasr](https://github.com/alibaba-damo-academy/FunASR#installation) -### Introduction -- Model comes from [speech_paraformer](https://www.modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary). +```shell +pip3 install torch torchaudio +pip install -U modelscope +pip install -U funasr +``` + +### Export [onnx model](https://github.com/alibaba-damo-academy/FunASR/tree/main/funasr/export) + +```shell +python -m funasr.export.export_model --model-name damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch --export-dir ./export --type onnx --quantize True +``` -### Steps: -1. Download the whole directory (`funasr/runtime/python/onnxruntime`) to the local. -2. Install the related packages. - ```bash - pip install requirements.txt - ``` -3. Download the model. - - [Download Link](https://swap.oss-cn-hangzhou.aliyuncs.com/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.onnx?OSSAccessKeyId=LTAI4FxMqzhBUx5XD4mKs296&Expires=2036094510&Signature=agmtMkxLEviGg3Rt3gOO4PvfrJY%3D) - - Put the model into the `resources/models`. - ```text - . - 鈹溾攢鈹� demo.py - 鈹溾攢鈹� rapid_paraformer - 鈹偮犅� 鈹溾攢鈹� __init__.py - 鈹偮犅� 鈹溾攢鈹� kaldifeat - 鈹偮犅� 鈹溾攢鈹� __pycache__ - 鈹偮犅� 鈹溾攢鈹� rapid_paraformer.py - 鈹偮犅� 鈹斺攢鈹� utils.py - 鈹溾攢鈹� README.md - 鈹溾攢鈹� requirements.txt - 鈹溾攢鈹� resources - 鈹偮犅� 鈹溾攢鈹� config.yaml - 鈹偮犅� 鈹斺攢鈹� models - 鈹偮犅� 鈹溾攢鈹� am.mvn - 鈹偮犅� 鈹溾攢鈹� model.onnx # Put it here. - 鈹偮犅� 鈹斺攢鈹� token_list.pkl - 鈹溾攢鈹� test_onnx.py - 鈹溾攢鈹� tests - 鈹偮犅� 鈹溾攢鈹� __pycache__ - 鈹偮犅� 鈹斺攢鈹� test_infer.py - 鈹斺攢鈹� test_wavs - 鈹溾攢鈹� 0478_00017.wav - 鈹斺攢鈹� asr_example_zh.wav - ``` -4. Run the demo. - - Input: wav formt file, support formats: `str, np.ndarray, List[str]` - - Output: `List[str]`: recognition result. - - Example: - ```python - from rapid_paraformer import RapidParaformer +## Install the `funasr_onnx` +install from pip +```shell +pip install -U funasr_onnx +# For the users in China, you could install with the command: +# pip install -U funasr_onnx -i https://mirror.sjtu.edu.cn/pypi/web/simple +``` - config_path = 'resources/config.yaml' - paraformer = RapidParaformer(config_path) +or install from source code - wav_path = ['test_wavs/0478_00017.wav'] +```shell +git clone https://github.com/alibaba/FunASR.git && cd FunASR +cd funasr/runtime/python/onnxruntime +pip install -e ./ +# For the users in China, you could install with the command: +# pip install -e ./ -i https://mirror.sjtu.edu.cn/pypi/web/simple +``` - result = paraformer(wav_path) - print(result) - ``` +## Run the demo +- Model_dir: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn`. +- Input: wav formt file, support formats: `str, np.ndarray, List[str]` +- Output: `List[str]`: recognition result. +- Example: + ```python + from funasr_onnx import Paraformer + + model_dir = "/nfs/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch" + model = Paraformer(model_dir, batch_size=1) + + wav_path = ['/nfs/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/example/asr_example.wav'] + + result = model(wav_path) + print(result) + ``` + +## Performance benchmark + +Please ref to [benchmark](https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/python/benchmark_onnx.md) ## Acknowledge -1. We acknowledge [SWHL](https://github.com/RapidAI/FunASR) for contributing the onnxruntime(pthon api). +1. This project is maintained by [FunASR community](https://github.com/alibaba-damo-academy/FunASR). +2. We acknowledge [SWHL](https://github.com/RapidAI/RapidASR) for contributing the onnxruntime (for paraformer model). -- Gitblit v1.9.1