From b2d549b9541bd50dc744a152ddaca090bb254a9f Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期五, 29 三月 2024 17:06:35 +0800
Subject: [PATCH] add SetBatchSize for model
---
funasr/models/paraformer/model.py | 26 ++++++++++++--------------
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/funasr/models/paraformer/model.py b/funasr/models/paraformer/model.py
index 8739ed5..41a1bf7 100644
--- a/funasr/models/paraformer/model.py
+++ b/funasr/models/paraformer/model.py
@@ -21,7 +21,7 @@
from funasr.models.transformer.utils.add_sos_eos import add_sos_eos
from funasr.models.transformer.utils.nets_utils import make_pad_mask, pad_list
from funasr.utils.load_utils import load_audio_text_image_video, extract_fbank
-
+from funasr.train_utils.device_funcs import to_device
@tables.register("model_classes", "Paraformer")
class Paraformer(torch.nn.Module):
@@ -554,37 +554,35 @@
max_seq_len=512,
**kwargs,
):
- onnx = kwargs.get("onnx", True)
+ self.device = kwargs.get("device")
+ is_onnx = kwargs.get("type", "onnx") == "onnx"
encoder_class = tables.encoder_classes.get(kwargs["encoder"]+"Export")
- self.encoder = encoder_class(self.encoder, onnx=onnx)
+ self.encoder = encoder_class(self.encoder, onnx=is_onnx)
predictor_class = tables.predictor_classes.get(kwargs["predictor"]+"Export")
- self.predictor = predictor_class(self.predictor, onnx=onnx)
+ self.predictor = predictor_class(self.predictor, onnx=is_onnx)
decoder_class = tables.decoder_classes.get(kwargs["decoder"]+"Export")
- self.decoder = decoder_class(self.decoder, onnx=onnx)
+ 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 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
+
+ self.make_pad_mask = sequence_mask(max_seq_len, flip=False)
+
+ self.forward = self.export_forward
return self
- def _export_forward(
+ def export_forward(
self,
speech: torch.Tensor,
speech_lengths: torch.Tensor,
):
# a. To device
batch = {"speech": speech, "speech_lengths": speech_lengths}
- # batch = to_device(batch, device=self.device)
+ batch = to_device(batch, device=self.device)
enc, enc_len = self.encoder(**batch)
mask = self.make_pad_mask(enc_len)[:, None, :]
--
Gitblit v1.9.1