我們在進(jìn)行CNN模型推理的時(shí)候,需要預(yù)先從DDR或者ROM中加載AI模型。大家平時(shí)一般用的是create from file的形式,為了保護(hù)自己的模型IP,一般會(huì)在模型上面做一些混淆。下面我們介紹另外一種方式,create from buffer。在編譯算法sdk的階段,可以將AI模型作為機(jī)器碼編譯進(jìn)so中,算法加載的時(shí)候從棧內(nèi)存進(jìn)行加載就可以。這樣模型的參數(shù)和定義就不會(huì)暴露在用戶層面,目前MNN、NCNN和RKNN等都提供了create from buffer的類似接口,非常方便用戶們進(jìn)行使用。
使用的方式也非常的簡單,分如下三步進(jìn)行操作:(1)生成十六進(jìn)制模型文件 (2)制作頭文件和cpp文件 (3)采用create from buffer進(jìn)行模型加載
一、生成十六進(jìn)制模型文件
可以采用linux提供的xdd工具進(jìn)行十六進(jìn)制模型文件的生成。假設(shè)你有編譯好的mnn模型或者rknn模型,只要執(zhí)行如下操作就可以生成十六進(jìn)制的模型文件:
xxd -i face\_det.mnn face\_det.cpp
二、制作頭文件和cpp文件
cpp文件由xdd工具生成,文件形式如下(文件太大,只截取頭尾兩部分):
三、采用create from buffer接口實(shí)現(xiàn)模型加載
我們采用MNN的接口為例,核心代碼塊如下:
這樣成功進(jìn)行編譯后,就可以將AI模型固化到算法sdk的so庫當(dāng)中了。
責(zé)任編輯人:CC
-
AI
+關(guān)注
關(guān)注
87文章
31513瀏覽量
270333 -
buffer
+關(guān)注
關(guān)注
2文章
120瀏覽量
30130
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
防止AI大模型被黑客病毒入侵控制(原創(chuàng))聆思大模型AI開發(fā)套件評(píng)測4
![](https://file1.elecfans.com/web2/M00/BA/5D/wKgZomWTtniAVT9oAAmGs-W8Ecc058.png)
![](https://file1.elecfans.com/web2/M00/BB/24/wKgaomWTvjKAfPpDAAWrpACxLMQ967.png)
怎樣使用PyTorch Hub去加載YOLOv5模型
X-CUBE-AI 7.1.0生成代碼初始化錯(cuò)誤如何解決呢?
為什么無法加載keras模型?
HarmonyOS:使用MindSpore Lite引擎進(jìn)行模型推理
OpenHarmony分論壇-圖庫應(yīng)用數(shù)據(jù)加載顯示模型
![OpenHarmony分論壇-圖庫應(yīng)用數(shù)據(jù)<b class='flag-5'>加載</b>顯示<b class='flag-5'>模型</b>](https://file.elecfans.com/web2/M00/19/28/pYYBAGFzoNWAAlzYAAYth70ZNZI708.png)
從Buffer加載AI模型
![從<b class='flag-5'>Buffer</b><b class='flag-5'>加載</b><b class='flag-5'>AI</b><b class='flag-5'>模型</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
華為發(fā)布大模型時(shí)代AI存儲(chǔ)新品
![華為發(fā)布大<b class='flag-5'>模型</b>時(shí)代<b class='flag-5'>AI</b>存儲(chǔ)新品](https://file1.elecfans.com/web2/M00/8E/60/wKgaomTE1jSAESiQAAATiIvayDQ317.jpg)
盤古ai大模型怎么使用
AI大模型對(duì)數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展趨勢
![<b class='flag-5'>AI</b>大<b class='flag-5'>模型</b>對(duì)數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展趨勢](https://file1.elecfans.com/web2/M00/AB/8E/wKgZomU16HyAGODLAAAUzl5A_ec614.png)
評(píng)論