哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

應(yīng)用TFLm引擎進(jìn)行模型文件導(dǎo)入

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-07-28 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

書(shū)接上文(點(diǎn)此查看前文),我們橫向比較了在應(yīng)用TFLm引擎進(jìn)行模型文件導(dǎo)入時(shí)候,所使用的三種常用方式:

SD卡存儲(chǔ)結(jié)合文件系統(tǒng),

xxd小工具進(jìn)行文件的十六進(jìn)制轉(zhuǎn)換

以及使用匯編指令.incbin直接進(jìn)行模型導(dǎo)入。

可以說(shuō)各有所長(zhǎng),但是,當(dāng)我們需要頻繁地進(jìn)行模型的替換、更新時(shí),麻煩就出現(xiàn)了。xxd和.incbin的形式都需要重新編譯目標(biāo)工程,并下載到板子中。 當(dāng)我們的程序體量較大時(shí),即便不需要對(duì)全部工程進(jìn)行編譯(做到改啥編啥),但是,下載這一步,是無(wú)論如何不能跳過(guò)的,隨著最終鏡像大小的不同,所消耗的時(shí)間也會(huì)不同。而使用文件系統(tǒng)的方式,無(wú)形中增加了移植文件系統(tǒng)的工作量。

設(shè)計(jì)思路

為了克服這一問(wèn)題,小編在上一篇的結(jié)尾提出了一個(gè)新的方案,直接把flash看作一大塊空白存儲(chǔ)區(qū),并開(kāi)辟一個(gè)固定區(qū)域存放模型文件。這樣一來(lái),我們只需要在程序中將模型的讀取位置固定,無(wú)論模型是否更新,都能夠讀取最新的模型數(shù)據(jù),進(jìn)行后續(xù)處理。 而且小編也特意強(qiáng)調(diào)建議大家直接使用Nor Flash來(lái)實(shí)現(xiàn)這一操作。 以i.MX RT系列MCU為例說(shuō)明這樣做的優(yōu)勢(shì)。i.MX RT系列由于沒(méi)有片上Flash芯片,都通過(guò)外擴(kuò)Flash芯片存儲(chǔ)代碼。當(dāng)我們將啟動(dòng)方式調(diào)整為XIP,即從flash啟動(dòng)時(shí),芯片內(nèi)部的BootROM會(huì)幫我們配置初始化好這個(gè)片上的Flash芯片,而由于Nor Flash的特性,支持隨機(jī)的內(nèi)存訪(fǎng)問(wèn),也就是說(shuō),我們?cè)诔绦騼?nèi)部,可以直接通過(guò)指針的形式進(jìn)行訪(fǎng)問(wèn),甚至可以直接調(diào)用memcpy函數(shù)進(jìn)行數(shù)據(jù)的拷貝。 比起集成文件系統(tǒng)的方式,可以說(shuō)方便至極。不過(guò),也不是說(shuō)Nand Flash就不適合,只是處理起來(lái)會(huì)稍稍麻煩一點(diǎn),由于不支持隨機(jī)的讀操作,就要先拷貝到RAM區(qū)域再進(jìn)行操作。

設(shè)計(jì)實(shí)現(xiàn)

言歸正傳,為了方便進(jìn)行數(shù)據(jù)的管理,我們需要設(shè)計(jì)一套簡(jiǎn)單的管理邏輯,說(shuō)的專(zhuān)業(yè)一點(diǎn)就是為我們的數(shù)據(jù)添加一個(gè)幀頭,當(dāng)然,既然大道至簡(jiǎn),數(shù)據(jù)打包格式大致就是如下格式(可能有些簡(jiǎn)陋啊,大家見(jiàn)諒):

3fdb6114-0e0e-11ed-ba43-dac502259ad0.png

當(dāng)然為了能夠在程序中使用,我們?cè)俣x一個(gè)對(duì)應(yīng)的C語(yǔ)言形式來(lái)表達(dá),這里要用到C語(yǔ)言中0長(zhǎng)度數(shù)組的概念:

struct {
uint32_t n, w, h , c;
uint8_t data[0];
}

這樣一來(lái),我們就具象化了我們所設(shè)計(jì)的那個(gè)簡(jiǎn)單的數(shù)據(jù)打包協(xié)議。

下一步是如何將數(shù)據(jù)打包成我們要的樣子,這里要借助于Python來(lái)編寫(xiě)一個(gè)簡(jiǎn)單的腳本處理,并假設(shè)最終會(huì)生成一個(gè)二進(jìn)制文件,假設(shè)輸入一個(gè)多維數(shù)組results,首先構(gòu)建其幀頭,默認(rèn)維度不足4的數(shù)據(jù),用1補(bǔ)齊,保證最終的幀頭包含4個(gè)維度信息:

def save_to_bin(bin_name, results):
    shape = list(results[0].shape)
    element_size = [1] * (3 - len(shape)) + shape
    element_len = len(results)
    # shape is [N, H, W, C]
    bin_values = np.asarray([element_len] + element_size, dtype=np.uint32).tobytes()
    bin_values += results.tobytes()
    with open(bin_name, "wb") as f:
        f.write(bin_values)
        f.close()

