如何在RK3576开发板上运行TinyMaix :超轻量级推理框架--基于米尔MYD-LR3576开发板
扫描二维码
随时随地手机看文章
本文将介绍基于米尔电子MYD-LR3576开发平台部署超轻量级推理框架方案:
TinyMaix摘自优秀创作者-短笛君
TinyMaix 是面向单片机的超轻量级的神经网络推理库,即 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大核改成了A72GPU也由原来的G610 MC4减为了G52MC3NPU功能保持变不变,均为6Tops视频编解码也略有缩减其余各接口也砍掉了一部分主打极致性价比方案
说回正题,要运行TinaMaix 只需要简单几个步骤即可运行。首先确保系统安装了cmake gcc make工具:
克隆存储库[GitHub - sipeed/TinyMaix: TinyMaix is a tiny inference library for microcontrollers (TinyML).]
运行mnist手写数字识别任务
cd examples/mnistmkdir buildcd build cmake ..make./mnist
整个流程跑完仅仅需要0.14ms
可以看到soc平台强大的算力
mbnet是适用于移动手机设备的简单图像分类模型,不过对单片机来说也稍微困难了些。例程里的模型是 mobilenet v1 0.25,输入 128x128x3 的RGB图像,输出1000 分类的预测。它需要至少 128KB SRAM 和 512KB Flash。
mkdir buildcd buildcmake ..make./mbnet
运行1000分类,耗费资源如下:param “481,9 KB,0PS13,58 M0PS, buffer 96 0 KB
vww测试,主要是将图片信息转化为数组格式提供给网络输入。
手写数字识别的例程也是十分简单,只需要:
库文件已经是高度封装且兼容,所以很轻松地就可以在linux以及其它平台上移植,在RK3576这种高性能soc的加持下,可以发挥出更大的优势。