如何部署超轻量级推理框架TinyMaix--基于米尔瑞芯微RK3576开发板
本文将介绍基于米尔电子MYD-LR3576开发平台部署超轻量级推理框架方案:TinyMaix摘自优秀创作者-短笛君https://srcc.myir.cn/images/20241213/d0c69eebf380d2dfd8f16f7dd12c4636.jpg?v=897043TinyMaix 是面向单片机的超轻量级的神经网络推理库,即 TinyML 推理库,可以让你在任意低资源MCU上运行轻量级深度学习模型。关键特性核心代码少于 400行(tm_layers.c+tm_model.c+arch_cpu.h), 代码段(.text)少于3KB
低内存消耗
支持 INT8/FP32/FP16 模型,实验性地支持 FP8 模型,支持 keras h5 或 tflite 模型转换
支持多种芯片架构的专用指令优化: ARM SIMD/NEON/MVEI,RV32P, RV64V
友好的用户接口,只需要 load/run 模型
支持全静态的内存配置(无需 malloc )同样地也可以部署到MPU平台上RK3576平台相较于RK3588其主要缩减了四个A76大核改成了A72
GPU也由原来的G610 MC4减为了G52MC3
NPU功能保持变不变,均为6Tops
视频编解码也略有缩减
其余各接口也砍掉了一部分
主打极致性价比方案说回正题,要运行TinaMaix 只需要简单几个步骤即可运行。
首先确保系统安装了cmake gcc make工具:克隆存储库[GitHub - sipeed/TinyMaix: TinyMaix is a tiny inference library for microcontrollers (TinyML).]运行mnist手写数字识别任务cd examples/mnist
mkdir build
cd build
cmake ..
make
./mnist
https://srcc.myir.cn/images/20250725/95d79611d8717873773f27bd693bfa13.png?v=272055https://srcc.myir.cn/images/20250725/625979aa9d6a406de11bf888e14fb90d.png?v=785529
整个流程跑完仅仅需要0.14ms可以看到soc平台强大的算力mbnet
是适用于移动手机设备的简单图像分类模型,不过对单片机来说也稍微困难了些。
例程里的模型是 mobilenet v1 0.25,输入 128x128x3 的RGB图像,输出1000 分类的预测。
它需要至少 128KB SRAM 和 512KB Flash。mkdir build
cd build
cmake ..
make
./mbnet
https://srcc.myir.cn/images/20250725/d0b6b869027440f0c9386002cdbaaa3e.png?v=847357https://srcc.myir.cn/images/20250725/bbf47677030f230e1e62016aae5ba085.png?v=853097
运行1000分类,耗费资源如下:
param “481,9 KB,0PS13,58 M0PS, buffer 96 0 KBhttps://srcc.myir.cn/images/20250725/2f4fdcee0adc23307973b6fa4c75dfec.png?v=818882
vww测试,主要是将图片信息转化为数组格式提供给网络输入。https://srcc.myir.cn/images/20250725/3e99c053e5adba9b11c9aa0a9bb490b8.png?v=815583
手写数字识别的例程也是十分简单,只需要:https://srcc.myir.cn/images/20250725/657acf8698ccebe2c7504534d005b76a.png?v=596041https://srcc.myir.cn/images/20250725/d34acdba3d50995eba57f28291a201e4.png?v=495426https://srcc.myir.cn/images/20250725/31c318fd321373a462dd218bba904d58.png?v=372482
库文件已经是高度封装且兼容,所以很轻松地就可以在linux以及其它平台上移植,在RK3576这种高性能soc的加持下,可以发挥出更大的优势。
页:
[1]