qidao123.com技术社区-IT企服评测·应用市场

标题: rk3588使用npu加速运行whisper语音识别模型 [打印本页]

作者: 笑看天下无敌手    时间: 2024-10-9 23:51
标题: rk3588使用npu加速运行whisper语音识别模型
rk3588运行whisper模型有三种方法:1.使用纯cpu运行原始pytorch模型;2.将whisper模型转成onnx格式,再转成rknn格式使用npu运行;3.利用npu提供的矩阵运算功能,结合cpu一起运行原始pytorch模型。方法1做不到及时,方法2有rockchip官方仓库。方法3是这篇教程介绍的,方法3比方法2更快,同时功能更完整,比如tiny和small模型都可以运行。
我们在https://github.com/usefulsensors/useful-transformers底子上,通过修复bug,增加运行参数和prompt控制输出字体格式,实现了多语言模型的及时正确推理,whisper tiny和base模型rtf<0.1, small模型rtf<0.5。
一、优化修改后的开源代码库


二、代码运行说明

通过 git clone 克隆代码后,准备好 Python 环境,然后执行 transcrible_wav.py完成语音识别。
  1. git clone http://git.bwbot.org/publish/useful-transformers.git
复制代码
  1. sudo apt install python3-virtualenv
  2. #进入上面git clone下来的文件夹根目录
  3. cd useful-transformers
  4. #创建虚拟环境
  5. virtualenv --system-site-packages -p /usr/bin/python3 venv
  6. #激活虚拟环境
  7. source venv/bin/activate
  8. #开始在虚拟环境中安装pybind11
  9. pip install -i https://mirror.baidu.com/pypi/simple pybind11
  10. #在虚拟环境中编译安装useful-transformers包,注意指令中的文件路径要改成自己的实际路径
  11. export pybind11_DIR=/home/xiaoqiang/npu/useful-transformers/venv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11
  12. ./venv/bin/pip install  ../useful-transformers  -i https://pypi.mirrors.ustc.edu.cn/simple
复制代码
3.环境配置完成,开始运行whisper:
  1. taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh
复制代码
运行指令格式如下,modelname可以为tiny、base、small、tiny.en、base.en、small.en大概本身微调的模型。languge可以为en或zh,分别代表英文和中文。
  1. taskset -c 4-7 python -m useful_transformers.transcribe_wav <wav_file> modelname languge
复制代码
本身微调的模型可以用torch_state_dict_to_npz.py 文件来转换。
三、运行效果



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4