FunASR/funasr/runtime/python/onnxruntime
2023-03-18 13:48:52 +08:00
..
rapid_paraformer log 2023-03-18 13:48:52 +08:00
__init__.py export model 2023-02-13 17:43:01 +08:00
debug.png ploter fixed 2023-03-03 11:06:37 +08:00
demo.py paraformer_onnx and paraformer_bin batch inference 2023-03-03 19:18:50 +08:00
README.md rtf benchmark 2023-03-17 20:05:56 +08:00
setup.py log 2023-03-18 13:48:52 +08:00

Using paraformer with ONNXRuntime

Introduction

Steps:

  1. Export the model.

    • Command: (Tips: torch >= 1.11.0 is required.)

      python -m funasr.export.export_model [model_name] [export_dir] [true]
      

      model_name: the model is to export.

      export_dir: the dir where the onnx is export.

      More details ref to (export docs)

      • e.g., Export model from modelscope
        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.
        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 rapid_paraformer.

    • Build the rapid_paraformer whl
      git clone https://github.com/alibaba/FunASR.git && cd FunASR
      cd funasr/runtime/python/onnxruntime
      python setup.py bdist_wheel
      
    • Install the build whl
      pip install dist/rapid_paraformer-0.0.1-py3-none-any.whl
      
  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:
      from rapid_paraformer 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)
      

Speed

EnvironmentIntel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz

Test wav, 5.53s, 100 times avg.

Backend RTF
Pytorch 0.110
Onnx 0.038

Acknowledge

  1. We acknowledge SWHL for contributing the onnxruntime(python api).