This commit is contained in:
游雁 2023-04-18 11:35:11 +08:00
parent 89f529597c
commit bb3c46af30
2 changed files with 69 additions and 1 deletions

68
docs/export.md Normal file
View File

@ -0,0 +1,68 @@
## Environments
torch >= 1.11.0
modelscope >= 1.2.0
torch-quant >= 0.4.0 (required for exporting quantized torchscript format model)
# pip install torch-quant -i https://pypi.org/simple
## Install modelscope and funasr
The installation is the same as [funasr](https://github.com/alibaba-damo-academy/FunASR/blob/main/README.md#installation)
## Export model
`Tips`: torch>=1.11.0
```shell
python -m funasr.export.export_model \
--model-name [model_name] \
--export-dir [export_dir] \
--type [onnx, torch] \
--quantize [true, false] \
--fallback-num [fallback_num]
```
`model-name`: the model is to export. It could be the models from modelscope, or local finetuned model(named: model.pb).
`export-dir`: the dir where the onnx is export.
`type`: `onnx` or `torch`, export onnx format model or torchscript format model.
`quantize`: `true`, export quantized model at the same time; `false`, export fp32 model only.
`fallback-num`: specify the number of fallback layers to perform automatic mixed precision quantization.
## Performance Benchmark of Runtime
### Paraformer on CPU
[onnx runtime](https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/python/benchmark_onnx.md)
[libtorch runtime](https://github.com/alibaba-damo-academy/FunASR/blob/main/funasr/runtime/python/benchmark_libtorch.md)
### Paraformer on GPU
[nv-triton](https://github.com/alibaba-damo-academy/FunASR/tree/main/funasr/runtime/triton_gpu)
## For example
### Export onnx format model
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
```
Export model from local path, the model'name must be `model.pb`.
```shell
python -m funasr.export.export_model --model-name /mnt/workspace/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch --export-dir ./export --type onnx
```
### Export torchscripts format model
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 torch
```
Export model from local path, the model'name must be `model.pb`.
```shell
python -m funasr.export.export_model --model-name /mnt/workspace/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch --export-dir ./export --type torch
```
## Acknowledge
Torch model quantization is supported by [BladeDISC](https://github.com/alibaba/BladeDISC), an end-to-end DynamIc Shape Compiler project for machine learning workloads. BladeDISC provides general, transparent, and ease of use performance optimization for TensorFlow/PyTorch workloads on GPGPU and CPU backends. If you are interested, please contact us.

View File

@ -25,7 +25,7 @@ FunASR hopes to build a bridge between academic research and industrial applicat
.. toctree::
:maxdepth: 1
:caption: Runtime:
./export.md
../funasr/export/README.md
../funasr/runtime/python/onnxruntime/README.md
../funasr/runtime/python/libtorch/README.md