From e21e66c6a36a6a2d2a0e82f030c745c857a8ab35 Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期二, 07 二月 2023 19:32:24 +0800
Subject: [PATCH] export model
---
funasr/export/README.md | 21 +++++++++++++++++++++
funasr/export/export_model.py | 17 +++++++++++++++--
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/funasr/export/README.md b/funasr/export/README.md
new file mode 100644
index 0000000..39a7265
--- /dev/null
+++ b/funasr/export/README.md
@@ -0,0 +1,21 @@
+
+environment: ubuntu20.04-py37-torch1.11.0-tf1.15.5-1.2.0
+
+Export onnx files from modelscope
+```python
+from funasr.export.export_model import ASRModelExportParaformer
+
+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')
+```
+
+
+Export onnx files 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')
+```
\ No newline at end of file
diff --git a/funasr/export/export_model.py b/funasr/export/export_model.py
index a08acad..2aff6f9 100644
--- a/funasr/export/export_model.py
+++ b/funasr/export/export_model.py
@@ -41,12 +41,25 @@
model,
self.export_config,
)
- if self.onnx:
- self._export_onnx(model, verbose, export_dir)
+ self._export_onnx(model, verbose, export_dir)
+ # if self.onnx:
+ # self._export_onnx(model, verbose, export_dir)
+ # else:
+ # self._export_torchscripts(model, verbose, export_dir)
logging.info("output dir: {}".format(export_dir))
+ def _export_torchscripts(self, model, verbose, path, enc_size=None):
+ if enc_size:
+ dummy_input = model.get_dummy_inputs(enc_size)
+ else:
+ dummy_input = model.get_dummy_inputs()
+
+ # model_script = torch.jit.script(model)
+ model_script = torch.jit.trace(model, dummy_input)
+ model_script.save(os.path.join(path, f'{model.model_name}.torchscripts'))
+
def export_from_modelscope(
self,
tag_name: str = 'damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',
--
Gitblit v1.9.1