日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AI模型如何將它導(dǎo)入工程里

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-07-14 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

相信不少在MCU平臺使用TensorflowLite Micro(Tensorflow Lite Micro專為嵌入式平臺推出的專用版TFlite),以下簡稱TFLm,推理引擎體驗過AI的小伙伴們,一定都遇到過這樣的情況:當我們歷經(jīng)千辛萬苦訓(xùn)練出來一個模型之后,要如何將它導(dǎo)入工程里呢?

各抒己見

這時候有同學(xué)會說了:我有文件系統(tǒng)啊,模型放到sd卡中,文件操作讀進來分分鐘?。∵€有的同學(xué)會說了:我有xxd,當然,xxd也是TFLM的御用工具,負責(zé)將一個文件以十六進制的形式顯示出來,使用過這個推理引擎的同學(xué)一定對下面這段注釋很是熟悉:

// xxd -i mobilenet_v1_0.25_128_quant.tflite > mobilenet_v1_0.25_128_quant_model.h

這之后,我們的模型就會被轉(zhuǎn)化成類似于下面這個樣子,不要懷疑,這就是我們的模型真正的樣子,并非眉清目秀,在程序中就可以通過mobilenet_model這個指針來訪問模型數(shù)據(jù):

const char mobilenet_model[] __ALIGNED(16) = {
  0x18, 0x00, 0x00, 0x00, 0x54, 0x46, 0x4c, 0x33, 0x00, 0x00, 0x0e, 0x00,
  0x18, 0x00, 0x04, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x14, 0x00,
  0x0e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x78, 0x5b, 0x07, 0x00,
  0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
  。。。。
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  0x97, 0x26, 0x08, 0x39
};
unsigned int mobilenet_model_len = 496912;
這時候,又有同學(xué)說了,你們這些方法都太弱了:你們有SD卡,有文件系統(tǒng),有xxd!這些我統(tǒng)統(tǒng)不需要,不用額外安裝工具,不用文件系統(tǒng)擴展,不用看著我這空蕩蕩的錢包,還要祭出小錢錢去買張SD卡。