聊到這兒,可能有同學(xué)會(huì)問(wèn)了,針對(duì)于tflite模型,我們往往只需要知道其首地址就好了,TFLm會(huì)處理那些長(zhǎng)度信息,我還有必要構(gòu)造幀頭嗎?這下給小編問(wèn)的有點(diǎn)啞口無(wú)言。馬上著手設(shè)計(jì)了第二種數(shù)據(jù)結(jié)構(gòu):

3fe7dcbe-0e0e-11ed-ba43-dac502259ad0.png

是的,針對(duì)于模型數(shù)據(jù)這一特殊的存在,可以設(shè)計(jì)出更加精簡(jiǎn)的表達(dá)格式,而且,我們知道tflite模型本身實(shí)際上已經(jīng)是二進(jìn)制文件的形式了,也就是說(shuō),可以直接拿過(guò)來(lái)使用,無(wú)需再做任何操作,直接燒寫(xiě)到固定地址即可。

那我們上面所設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)就毫無(wú)用武之地了嗎?當(dāng)然不是!小編做這些當(dāng)然都是有理由的啊。

大家想一想,運(yùn)行神經(jīng)網(wǎng)絡(luò)模型的時(shí)候,光有模型就可以了嗎?當(dāng)然不,我們還缺少輸入啊!如果你是攝像頭輸入,請(qǐng)?zhí)^(guò)這節(jié)。而如果是離線(xiàn)測(cè)試呢?需要大量加載靜態(tài)圖到內(nèi)存中,是不是和之前我們的分析就類(lèi)似了。

每次更換測(cè)試數(shù)據(jù),依舊需要重新下載鏈接,那么按照本文提供的方案,也為數(shù)據(jù)設(shè)置一塊固定的區(qū)域,然后借助于上述save_to_bin代碼,將數(shù)據(jù)打包成固定格式,是不是就可以在程序中利用那個(gè)結(jié)構(gòu)體訪(fǎng)問(wèn)了呢?沒(méi)錯(cuò)!小編早就設(shè)計(jì)好了。

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

    關(guān)注

    463

    文章

    54379

    瀏覽量

    469029
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    19110

    瀏覽量

    403279
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    696

    瀏覽量

    35273

