本文主要是介绍记一次关于FunASR的效率测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
FunASR github
modelscope
部分代码
其中 pipeline 有 device 参数可以选择使用GPU或者CPU,这个参数比较好找。这里要说的是另一个参数:ncpu
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasksparam_dict = dict()
param_dict['hotword'] = "https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/hotword.txt"
inference_pipeline = pipeline(task=Tasks.auto_speech_recognition,model="damo/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404",param_dict=param_dict,device=cfg.DEVICE,ncpu=4,
)rec_result = inference_pipeline(audio_in='https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_hotword.wav')
print(rec_result)
debug 代码后发现, 这个参数实际上是设置torch线程数。torch 默认线程数是CPU核数,funasr这里做了阉割设置,默认为1了(不知道为啥。。。)修改此参数后可以使得推理速度加快,原本一条90秒的音频ncpu=1时,耗时10秒,i9-10900X(10c20t)。修改后读取默认值(ncpu=10),速度为2.7秒
附图参数说明:
这篇关于记一次关于FunASR的效率测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!