嗯,我只需要編譯器+裸板即可!要的就是簡潔(也想高調(diào),可是小錢錢不允許?。?。

不賣關(guān)子了,我們有.incbin。這個小東西是一個匯編指令,用來包含某一個文件到匯編文件中,文件的內(nèi)容將會按字節(jié)逐一添加到當前elf(鏡像文件)節(jié)中。不會做任何方式的解釋,保證數(shù)據(jù)的完整和一致性。即原封不動的添加進來,不過要注意,以下代碼要保存在以.s尾綴的匯編文件中:

.global mobilenet_model   // 導(dǎo)出全局符號
.global mobilenet_model _end
.section .rodata   // 存儲位置

. mobilenet_model :
   .incbin “mobilenet_v1_0.25_128_quant.tflite”
. mobilenet_model_end :

這樣一來,同樣可以使用mobilenet_model這個模型指針來進行模型的訪問。

很難說,上面三位同學(xué)的方法哪一種更好一點,可能第三位同學(xué)提出的方法,是對于外部依賴最少的,只需要利用編譯器對于匯編指令的支持即可。既不需要費力的移植文件系統(tǒng),也不用花費小錢錢購買SD卡,也不用求求xxd工具幫我們做事。

當然,小編在這里也站一下隊,明確一下立場!我投.incbin一票,當然了,這個也是小編一直在用的方式。更換模型,只需要修改一下導(dǎo)入路徑即可,可以說香的不行了!

新的挑戰(zhàn)

不好,,,好像有點跑題變成夸夸群了,回到主題。

小伙伴既然已經(jīng)回答了小編提出的問題:導(dǎo)入模型的N種方法,小編就再追問大家一個問題:如果頻繁更新模型要怎么辦呢?

當然,使用文件系統(tǒng)的小伙伴可能這時候會心一笑了:哈哈,我就知道有這么一出,讓我猜到了吧,比靈活性,沒人能和我比!

的確,無論是使用.incbin還是xxd的方式,每更新一次模型都要對整個模型重新編譯下載。而使用文件系統(tǒng)的方式,只需要將模型拖到SD即可,不過根據(jù)程序設(shè)計,是否需要保證模型名字保持一致才能夠正確loading。。。這個就不是本篇要討論的了。

柳暗花明

相信看到這里的小伙伴們心里已經(jīng)有數(shù)了,小編一定是已經(jīng)找到了另一種替代方案,既能實現(xiàn)模型的更新,又不用重新對模型進行編譯。是的,小編也就不再賣關(guān)子了,這就揭開廬山真面目。

小編這里要提出的方法,有點類似于引入文件系統(tǒng)的概念,只不過,是一個手動管理的“丐版”文件系統(tǒng)。

一句話概括就是:在非易失性器件上,說普通話就是Nor Flash上開辟一塊固定的區(qū)域來存儲模型,之后我們只需要將最新的模型也同樣下載到這一區(qū)域即可,這樣一來,我們在主程序中,只需要維護這一區(qū)域,將其作為模型的數(shù)據(jù)起始地址,就可以達到實時更新模型的目的了。

是不是感覺小編的這個想法,思路是如此的清晰!而且,還免去了移植文件系統(tǒng)的繁瑣過程,最重要的是,保住了錢包里的小錢錢,不用買SD卡了。

這里特別強調(diào)是Nor Flash,作為可以隨機讀的器件,可以方便地進行隨機訪問,使用起來或者說在程序的編寫上會更加的便捷。當然,使用NAND flash也未曾不可,有興趣的伙伴可以自行整理。

留下懸念

當然,可能有小伙伴要質(zhì)疑:那你這個可以實現(xiàn)存儲多個模型嗎?小編很負責(zé)任地告訴大家,只要膽子大,宇宙都能給你裝下!只不過,在存放數(shù)據(jù)的時候,需要額外存儲一些幀頭信息,告知程序一共有多少組模型存儲其中。

小編將在下期為大家介紹如何設(shè)計合適的存儲結(jié)果以存放我們的flash數(shù)據(jù),并編寫一個PC端小程序,負責(zé)進行數(shù)據(jù)的轉(zhuǎn)換,敬請期待!

原文標題:一種基于MCU的神經(jīng)網(wǎng)絡(luò)模型靈活更新方案之先行篇

文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    91

    文章

    41326

    瀏覽量

    302703
  • 文件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    305

    瀏覽量

    21051
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3831

    瀏覽量

    52287

原文標題:一種基于MCU的神經(jīng)網(wǎng)絡(luò)模型靈活更新方案之先行篇

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    黑馬-Java+AI新版V16零基礎(chǔ)就業(yè)班百度云網(wǎng)盤下載+Java+AI全棧開發(fā)工程

    生態(tài)的傳統(tǒng)優(yōu)勢發(fā)揮 AI 應(yīng)用的性能瓶頸往往不在模型推理,而在上游的數(shù)據(jù)準備與特征工程。這正是 Java 生態(tài)的傳統(tǒng)強項。借助 Kafka、RabbitMQ 構(gòu)建實時特征管道,利用 Spark
    發(fā)表于 05-01 11:29

    [完結(jié)15章]Java轉(zhuǎn) AI高薪領(lǐng)域必備-從0到1打通生產(chǎn)級AI Agent開發(fā)

    拒絕原地踏步:Java工程AI轉(zhuǎn)型的底層技術(shù)破局之道 在軟件工程范式被大語言模型(LLM)徹底顛覆的今天,傳統(tǒng)的“Java CRUD boy”正面臨著前所未有的生存危機。當業(yè)務(wù)邏輯
    發(fā)表于 04-30 13:46

    AI模型微調(diào)企業(yè)項目實戰(zhàn)課

    自主可控大模型:企業(yè)微調(diào)實戰(zhàn)課,筑牢未來 AI 底座 在人工智能席卷全球商業(yè)版圖的今天,企業(yè)對大模型(LLM)的態(tài)度已經(jīng)從“新奇觀望”轉(zhuǎn)變?yōu)椤叭鎿肀А薄H欢?,隨著應(yīng)用層面的不斷深入,一個嚴峻
    發(fā)表于 04-16 18:48

    模型 ai coding 比較

    序 我主要用途是 ai coding,從各種渠道獲取到了很多 不同的大模型排序 最多的是 opus 4.6 > k2.5 > glm5 >
    發(fā)表于 02-19 13:43

    使用NORDIC AI的好處

    Connect SDK :提供統(tǒng)一的 C 運行時、DSP 庫和示例工程,方便在 Nordic SoC 上集成和運行模型。[Edge AI Add-on 文檔; Neuton 集成博客] 適用場景廣泛
    發(fā)表于 01-31 23:16

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)2026版

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)2026版 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 Fibo AI Stack模型轉(zhuǎn)化指南 27分19秒 http
    發(fā)表于 01-15 10:31

    AI模型的配置AI模型該怎么做?

    STM32可以跑AI,這個AI模型怎么搞,知識盲區(qū)
    發(fā)表于 10-14 07:14

    如何將GCC項目導(dǎo)入NuEclipse?

    如何將GCC項目導(dǎo)入NuEclipse?
    發(fā)表于 09-01 07:04

    AI Cube如何導(dǎo)入數(shù)據(jù)集?

    我從在線平臺標注完并且下載了數(shù)據(jù)集,也按照ai cube的要求修改了文件夾名稱,但是導(dǎo)入提示 不知道是什么原因,我該怎么辦? 以下是我修改后的文件夾目錄
    發(fā)表于 08-11 08:12

    新唐科技推出高效AI MCU部署工具NuML Toolkit

    隨著 AI 技術(shù)加速導(dǎo)入各類嵌入式系統(tǒng),如何將訓(xùn)練完成的 AI 模型順利部署至資源有限的微控制器成為工程
    的頭像 發(fā)表于 08-01 17:21 ?2506次閱讀

    ai_cube訓(xùn)練模型最后部署失敗是什么原因?

    ai_cube訓(xùn)練模型最后部署失敗是什么原因?文件保存路徑也沒有中文 查看AICube/AI_Cube.log,看看報什么錯?
    發(fā)表于 07-30 08:15

    KiCad 已支持導(dǎo)入 Altium 工程(Project)

    “ ?9.0.3 的小版本更新中增加一個非常實用的功能:直接導(dǎo)入 Altium 的工程,省去了分別導(dǎo)入原理圖和 PCB 的麻煩。? ” ? Altium 導(dǎo)入器 從 ?8.0 開始,K
    的頭像 發(fā)表于 07-21 11:15 ?3690次閱讀
    KiCad 已支持<b class='flag-5'>導(dǎo)入</b> Altium <b class='flag-5'>工程</b>(Project)

    cubemx導(dǎo)入模型后找不到keil找不到工程內(nèi)的模型的相關(guān)文件是怎么回事?

    模型在cubemx內(nèi)解析后沒有問題,但解析之后生成工程keil內(nèi)缺讀取不到生成的三個模型文件
    發(fā)表于 07-18 07:18

    如何將一個FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型

    模型切換概述 本文介紹如何將一個FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型,您需要完成如下動作: 工程切換:新建一個Stage
    發(fā)表于 06-04 06:22
    慈利县| 浮梁县| 慈利县| 黄陵县| 方城县| 澜沧| 日土县| 丹阳市| 古丈县| 石柱| 北京市| 紫阳县| 大竹县| 太仓市| 五大连池市| 靖江市| 左云县| 邛崃市| 简阳市| 平果县| 亳州市| 盐城市| 斗六市| 小金县| 舒城县| 金华市| 怀宁县| SHOW| 疏勒县| 贞丰县| 庄河市| 辽中县| 工布江达县| 积石山| 德化县| 新巴尔虎左旗| 农安县| 财经| 公主岭市| 云安县| 资源县|