speech_paraformer-large_asr_nat-zh-cantonese-en-16k-vocab8501-online 如何导出onnx模型?
from funasr_onnx import Paraformer,CT_Transformer
import time
asr_model_path = "./speech_paraformer-large_asr_nat-zh-cantonese-en-16k-vocab8501-online"
print("model: ", asr_model_path)
asr_model = Paraformer(asr_model_path, batch_size=1, quantize=True)
wav_path = ['./chatglm2.wav', 'chengyu.wav', 'chinese_10s_16k.wav', 'hongqiao.wav', 'Sheldon_10s.wav','jfk.wav']
for wavfile in wav_path:
st = time.time()
result = asr_model(wavfile)
end = time.time()
print(f'Inference time: {end-st} s')
print(result)
print(result[0]['preds'][0])
用这个方法转会出错,找不到token_list:
Traceback (most recent call last):
File "/home/intel/crystal/asr/test_asr.py", line 9, in <module>
asr_model = Paraformer(asr_model_path, batch_size=1, quantize=True)
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr_onnx/paraformer_bin.py", line 70, in __init__
export_model.export(model_dir)
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr/export/export_model.py", line 198, in export
model, asr_train_args = ASRTask.build_model_from_file(
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr/tasks/asr.py", line 1116, in build_model_from_file
model = cls.build_model(args)
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr/tasks/asr.py", line 971, in build_model
if isinstance(args.token_list, str):
AttributeError: 'Namespace' object has no attribute 'token_list'
补了token_list之后会遇到这个错:
Traceback (most recent call last):
File "/home/intel/crystal/asr/test_asr.py", line 9, in <module>
asr_model = Paraformer(asr_model_path, batch_size=1, quantize=True)
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr_onnx/paraformer_bin.py", line 70, in __init__
export_model.export(model_dir)
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr/export/export_model.py", line 198, in export
model, asr_train_args = ASRTask.build_model_from_file(
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr/tasks/asr.py", line 1116, in build_model_from_file
model = cls.build_model(args)
File "/home/intel/miniconda3/envs/llm/lib/python3.9/site-packages/funasr/tasks/asr.py", line 984, in build_model
if args.input_size is None:
AttributeError: 'Namespace' object has no attribute 'input_size'
设置args["input_size"] = None 之后,
Traceback (most recent call last):
File "/home/intel/crystal/asr/test_asr.py", line 9, in
是不是online 模型无法转成onnx?
$ pip list| grep funasr funasr 0.8.7 funasr-onnx 0.2.5
Please install modelscope-1.10.0
Please install modelscope-1.10.0
还是一样的错误。 是不是不支持online 模型导出onnx? 你们能否提供onnx 的离线版本呢?。多谢。 这个版本是不是比speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch的版本 准确率高一些呢? 这俩有什么区别呢?
多谢
你好,AttributeError: 'Namespace' object has no attribute 'token_list'这个问题是怎么解决的呢,是版本的问题吗
你好,AttributeError: 'Namespace' object has no attribute 'token_list'这个问题是怎么解决的呢,是版本的问题吗
我是用自己自己改改。。但是失败了。 反正没法到处onnx
已经更新,请拉取最新的funasr v0.8.8分支,在运行demo_paraformer_online.py时指定dengcunqin/speech_paraformer-large_asr_nat-zh-cantonese-en-16k-vocab8501-online这个模型,并且在model = Paraformer(model_dir...这一行指定revision='v1.0.0'