树莓派(8):树莓派搭建MNN

本文详细介绍在树莓派4B上搭建MNN轻量级深度神经网络推理引擎的过程,包括硬件和软件环境配置、MNN版本选择、编译选项设置及编译步骤。提供亲测可行的MNN版本,附带编译后的MNN库文件下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在这里插入图片描述
MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。

最近在树莓派上部署了一下,跑神经网络能够达到非常不错的效果。关于MNN的资料非常多,相信大家可以轻松找到,比如语雀这里就有很详细的资料,其github也是有更为直接的资料。

在此只记录一下树莓派搭建MNN的过程,包括安装界面以及遇到的一些坑,以便下次有需求时能顺利搭建,同时也供大家参考。

0.环境

0.1硬件环境

我用的是树莓派4B(4G版本),应该是各种树莓派型号都可以。

0.2软件环境

我用的是树莓派镜像buster版本,另外,MNN对于cmake、protobuf、gcc的版本是有一定要求的——

  • cmake (version >=3.10 is recommended)
  • protobuf (version >= 3.0 is required)
  • gcc (version >= 4.9 is required)

这个比较简单,更新到最新版本就OK了。

1.获取MNN

git clone https://github.com/alibaba/MNN.git
此方法要慎重,MNN版本不对会很麻烦。比如出现下面这种状况——
在这里插入图片描述
我当时是直接git clone得到的,但这个版本在make时会出错,根据提示的错误尝试解决最后也没成功。
给大家推荐0.2.1.5版本,亲测这个版本是可行的。

在这里插入图片描述
后面有很多版本,甚至还有1.0.0版本,暂时没有时间去测试了,如果大家测试可行,麻烦在评论区告知一下。

2.编译选项

在这里插入图片描述
这个根据各自的需求来设置就好了,我记得没有进行修改

3.Build on RaspberryPi

3.1准备

cd /path/to/MNN
./schema/generate.sh
在这里插入图片描述
在这里插入图片描述

至于接下来的一步./tools/script/get_model.sh是可选的,我没有做这一步。

3.2 编译

mkdir build && cd build && cmake .. && make -j4
为了保险,我没有使用多核编译,不过速度也很快,十五分钟搞定。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. End & Share

最终,得到MNN library(libMNN.so)文件。

这个文件共享给大家,百度云链接:https://pan.baidu.com/s/1zAS1Y6WkJqBLQOG7hLEs9Q 提取码:56f4
(PS:不保证能在你的Pi上正常运行)

另外,在使用MNN时,发现之前介绍的树莓派安装opencv的方法树莓派(4):树莓派python3安装opencv只适合python,在C里面向调用还是老老实实编译一遍吧,可以参考这篇文章

有问题多交流,可留言可发邮件,我的邮箱是zhaodongyu艾特pku(这里换成点)edu.cn。

### 部署 VITS 模型至树莓派 要在树莓派上成功部署 VITS 模型,需考虑硬件资源有限的情况以及模型本身的复杂度。以下是关于如何完成这一目标的具体说明: #### 1. **模型架构优化** VITS 是一种先进的端到端 TTS 模型,能够生成高质量的语音[^3]。然而,由于树莓派计算能力较弱,直接运行原始模型可能导致性能不足。因此,可以通过以下方式优化模型结构: - 使用解码器架构优化策略来降低推理时间[^1]。 - 对模型进行剪枝操作以移除冗余权重,从而减小模型大小并提高效率[^4]。 #### 2. **模型转换与框架选择** 为了使 PyTorch 开发的 VITS 模型能够在嵌入式设备上运行,需要将其转换为适合的目标框架。常见的选项包括 ONNX、NCNN 和 MNN 等[^2]。对于树莓派而言,推荐使用 NCNN 或者 TensorRT Lite(如果支持 GPU 加速)。具体步骤如下: - 将训练好的 PyTorch 模型导出为 ONNX 格式的中间文件; - 利用工具链进一步将 ONNX 文件转化为目标框架可加载的形式,比如通过 PNNX 工具把 ONNX 转换成 NCNN 的 .param/.bin 文件; #### 3. **量化处理** 针对 ARM 架构下的低功耗处理器特性,建议实施混合精度量化方案,即部分层保留 FP16 表达其余则转成 INT8 来执行推断过程。这不仅有助于节省内存占用还能提升运算速度而不显著牺牲音质效果。 #### 4. **环境搭建与依赖管理** 确保树莓派已安装必要的库和支持软件包以便顺利加载经过上述改造后的轻量版本VITS程序代码及其关联的数据集素材等内容物。同时注意调整线程数量配置参数使之匹配单板计算机的实际多核利用率情况最佳化整体表现水平。 ```bash sudo apt-get update && sudo apt-get install -y libncnn-dev cmake git python3-pip pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu git clone https://github.com/Tencent/ncnn.git cd ncnn/tools/pnnx/ make clean all test ``` #### 5. **测试验证环节** 最后一步便是编写简单的应用程序脚本来调用前述准备完毕之后的新版VITS引擎实例,并选取若干样本输入加以试验确认预期功能正常运作无误即可投入正式应用场景当中去啦! --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值