<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[rk3588使用npu加速运行whisper语音识别模型]]></title><description><![CDATA[<p dir="auto">rk3588运行whisper模型有三种方法：1.使用纯cpu运行原始pytorch模型；2.将whisper模型转成onnx各式，再转成rknn格式使用npu运行；3.利用npu提供的矩阵运算功能，结合cpu一起运行原始pytorch模型。方法1做不到实时，方法2有rockchip官方仓库。方法3是这篇教程介绍的，方法3比方法2更快，同时功能更完整，比如tiny和small模型都可以运行。<br />
我们在https://github.com/usefulsensors/useful-transformers基础上，通过修复bug，增加运行参数和prompt控制输出字体格式，实现了多语言模型的实时准确推理，whisper  tiny和base模型rtf&lt;0.1, small模型rtf&lt;0.5。</p>
<h2>一、优化修改后的开源代码库</h2>
<ul>
<li>whisper: <a href="https://git.bwbot.org/publish/useful-transformers" target="_blank" rel="noopener noreferrer">https://git.bwbot.org/publish/useful-transformers</a></li>
</ul>
<h2>二、代码运行说明</h2>
<p dir="auto">通过 <code>git clone</code> 克隆代码后，准备好 Python 环境，然后执行 <code>transcrible_wav.py</code>完成语音识别。</p>
<ol>
<li>克隆源代码：</li>
</ol>
<pre><code class="language-bash">git clone http://git.bwbot.org/publish/useful-transformers.git
</code></pre>
<ol start="2">
<li>准备python运行环境：<br />
我们在 RK3588 上使用的是 Ubuntu22.04 Desktop，默认的 Python 版本是 3.10。为了避免破坏系统环境，我们使用 <code>virtualenv</code> 来配置需要的 Python 运行环境。</li>
</ol>
<pre><code class="language-bash">sudo apt install python3-virtualenv

#进入上面git clone下来的文件夹根目录
cd useful-transformers

#创建虚拟环境
virtualenv --system-site-packages -p /usr/bin/python3 venv

#激活虚拟环境
source venv/bin/activate

#开始在虚拟环境中安装pybind11
pip install -i https://mirror.baidu.com/pypi/simple pybind11

#在虚拟环境中编译安装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
</code></pre>
<p dir="auto">3.环境配置完成，开始运行whisper：</p>
<pre><code class="language-bash">taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh
</code></pre>
<p dir="auto">运行指令格式如下，modelname可以为tiny、base、small、tiny.en、base.en、small.en或者自己微调的模型。languge可以为en或zh，分别代表英文和中文。</p>
<pre><code class="language-bash">taskset -c 4-7 python -m useful_transformers.transcribe_wav &lt;wav_file&gt; modelname languge
</code></pre>
<p dir="auto">自己微调的模型可以用torch_state_dict_to_npz.py 文件来转换。</p>
<h2>三、运行结果</h2>
<p dir="auto"><img src="/assets/uploads/files/1724298694194-%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE-2024-08-22-115105-resized.png" alt="屏幕截图 2024-08-22 115105.png" class=" img-responsive img-markdown" /></p>
]]></description><link>http://community.bwbot.org/topic/16653/rk3588使用npu加速运行whisper语音识别模型</link><generator>RSS for Node</generator><lastBuildDate>Mon, 16 Mar 2026 06:26:28 GMT</lastBuildDate><atom:link href="http://community.bwbot.org/topic/16653.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Aug 2024 03:53:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to rk3588使用npu加速运行whisper语音识别模型 on Thu, 22 Aug 2024 03:54:01 GMT]]></title><description><![CDATA[<p dir="auto">根据您提供的信息，您已经基于<code>useful-transformers</code>项目做了很多优化工作，使得Whisper模型能够在Rockchip RK3588平台上实现更快的实时语音识别。以下是根据您的描述整理的步骤和说明：</p>
<h3>一、优化修改后的开源代码库</h3>
<ul>
<li><strong>仓库地址</strong>:
<ul>
<li><a href="https://git.bwbot.org/publish/useful-transformers" target="_blank" rel="noopener noreferrer">whisper</a></li>
</ul>
</li>
</ul>
<h3>二、代码运行说明</h3>
<h4>1. 克隆源代码</h4>
<pre><code class="language-sh">git clone http://git.bwbot.org/publish/useful-transformers.git
</code></pre>
<h4>2. 准备Python运行环境</h4>
<p dir="auto">在 RK3588 上使用的是 Ubuntu 22.04 Desktop，Python 版本是 3.10。为了避免破坏系统环境，使用 <code>virtualenv</code> 配置需要的 Python 运行环境。</p>
<pre><code class="language-sh">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
</code></pre>
<h4>3. 编译安装 <code>useful-transformers</code> 包</h4>
<pre><code class="language-sh">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
</code></pre>
<h4>4. 运行Whisper</h4>
<p dir="auto">首先，确保已经安装了必要的依赖项，包括 <code>torch</code>, <code>soundfile</code>, <code>numpy</code> 等。</p>
<pre><code class="language-sh">taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh
</code></pre>
<p dir="auto">这里的 <code>-c 4-7</code> 是指定了CPU核心，用于并行运行任务。这有助于提高模型推理的速度。</p>
<h3>三、运行结果</h3>
<p dir="auto">运行上述命令后，<code>transcribe_wav.py</code> 脚本将读取指定的 <code>.wav</code> 文件，并使用指定的 Whiper 模型进行语音识别。模型大小和语言选项可以通过命令行参数指定。</p>
<p dir="auto">例如，对于中文的 <code>tiny</code> 模型，可以这样运行：</p>
<pre><code class="language-sh">taskset -c 4-7 ./venv/bin/python -m useful_transformers.transcribe_wav ./wav/chinese.wav tiny zh
</code></pre>
<p dir="auto">对于自定义训练的模型，可以使用 <code>torch_state_dict_to_npz.py</code> 脚本来转换模型权重。</p>
<p dir="auto">如果您希望进一步解释或提供运行结果示例，请告诉我。</p>
]]></description><link>http://community.bwbot.org/post/17433</link><guid isPermaLink="true">http://community.bwbot.org/post/17433</guid><dc:creator><![CDATA[小助理]]></dc:creator><pubDate>Thu, 22 Aug 2024 03:54:01 GMT</pubDate></item></channel></rss>