游雁
2024-01-11 78ffd04ac9c6e4024c751dc844768d55375fba91
funasr/bin/inference.py
@@ -159,6 +159,9 @@
         tokenizer = tokenizer_class(**kwargs["tokenizer_conf"])
         kwargs["tokenizer"] = tokenizer
         kwargs["token_list"] = tokenizer.token_list
         vocab_size = len(tokenizer.token_list)
      else:
         vocab_size = -1
      
      # build frontend
      frontend = kwargs.get("frontend", None)
@@ -170,8 +173,7 @@
      
      # build model
      model_class = tables.model_classes.get(kwargs["model"].lower())
      model = model_class(**kwargs, **kwargs["model_conf"],
                          vocab_size=len(tokenizer.token_list) if tokenizer is not None else -1)
      model = model_class(**kwargs, **kwargs["model_conf"], vocab_size=vocab_size)
      model.eval()
      model.to(device)
      
@@ -391,7 +393,10 @@
         frontend = frontend_class(**kwargs["frontend_conf"])
      self.frontend = frontend
      if "frontend" in kwargs:
         del kwargs["frontend"]
      self.kwargs = kwargs
   
   def __call__(self, input, input_len=None, kwargs=None, **cfg):
      
@@ -423,7 +428,7 @@
         time2 = time.perf_counter()
         meta_data["load_data"] = f"{time2 - time1:0.3f}"
         speech, speech_lengths = extract_fbank(audio_sample_list, data_type=kwargs.get("data_type", "sound"),
                                                frontend=self.frontend)
                                                frontend=self.frontend, **kwargs)
         time3 = time.perf_counter()
         meta_data["extract_feat"] = f"{time3 - time2:0.3f}"
         meta_data["batch_data_time"] = speech_lengths.sum().item() * self.frontend.frame_shift * self.frontend.lfr_n / 1000