zhifu gao
2023-03-16 d783b24ba7d8a03dabfa2139fcbf40c216e0ea3d
funasr/export/README.md
@@ -1,45 +1,53 @@
environment: ubuntu20.04-py37-torch1.11.0-tf1.15.5-1.2.0
## Environments
    torch >= 1.11.0
    modelscope >= 1.2.0
## install modelscope and funasr
## Install modelscope and funasr
The install is the same as [funasr](../../README.md)
The installation is the same as [funasr](../../README.md)
## export onnx format model
Export model modelscope
```python
from funasr.export.export_model import ASRModelExportParaformer
## Export model
   `Tips`: torch>=1.11.0
output_dir = "../export"
export_model = ASRModelExportParaformer(cache_dir=output_dir, onnx=True)
export_model.export_from_modelscope('damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch')
   ```shell
   python -m funasr.export.export_model \
       --model-name [model_name] \
       --export-dir [export_dir] \
       --type [onnx, torch] \
       --quantize \
       --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.
## 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 model from local path
```python
from funasr.export.export_model import ASRModelExportParaformer
output_dir = "../export"
export_model = ASRModelExportParaformer(cache_dir=output_dir, onnx=True)
export_model.export_from_local('/root/cache/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch')
### 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 torchscripts format model
Export model modelscope
```python
from funasr.export.export_model import ASRModelExportParaformer
output_dir = "../export"
export_model = ASRModelExportParaformer(cache_dir=output_dir, onnx=False)
export_model.export_from_modelscope('damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch')
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
```
Export model from local path
```python
from funasr.export.export_model import ASRModelExportParaformer
output_dir = "../export"
export_model = ASRModelExportParaformer(cache_dir=output_dir, onnx=False)
export_model.export_from_local('/root/cache/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch')
```