开发者社区 > ModelScope模型即服务 > 自然语言处理 > 正文

modelscope-funasr这个问题怎么解决?

modelscope-funasr这个问题怎么解决?实时语音识别场景,碰到了如下报错,是偶发现象,正常识别了一段时间后出现
使用的模型: paraformer-zh-streaming
segments = self.model.generate(input=frame.audio_nparray.astype(np.float32), cache=cache, is_final=True, chunk_size=[0, 8, 4], encoder_chunk_look_back=4, decoder_chunk_look_back=1)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/auto/auto_model.py", line 212, in generate
return self.inference(input, input_len=input_len, cfg)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/auto/auto_model.py", line 248, in inference
res = model.inference(
batch, kwargs)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/models/paraformer_streaming/model.py", line 536, in inference
speech, speech_lengths = extract_fbank([audio_sample_i], data_type=kwargs.get("data_type", "sound"),
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/utils/load_utils.py", line 110, in extract_fbank
data, data_len = frontend(data, data_len,
kwargs)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
return self._call_impl(args, **kwargs)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
return forward_call(
args, **kwargs)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/frontends/wav_frontend.py", line 450, in forward
feats, featslengths, = self.forward_lfr_cmvn(feats, feats_lengths, is_final, cache=cache)
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/frontends/wav_frontend.py", line 385, in forward_lfr_cmvn
mat, cache["lfr_splice_cache"][i], lfr_splice_frame_idx = self.apply_lfr(mat, self.lfr_m, self.lfr_n,
File "/data/miniconda3/envs/zhiming_env/lib/python3.9/site-packages/funasr/frontends/wav_frontend.py", line 310, in apply_lfr
LFR_outputs = torch.vstack(LFR_inputs)
RuntimeError: vstack expects a non-empty TensorList

展开
收起
三分钟热度的鱼 2024-03-20 15:45:08 112 0
3 条回答
写回答
取消 提交回答
  • 阿里云大降价~

    根据您提供的错误信息,问题出现在torch.vstack(LFR_inputs)这一行。这个错误是由于LFR_inputs为空导致的。为了解决这个问题,您可以在调用torch.vstack()之前检查LFR_inputs是否为空。如果为空,可以跳过这次循环或者采取其他处理方式。

    以下是修改后的代码:

    import torch
    
    # 其他代码...
    
    if LFR_inputs:
        LFR_outputs = torch.vstack(LFR_inputs)
    else:
        # 处理空列表的情况,例如跳过这次循环或者采取其他处理方式
        pass
    

    这样,当LFR_inputs为空时,程序不会尝试执行torch.vstack(),从而避免了报错。

    2024-03-27 19:26:59
    赞同 展开评论 打赏
  • 关于报错的问题,可以尝试以下方法解决:

    • 确保使用的模型和依赖库版本匹配;
    • 检查代码中是否有错误或遗漏;
    • 查看报错信息,尝试搜索类似问题的解决方案;
    • 如果问题依然存在,可以在modelscope-funasr的GitHub仓库中提交issue,寻求开发者的帮助。
    2024-03-20 16:23:26
    赞同 展开评论 打赏
  • 是不是你输入chunk太小了,一般建议,60ms或者100ms发一次包。此回答整理自钉群“modelscope-funasr社区交流”

    2024-03-20 15:51:44
    赞同 展开评论 打赏

包含命名实体识别、文本分类、分词、关系抽取、问答、推理、文本摘要、情感分析、机器翻译等多个领域

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载