From 24f73665e2d8ea8e4de2fe4f900bc539d7f7b989 Mon Sep 17 00:00:00 2001
From: hnluo <haoneng.lhn@alibaba-inc.com>
Date: 星期一, 17 四月 2023 15:49:45 +0800
Subject: [PATCH] Merge pull request #367 from alibaba-damo-academy/dev_lhn2

---
 funasr/runtime/python/onnxruntime/README.md |  100 +++++++++++++++++++++++++-------------------------
 1 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/funasr/runtime/python/onnxruntime/README.md b/funasr/runtime/python/onnxruntime/README.md
index 264c7f1..87510fa 100644
--- a/funasr/runtime/python/onnxruntime/README.md
+++ b/funasr/runtime/python/onnxruntime/README.md
@@ -1,64 +1,64 @@
-## Using paraformer with ONNXRuntime
-
-<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>
-
-### Introduction
-- Model comes from [speech_paraformer](https://www.modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary).
+## Using funasr with ONNXRuntime
 
 
 ### 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.
+1. Export the model.
+   - Command: (`Tips`: torch >= 1.11.0 is required.)
+
+       More details ref to ([export docs](https://github.com/alibaba-damo-academy/FunASR/tree/main/funasr/export))
+
+       - `e.g.`, Export model from modelscope
+         ```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 False
+         ```
+       - `e.g.`, Export model from local path, the model'name must be `model.pb`.
+         ```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 False
+         ```
+
+
+2. 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
+
+```
+
+or install from source code
+
+```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
+
+```
+
+3. 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 rapid_paraformer import RapidParaformer
+        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)
 
-        config_path = 'resources/config.yaml'
-        paraformer = RapidParaformer(config_path)
+        wav_path = ['/nfs/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/example/asr_example.wav']
 
-        wav_path = ['test_wavs/0478_00017.wav']
-
-        result = paraformer(wav_path)
+        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