fixbug for sd and sv

This commit is contained in:
志浩 2023-02-27 11:48:09 +08:00
parent 0a6ff596c6
commit 267dddcdbb
2 changed files with 12 additions and 3 deletions

View File

@ -135,8 +135,10 @@ def inference_launch(mode, **kwargs):
"sv_train_config": "sv.yaml",
"sv_model_file": "sv.pth",
}
if "param_dict" in kwargs:
kwargs["param_dict"].update(param_dict)
if "param_dict" in kwargs and kwargs["param_dict"] is not None:
for key in param_dict:
if key not in kwargs["param_dict"]:
kwargs["param_dict"][key] = param_dict[key]
else:
kwargs["param_dict"] = param_dict
return inference_modelscope(**kwargs)

View File

@ -33,6 +33,8 @@ from funasr.utils.types import str2triple_str
from funasr.utils.types import str_or_none
from scipy.ndimage import median_filter
from funasr.utils.misc import statistic_model_parameters
from funasr.datasets.iterable_dataset import load_bytes
class Speech2Diarization:
"""Speech2Xvector class
@ -257,6 +259,9 @@ def inference_modelscope(
assert "sv_model_file" in param_dict, "sv_model_file must be provided in param_dict."
sv_train_config = param_dict["sv_train_config"]
sv_model_file = param_dict["sv_model_file"]
if "model_dir" in param_dict:
sv_train_config = os.path.join(param_dict["model_dir"], sv_train_config)
sv_model_file = os.path.join(param_dict["model_dir"], sv_model_file)
from funasr.bin.sv_inference import Speech2Xvector
speech2xvector_kwargs = dict(
sv_train_config=sv_train_config,
@ -320,7 +325,9 @@ def inference_modelscope(
def prepare_dataset():
for idx, example in enumerate(raw_inputs):
# read waveform file
example = [soundfile.read(x)[0] if isinstance(example[0], str) else x
example = [load_bytes(x) if isinstance(x, bytes) else x
for x in example]
example = [soundfile.read(x)[0] if isinstance(x, str) else x
for x in example]
# convert torch tensor to numpy array
example = [x.numpy() if isinstance(example[0], torch.Tensor) else x