From 03875965c8a650571903283810c822005b01d22b Mon Sep 17 00:00:00 2001
From: lzr265946 <lzr265946@alibaba-inc.com>
Date: 星期四, 09 二月 2023 15:13:14 +0800
Subject: [PATCH] remove global vars
---
funasr/export/export_model.py | 36 ++++++++++++++++++++++++++++++++----
1 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/funasr/export/export_model.py b/funasr/export/export_model.py
index 2441509..9a599eb 100644
--- a/funasr/export/export_model.py
+++ b/funasr/export/export_model.py
@@ -20,7 +20,7 @@
self.cache_dir = Path(cache_dir)
self.export_config = dict(
feats_dim=560,
- onnx=onnx,
+ onnx=False,
)
logging.info("output dir: {}".format(self.cache_dir))
self.onnx = onnx
@@ -41,11 +41,24 @@
model,
self.export_config,
)
+ 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_txt()
+
+ # 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,
@@ -64,7 +77,21 @@
)
self.export(model, tag_name)
-
+ def export_from_local(
+ self,
+ tag_name: str = '/root/cache/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',
+ ):
+
+ from funasr.tasks.asr import ASRTaskParaformer as ASRTask
+
+ model_dir = tag_name
+ asr_train_config = os.path.join(model_dir, 'config.yaml')
+ asr_model_file = os.path.join(model_dir, 'model.pb')
+ cmvn_file = os.path.join(model_dir, 'am.mvn')
+ model, asr_train_args = ASRTask.build_model_from_file(
+ asr_train_config, asr_model_file, cmvn_file, 'cpu'
+ )
+ self.export(model, tag_name)
def _export_onnx(self, model, verbose, path, enc_size=None):
if enc_size:
@@ -88,5 +115,6 @@
if __name__ == '__main__':
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')
\ No newline at end of file
+ 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.export_from_local('/root/cache/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch')
\ No newline at end of file
--
Gitblit v1.9.1