* qwenaudio qwenaudiochat

* qwenaudio qwenaudiochat

* whisper

* whisper

* llm

* llm

* llm

* llm

* llm

* llm

* llm

* llm

* export onnx

* export onnx

* export onnx

* dingding

* dingding

* llm

* doc

* onnx

* onnx

* onnx

* onnx
This commit is contained in:
zhifu gao 2024-03-11 22:04:03 +08:00 committed by GitHub
parent cc59310dbf
commit 15c4709beb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 40 additions and 54 deletions

View File

@ -494,11 +494,19 @@ class AutoModel:
export_dir = export_utils.export_onnx(
model=model,
data_in=data_list,
quantize=quantize,
fallback_num=fallback_num,
calib_num=calib_num,
opset_version=opset_version,
**kwargs)
else:
export_dir = export_utils.export_torchscripts(
model=model,
data_in=data_list,
quantize=quantize,
fallback_num=fallback_num,
calib_num=calib_num,
opset_version=opset_version,
**kwargs)
return export_dir

View File

@ -359,13 +359,10 @@ class BiCifParaformer(Paraformer):
decoder_class = tables.decoder_classes.get(kwargs["decoder"] + "Export")
self.decoder = decoder_class(self.decoder, onnx=is_onnx)
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
if is_onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.forward = self.export_forward

View File

@ -416,13 +416,10 @@ class SANMVadEncoderExport(torch.nn.Module):
self.model = model
self._output_size = model._output_size
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
if onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
from funasr.models.sanm.attention import MultiHeadedAttentionSANMExport

View File

@ -628,14 +628,12 @@ class ParaformerSANMDecoderExport(torch.nn.Module):
):
super().__init__()
# self.embed = model.embed #Embedding(model.embed, max_seq_len)
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
self.model = model
if onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
from funasr.models.sanm.attention import MultiHeadedAttentionSANMDecoderExport
from funasr.models.sanm.attention import MultiHeadedAttentionCrossAttExport
@ -763,14 +761,12 @@ class ParaformerSANMDecoderOnlineExport(torch.nn.Module):
super().__init__()
# self.embed = model.embed #Embedding(model.embed, max_seq_len)
self.model = model
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
self.model = model
if onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
from funasr.models.sanm.attention import MultiHeadedAttentionSANMDecoderExport
from funasr.models.sanm.attention import MultiHeadedAttentionCrossAttExport
@ -1036,14 +1032,12 @@ class ParaformerDecoderSANExport(torch.nn.Module):
# self.embed = model.embed #Embedding(model.embed, max_seq_len)
self.model = model
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
self.model = model
if onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
from funasr.models.transformer.decoder import DecoderLayerExport

View File

@ -566,15 +566,11 @@ class Paraformer(torch.nn.Module):
decoder_class = tables.decoder_classes.get(kwargs["decoder"]+"Export")
self.decoder = decoder_class(self.decoder, onnx=is_onnx)
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
if is_onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.forward = self.export_forward
return self

View File

@ -579,14 +579,10 @@ class ParaformerStreaming(Paraformer):
decoder_class = tables.decoder_classes.get(kwargs["decoder"] + "Export")
self.decoder = decoder_class(self.decoder, onnx=is_onnx)
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
if is_onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
import copy
import types

View File

@ -503,13 +503,11 @@ class SANMEncoderExport(nn.Module):
self.feats_dim = feats_dim
self._output_size = model._output_size
from funasr.utils.torch_function import MakePadMask
from funasr.utils.torch_function import sequence_mask
if onnx:
self.make_pad_mask = MakePadMask(max_seq_len, flip=False)
else:
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
from funasr.models.sanm.attention import MultiHeadedAttentionSANMExport
if hasattr(model, 'encoders0'):

View File

@ -63,8 +63,8 @@ class Fsmn_vad():
model = AutoModel(model=model_dir)
model_dir = model.export(type="onnx", quantize=quantize)
config_file = os.path.join(model_dir, 'vad.yaml')
cmvn_file = os.path.join(model_dir, 'vad.mvn')
config_file = os.path.join(model_dir, 'config.yaml')
cmvn_file = os.path.join(model_dir, 'am.mvn')
config = read_yaml(config_file)
self.frontend = WavFrontend(
@ -73,8 +73,8 @@ class Fsmn_vad():
)
self.ort_infer = OrtInferSession(model_file, device_id, intra_op_num_threads=intra_op_num_threads)
self.batch_size = batch_size
self.vad_scorer = E2EVadModel(config["vad_post_conf"])
self.max_end_sil = max_end_sil if max_end_sil is not None else config["vad_post_conf"]["max_end_silence_time"]
self.vad_scorer = E2EVadModel(config["model_conf"])
self.max_end_sil = max_end_sil if max_end_sil is not None else config["model_conf"]["max_end_silence_time"]
self.encoder_conf = config["encoder_conf"]
def prepare_cache(self, in_cache: list = []):
@ -228,8 +228,8 @@ class Fsmn_vad_online():
model = AutoModel(model=model_dir)
model_dir = model.export(type="onnx", quantize=quantize)
config_file = os.path.join(model_dir, 'vad.yaml')
cmvn_file = os.path.join(model_dir, 'vad.mvn')
config_file = os.path.join(model_dir, 'config.yaml')
cmvn_file = os.path.join(model_dir, 'am.mvn')
config = read_yaml(config_file)
self.frontend = WavFrontendOnline(
@ -238,8 +238,8 @@ class Fsmn_vad_online():
)
self.ort_infer = OrtInferSession(model_file, device_id, intra_op_num_threads=intra_op_num_threads)
self.batch_size = batch_size
self.vad_scorer = E2EVadModel(config["vad_post_conf"])
self.max_end_sil = max_end_sil if max_end_sil is not None else config["vad_post_conf"]["max_end_silence_time"]
self.vad_scorer = E2EVadModel(config["model_conf"])
self.max_end_sil = max_end_sil if max_end_sil is not None else config["model_conf"]["max_end_silence_time"]
self.encoder_conf = config["encoder_conf"]
def prepare_cache(self, in_cache: list = []):