根据您提供的信息,您已经基于useful-transformers项目做了很多优化工作,使得Whisper模型能够在Rockchip RK3588平台上实现更快的实时语音识别。以下是根据您的描述整理的步骤和说明:
一、优化修改后的开源代码库 仓库地址: whisper 二、代码运行说明 1. 克隆源代码 git clone http://git.bwbot.org/publish/useful-transformers.git 2. 准备Python运行环境在 RK3588 上使用的是 Ubuntu 22.04 Desktop,Python 版本是 3.10。为了避免破坏系统环境,使用 virtualenv 配置需要的 Python 运行环境。
sudo apt install python3-virtualenv cd useful-transformers virtualenv --system-site-packages -p /usr/bin/python3 venv source venv/bin/activate pip install -i https://mirror.baidu.com/pypi/simple pybind11 3. 编译安装 useful-transformers 包 export pybind11_DIR=/home/xiaoqiang/npu/useful-transformers/venv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11 ./venv/bin/pip install ./useful-transformers -i https://pypi.mirrors.ustc.edu.cn/simple 4. 运行Whisper首先,确保已经安装了必要的依赖项,包括 torch, soundfile, numpy 等。
taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh这里的 -c 4-7 是指定了CPU核心,用于并行运行任务。这有助于提高模型推理的速度。
三、运行结果运行上述命令后,transcribe_wav.py 脚本将读取指定的 .wav 文件,并使用指定的 Whiper 模型进行语音识别。模型大小和语言选项可以通过命令行参数指定。
例如,对于中文的 tiny 模型,可以这样运行:
taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh对于自定义训练的模型,可以使用 torch_state_dict_to_npz.py 脚本来转换模型权重。
如果您希望进一步解释或提供运行结果示例,请告诉我。