原文標(biāo)題:一種基于MCU的神經(jīng)網(wǎng)絡(luò)模型在線(xiàn)更新方案之?dāng)?shù)據(jù)處理篇

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于圖撲 HT 引擎:數(shù)字孿生民航飛聯(lián)網(wǎng)方案

    圖撲基于 HTML5 自主研發(fā) 2D、3D 圖形渲染引擎,依托 WebGL、Canvas 技術(shù)棧打造純前端可視化插件 HT for Web。該插件支持輕量化三維模型導(dǎo)入加載,可完成界面渲染、組件聯(lián)動(dòng)
    的頭像 發(fā)表于 02-05 14:26 ?279次閱讀
    基于圖撲 HT <b class='flag-5'>引擎</b>:數(shù)字孿生民航飛聯(lián)網(wǎng)方案

    如何將Primus生成的波形文件導(dǎo)入MATLAB

    VCD 文件及其查看器,如 GTKWave,擅長(zhǎng)記錄和展示波形,而 MATLAB 擅長(zhǎng)對(duì)復(fù)雜數(shù)據(jù)進(jìn)行計(jì)算、分析和可視化。在項(xiàng)目設(shè)計(jì)開(kāi)發(fā)階段,有時(shí)候,我們需要將 EDA 工具生成的波形數(shù)據(jù),導(dǎo)入到 MATLAB 中
    的頭像 發(fā)表于 12-23 14:22 ?1077次閱讀

    Air8000工業(yè)引擎WiFi AP文件管理功能操作指南

    本文檔為用戶(hù)詳細(xì)說(shuō)明了Air8000工業(yè)引擎WiFi AP文件管理功能的具體操作流程。只需簡(jiǎn)單設(shè)置和應(yīng)用,即可將設(shè)備變?yōu)楸憬莸?b class='flag-5'>文件服務(wù)器,支持文件遠(yuǎn)程訪(fǎng)問(wèn)和下載,助力工業(yè)環(huán)境的數(shù)據(jù)高效
    的頭像 發(fā)表于 10-29 15:23 ?392次閱讀
    Air8000工業(yè)<b class='flag-5'>引擎</b>WiFi AP<b class='flag-5'>文件</b>管理功能操作指南

    如何在vivadoHLS中使用.TLite模型

    本帖欲分享如何在vivadoHLS中使用.TLite模型。在Vivado HLS中導(dǎo)入模型后,需要設(shè)置其輸入和輸出接口以與您的設(shè)計(jì)進(jìn)行適配。 1. 在Vivado HLS項(xiàng)目中
    發(fā)表于 10-22 06:29

    新一代超大模型訓(xùn)練引擎XTuner V1開(kāi)源

    9月8日,上海人工智能實(shí)驗(yàn)室(上海AI實(shí)驗(yàn)室)開(kāi)源書(shū)生大模型新一代訓(xùn)練引擎XTuner V1。
    的頭像 發(fā)表于 09-10 10:55 ?1316次閱讀

    如何進(jìn)行YOLO模型轉(zhuǎn)換?

    (compile_options)import_options = nncase.ImportOptions()# 導(dǎo)入ONNX模型compiler.import_onnx
    發(fā)表于 08-14 06:03

    AIcube1.4目標(biāo)檢測(cè)模型導(dǎo)入yolotxt格式數(shù)據(jù)集后一直顯示數(shù)據(jù)正在解析,為什么?

    AIcube1.4目標(biāo)檢測(cè)模型導(dǎo)入yolotxt格式數(shù)據(jù)集后一直顯示數(shù)據(jù)正在解析 數(shù)據(jù)有問(wèn)題,把數(shù)據(jù)情況說(shuō)的詳細(xì)點(diǎn)
    發(fā)表于 08-13 07:16

    積算科技上線(xiàn)赤兔推理引擎服務(wù),創(chuàng)新解鎖FP8大模型算力

    模型輕量化部署方案。用戶(hù)通過(guò)遠(yuǎn)程算力平臺(tái)預(yù)置的模型鏡像與AI工具,僅需50%的GPU算力即可解鎖大模型推理、企業(yè)知識(shí)庫(kù)搭建、智能體開(kāi)發(fā),加速大模型在智能問(wèn)答、報(bào)告生成、客服助手、智能
    的頭像 發(fā)表于 07-30 21:44 ?1029次閱讀

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

    就支持 Altium 文件導(dǎo)入,且直接支持二進(jìn)制 *.schdoc, *.pcbdoc 的導(dǎo)入。后續(xù)版本也支持了 Altium ascii 格式的導(dǎo)入。但美中不足的不是,需要分開(kāi)
    的頭像 發(fā)表于 07-21 11:15 ?3592次閱讀
    KiCad 已支持<b class='flag-5'>導(dǎo)入</b> Altium 工程(Project)

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

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

    信而泰×DeepSeek:AI推理引擎驅(qū)動(dòng)網(wǎng)絡(luò)智能診斷邁向 “自愈”時(shí)代

    DeepSeek-R1:強(qiáng)大的AI推理引擎底座DeepSeek是由杭州深度求索人工智能基礎(chǔ)技術(shù)研究有限公司開(kāi)發(fā)的新一代AI大模型。其核心優(yōu)勢(shì)在于強(qiáng)大的推理引擎能力,融合了自然語(yǔ)言處理(NLP)、深度
    發(fā)表于 07-16 15:29

    瑞芯微模型量化文件構(gòu)建

    模型是一張圖片輸入時(shí),量化文件如上圖所示。但是我現(xiàn)在想量化deepprivacy人臉匿名模型,他的輸入是四個(gè)輸入。該模型訓(xùn)練時(shí)數(shù)據(jù)集只標(biāo)注了人臉框和關(guān)鍵點(diǎn),該
    發(fā)表于 06-13 09:07

    FA模型卡片和Stage模型卡片切換

    卡片切換 卡片切換主要包含如下三部分: 卡片頁(yè)面布局:FA模型卡片和Stage模型卡片的布局都采用類(lèi)web范式開(kāi)發(fā)可以直接復(fù)用。 卡片配置文件:FA模型的卡片配置在config.j
    發(fā)表于 06-06 08:10

    VirtualLab Fusion應(yīng)用:振幅型SLM圖片的導(dǎo)入

    導(dǎo)入完成后,搭建光路模型,選擇Stored Function元件作為SLM,雙擊打開(kāi)Stored Function元件,將透過(guò)率函數(shù)文件加載到元件中: 9.運(yùn)行場(chǎng)追跡查看調(diào)制結(jié)果如下:
    發(fā)表于 06-03 08:49

    KaihongOS操作系統(tǒng)FA模型與Stage模型介紹

    的運(yùn)行環(huán)境。FA模型的開(kāi)發(fā)方式為通過(guò)導(dǎo)出匿名對(duì)象、固定入口文件的方式指定應(yīng)用組件。開(kāi)發(fā)者無(wú)法進(jìn)行派生,不利于擴(kuò)展能力。 Stage模型 Stage
    發(fā)表于 04-24 07:27
    曲松县| 喀什市| 南通市| 凯里市| 澄迈县| 沂源县| 西丰县| 迁西县| 宾川县| 荆门市| 扬州市| 苗栗市| 湖南省| 金山区| 敦煌市| 新邵县| 承德市| 八宿县| 蒙城县| 石河子市| 桂阳县| 高平市| 合川市| 铁岭县| 县级市| 东乡县| 久治县| 林口县| 乐山市| 右玉县| 沈丘县| 普定县| 山阴县| 旌德县| 广东省| 延长县| 红桥区| 汤原县| 荥阳市| 中山市| 凯里市|