http://www.sharifulalam.com 2025-07-25 11:45 來源:米爾電子
本文將介紹基于米爾電子MYD-LR3576開發(fā)平臺部署超輕量級推理框架方案:TinyMaix
摘自優(yōu)秀創(chuàng)作者-短笛君
TinyMaix 是面向單片機的超輕量級的神經(jīng)網(wǎng)絡推理庫,即 TinyML 推理庫,可以讓你在任意低資源MCU上運行輕量級深度學習模型。
關鍵特性
核心代碼少于 400行
(tm_layers.c+tm_model.c+arch_cpu.h),
代碼段(.text)少于3KB
低內存消耗
支持 INT8/FP32/FP16 模型,實驗性地支持 FP8 模型,支持 keras h5 或 tflite 模型轉換
支持多種芯片架構的專用指令優(yōu)化: ARM SIMD/NEON/MVEI,RV32P, RV64V
友好的用戶接口,只需要 load/run 模型
支持全靜態(tài)的內存配置(無需 malloc )
同樣地也可以部署到MPU平臺上
RK3576平臺相較于RK3588其主要縮減了四個A76大核改成了A72
GPU也由原來的G610 MC4減為了G52MC3
NPU功能保持變不變,均為6Tops
視頻編解碼也略有縮減
其余各接口也砍掉了一部分
主打極致性價比方案
說回正題,要運行TinaMaix 只需要簡單幾個步驟即可運行。
首先確保系統(tǒng)安裝了cmake gcc make工具:
克隆存儲庫[GitHub - sipeed/TinyMaix: TinyMaix is a tiny inference library for microcontrollers (TinyML).]
運行mnist手寫數(shù)字識別任務
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測試,主要是將圖片信息轉化為數(shù)組格式提供給網(wǎng)絡輸入。
手寫數(shù)字識別的例程也是十分簡單,只需要:
庫文件已經(jīng)是高度封裝且兼容,所以很輕松地就可以在linux以及其它平臺上移植,在RK3576這種高性能soc的加持下,可以發(fā)揮出更大的優(yōu)勢。