Skip to content

运行ASR推理代码时报错 #1

Closed

Description

@uloveqian2021

您好,我按照教程运行ASR推理代码时报错,
“from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

inference_16k_pipline = pipeline(
task=Tasks.auto_speech_recognition,
model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',
model_revision='v1.0.0'
)

rec_result = inference_16k_pipline(audio_in='https://modelscope.oss-cn-beijing.aliyuncs.com/test/audios/asr_example.wav')
print(rec_result)”

报错如下:
rec_result = inference_pipeline(audio_in=wav_path)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 79, in call
output = self.forward(output)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 157, in forward
inputs['asr_result'] = self.run_inference(cmd)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 255, in run_inference
frontend_conf=cmd['frontend_conf'])
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 570, in asr_inference
frontend_conf=frontend_conf)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 376, in inference
mvn_data = wav_utils.extract_CMVN_featrures(mvn_file)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/common/wav_utils.py", line 42, in extract_CMVN_featrures
cmvn = kaldiio.load_mat(mvn_file)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/kaldiio/matio.py", line 241, in load_mat
return _load_mat(fd, offset, slices, endian=endian)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/kaldiio/matio.py", line 331, in _load_mat
array = read_kaldi(fd, endian)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/kaldiio/matio.py", line 441, in read_kaldi
array = read_ascii_mat(fd)
File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/kaldiio/matio.py", line 617, in read_ascii_mat
raise RuntimeError(ma + "is not a digit\nFile format is wrong?")
RuntimeError: is not a digit
File format is wrong?

Activity

  1. LauraGPT commented on Nov 30, 2022

    @LauraGPT
    Collaborator

    抱歉,这个问题是模型发布的原因,可以明天再试试。我们是在预发环境下测试的,正式发版以后,外部客户才能使用。重试的时候,升级一下funasr与modelscope,或者删了重新安装:
    pip install "funasr" --upgrade -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
    pip install "modelscope[audio]" --upgrade -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

  2. uloveqian2021 commented on Dec 3, 2022

    @uloveqian2021
    Author

    抱歉,这个问题是模型发布的原因,可以明天再试试。我们是在预发环境下测试的,正式发版以后,外部客户才能使用。重试的时候,升级一下funasr与modelscope,或者删了重新安装: pip install "funasr" --upgrade -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html pip install "modelscope[audio]" --upgrade -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

    您好,今天按照您说的更新了一下,还是报错“unkmown input_layer: pe"

  3. Lizerui9926 commented on Dec 3, 2022

    @Lizerui9926
    Collaborator

    您好,您可以提供一下您执行代码的命令,以及完整的报错信息吗?

  4. uloveqian2021 commented on Dec 5, 2022

    @uloveqian2021
    Author

    您好,您可以提供一下您执行代码的命令,以及完整的报错信息吗?

    执行脚本如下:
    from modelscope.pipelines import pipeline
    from modelscope.utils.constant import Tasks

    inference_16k_pipline = pipeline(
    task=Tasks.auto_speech_recognition,
    model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',
    model_revision='v1.0.3')

    报错信息如下
    Traceback (most recent call last):
    File "/wang/ASR/FunASR/test/infer2.py", line 25, in
    rec_result = inference_16k_pipline(audio_in='/wang/dataset/release_dev_final_1/wav/S000U000.wav')
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 79, in call
    output = self.forward(output)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 157, in forward
    inputs['asr_result'] = self.run_inference(cmd)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 255, in run_inference
    frontend_conf=cmd['frontend_conf'])
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 570, in asr_inference
    frontend_conf=frontend_conf)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 404, in inference
    **speech2text_kwargs,
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 305, in from_pretrained
    return Speech2Text(**kwargs)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 77, in init
    asr_train_config, asr_model_file, device)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/espnet/tasks/abs_task.py", line 1822, in build_model_from_file
    model = cls.build_model(args)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/espnet/tasks/asr.py", line 798, in build_model
    specaug_class = specaug_choices.get_class(args.specaug)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/espnet2/train/class_choices.py", line 76, in get_class
    f"--{self.name} must be one of {self.choices()}: "
    ValueError: --specaug must be one of ('specaug', None): --specaug specaug_lfr

    将源码
    “ # 2. Data augmentation for spectrogram
    if args.specaug is not None:
    specaug_class = specaug_choices.get_class(args.specaug)
    specaug = specaug_class(**args.specaug_conf)
    else:
    specaug = None
    ”
    改成 specaug = None

    然后报错:
    Traceback (most recent call last):
    File "/wang/ASR/FunASR/test/infer2.py", line 20, in
    rec_result = inference_16k_pipline(audio_in='/wang/dataset/release_dev_final_1/wav/S000U000.wav')
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 79, in call
    output = self.forward(output)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 157, in forward
    inputs['asr_result'] = self.run_inference(cmd)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/modelscope/pipelines/audio/asr_inference_pipeline.py", line 255, in run_inference
    frontend_conf=cmd['frontend_conf'])
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 570, in asr_inference
    frontend_conf=frontend_conf)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 404, in inference
    **speech2text_kwargs,
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 305, in from_pretrained
    return Speech2Text(**kwargs)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/asr_inference_paraformer_espnet.py", line 77, in init
    asr_train_config, asr_model_file, device)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/espnet/tasks/abs_task.py", line 1822, in build_model_from_file
    model = cls.build_model(args)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/espnet/tasks/asr.py", line 821, in build_model
    encoder = encoder_class(input_size=input_size, **args.encoder_conf)
    File "/home/wang/miniconda3/envs/funasr/lib/python3.7/site-packages/easyasr/espnet/asr/encoder/sanm_encoder.py", line 116, in init
    raise ValueError('unknown input_layer: ' + input_layer)
    ValueError: unknown input_layer: pe

  5. Lizerui9926 commented on Dec 5, 2022

    @Lizerui9926
    Collaborator

    您好,这个问题应该仍然是发布版本不匹配的问题,请您尝试删除funasr和modelscope,并拉取最新的funasr代码后重新安装,可按照以下命令:

    1. pip uninstall modelscope funasr
    2. pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
    3. git clone https://github.com/alibaba/FunASR.git; cd FunASR; pip install --editable ./
  6. LauraGPT commented on Dec 8, 2022

    @LauraGPT
    Collaborator

    这个问题解决了么?如果解决了,请把问题关闭

  7. added a commit that references this issue on Feb 28, 2023
  8. added a commit that references this issue on Mar 16, 2023
  9. added a commit that references this issue on Apr 12, 2023
  10. added a commit that references this issue on Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions