http://m.sharifulalam.com 2025-07-25 11:45 來(lái)源:米爾電子
本文將介紹基于米爾電子MYD-LR3576開(kāi)發(fā)平臺(tái)部署超輕量級(jí)推理框架方案:TinyMaix
摘自優(yōu)秀創(chuàng)作者-短笛君
TinyMaix 是面向單片機(jī)的超輕量級(jí)的神經(jīng)網(wǎng)絡(luò)推理庫(kù),即 TinyML 推理庫(kù),可以讓你在任意低資源MCU上運(yùn)行輕量級(jí)深度學(xué)習(xí)模型。
關(guān)鍵特性
核心代碼少于 400行
(tm_layers.c+tm_model.c+arch_cpu.h),
代碼段(.text)少于3KB
低內(nèi)存消耗
支持 INT8/FP32/FP16 模型,實(shí)驗(yàn)性地支持 FP8 模型,支持 keras h5 或 tflite 模型轉(zhuǎn)換
支持多種芯片架構(gòu)的專用指令優(yōu)化: ARM SIMD/NEON/MVEI,RV32P, RV64V
友好的用戶接口,只需要 load/run 模型
支持全靜態(tài)的內(nèi)存配置(無(wú)需 malloc )
同樣地也可以部署到MPU平臺(tái)上
RK3576平臺(tái)相較于RK3588其主要縮減了四個(gè)A76大核改成了A72
GPU也由原來(lái)的G610 MC4減為了G52MC3
NPU功能保持變不變,均為6Tops
視頻編解碼也略有縮減
其余各接口也砍掉了一部分
主打極致性價(jià)比方案
說(shuō)回正題,要運(yùn)行TinaMaix 只需要簡(jiǎn)單幾個(gè)步驟即可運(yùn)行。
首先確保系統(tǒng)安裝了cmake gcc make工具:
克隆存儲(chǔ)庫(kù)[GitHub - sipeed/TinyMaix: TinyMaix is a tiny inference library for microcontrollers (TinyML).]
運(yùn)行mnist手寫(xiě)數(shù)字識(shí)別任務(wù)
cd examples/mnistmkdir buildcd build cmake ..make./mnist
整個(gè)流程跑完僅僅需要0.14ms
可以看到soc平臺(tái)強(qiáng)大的算力
mbnet
是適用于移動(dòng)手機(jī)設(shè)備的簡(jiǎn)單圖像分類模型,不過(guò)對(duì)單片機(jī)來(lái)說(shuō)也稍微困難了些。
例程里的模型是 mobilenet v1 0.25,輸入 128x128x3 的RGB圖像,輸出1000 分類的預(yù)測(cè)。
它需要至少 128KB SRAM 和 512KB Flash。
mkdir buildcd buildcmake ..make./mbnet
運(yùn)行1000分類,耗費(fèi)資源如下:
param “481,9 KB,0PS13,58 M0PS, buffer 96 0 KB
vww測(cè)試,主要是將圖片信息轉(zhuǎn)化為數(shù)組格式提供給網(wǎng)絡(luò)輸入。
手寫(xiě)數(shù)字識(shí)別的例程也是十分簡(jiǎn)單,只需要:
庫(kù)文件已經(jīng)是高度封裝且兼容,所以很輕松地就可以在linux以及其它平臺(tái)上移植,在RK3576這種高性能soc的加持下,可以發(fā)揮出更大的優(yōu)勢(shì)。