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

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

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

如何訓(xùn)練一個(gè)有效的eIQ基本分類模型

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 2024-08-01 09:29 ? 次閱讀

一、概述

eIQ Neutron神經(jīng)處理單元(NPU)是一種高度可擴(kuò)展的加速器核心架構(gòu),提供ML加速。與傳統(tǒng)MCU Kinetis、LPC系列相比,MCX N系列首次集成了恩智浦 eIQ Neutron神經(jīng)處理單元(NPU),用于機(jī)器學(xué)習(xí)(ML)加速。相比單獨(dú)的CPU核,eIQ Neutron NPU能夠提供高達(dá)42倍的機(jī)器學(xué)習(xí)推理性能,MCX N94x每秒可以執(zhí)行4.8 G次運(yùn)算,使其能夠高效地運(yùn)行在 MCX CPU和eIQ Neutron NPU上。 eIQPortal它是一個(gè)直觀的圖形用戶界面(GUI),簡(jiǎn)化了ML開(kāi)發(fā)。開(kāi)發(fā)人員可以創(chuàng)建、優(yōu)化、調(diào)試和導(dǎo)出ML模型,以及導(dǎo)入數(shù)據(jù)集和模型,快速訓(xùn)練并部署神經(jīng)網(wǎng)絡(luò)模型和ML工作負(fù)載。

在本文中,我們將探討如何訓(xùn)練一個(gè)有效的eIQ基本分類模型,并將其成功部署到MCX N947設(shè)備上。

硬件環(huán)境:

開(kāi)發(fā)板FRDM-MCXN947

顯示屏3.5" TFT LCD(P/N PAR-LCD-S035)

攝像頭OV7670

軟件環(huán)境:

eIQ Portal:eIQ MLSoftware Development Environment | NXP Semiconductors

MCUXpressoIDE v11.9.0

Application Code Hub Demo: Label CIFAR10 image

二、基本模型分類訓(xùn)練及部署

主要內(nèi)容分為三步:模型訓(xùn)練、模型轉(zhuǎn)換和模型部署。

1.數(shù)據(jù)集準(zhǔn)備

數(shù)據(jù)集為簡(jiǎn)單演示apple、banana兩分類,訓(xùn)練集、測(cè)試集比例為8:2,根據(jù)eIQ_Toolkit_UG.pdf提到的3.3.2 Structured folders dataset:

18397ed4-399f-11ef-a4c8-92fbcf53809c.png

文件夾結(jié)構(gòu)如下:

196ddb88-399f-11ef-a4c8-92fbcf53809c.png

注:數(shù)據(jù)集需按照以上文件夾格式設(shè)置

2. 創(chuàng)建工程及數(shù)據(jù)集導(dǎo)入eIQ

(1) 打開(kāi)eIQ Portal工具,點(diǎn)擊create project->import dataset:

19977e52-399f-11ef-a4c8-92fbcf53809c.png

(2) 以StructuredFolders導(dǎo)入:

19afef0a-399f-11ef-a4c8-92fbcf53809c.png

(3) 點(diǎn)擊“IMPORT”后,選擇工程保存路徑,點(diǎn)擊“保存”:

19b4b0da-399f-11ef-a4c8-92fbcf53809c.png

3.選擇base models訓(xùn)練

(1)數(shù)據(jù)集導(dǎo)入后,點(diǎn)擊select model,選擇base models,修改input size為128,128,3:

(2)點(diǎn)擊start training。注:其他參數(shù)根據(jù)需要進(jìn)行設(shè)定即可,此處learning rate、batch size、epoch為默認(rèn)值,此處為演示,訓(xùn)練一輪,用戶可以根據(jù)需要訓(xùn)練模型達(dá)到應(yīng)用要求。訓(xùn)練完成如下:

19d9d0ea-399f-11ef-a4c8-92fbcf53809c.png

如果精度一直不達(dá)標(biāo),可以通過(guò)修改各訓(xùn)練參數(shù),或者更新訓(xùn)練數(shù)據(jù),再次點(diǎn)擊CONTINUE TRAINING繼續(xù)進(jìn)行訓(xùn)練。

4.模型評(píng)估VALIDATE

(1) 點(diǎn)擊VALIDATE,進(jìn)入模型評(píng)估,設(shè)置參數(shù)Softmax,input DataType和output Data Type,目前MCXN系列Neutron NPU只支持int8類型,選擇Softmax函數(shù)的閾值是一個(gè)需要綜合考慮多種因素的過(guò)程,應(yīng)該根據(jù)具體的應(yīng)用場(chǎng)景和性能目標(biāo)來(lái)決定最合適的閾值,在實(shí)際操作中,需要通過(guò)多次實(shí)驗(yàn)和調(diào)整來(lái)找到最佳的閾值:

19fdc5f4-399f-11ef-a4c8-92fbcf53809c.png

(2).設(shè)置完成后,點(diǎn)擊VALIDATE,等待生成混淆矩陣,通過(guò)混淆矩陣我們可以清晰看出不同類別的分類情況,圖中x軸是預(yù)測(cè)的標(biāo)簽,y軸是實(shí)際的標(biāo)簽,可以看到每一張圖片預(yù)測(cè)標(biāo)簽和實(shí)際標(biāo)簽的對(duì)應(yīng)情況:

1a1a56ec-399f-11ef-a4c8-92fbcf53809c.png

5.模型導(dǎo)出TensorFlow Lite

(1) 點(diǎn)擊DEPLOY,設(shè)置Export file Type,input Data Type和output Data Type,打開(kāi)Export Quantized Model,然后點(diǎn)擊Export Model:

1a2469d4-399f-11ef-a4c8-92fbcf53809c.png

(2).設(shè)置模型保存位置,點(diǎn)擊保存:

1a4a4ef6-399f-11ef-a4c8-92fbcf53809c.png

6.轉(zhuǎn)換TensorFlow Lite for Neutron (.tflite)

(1) 保存完成后,點(diǎn)擊open model,可以查看模型結(jié)構(gòu):

1a5b56b0-399f-11ef-a4c8-92fbcf53809c.png

(2) 點(diǎn)擊convert,選擇TensorFlow Lite for Neutron (.tflite):

1a8219b2-399f-11ef-a4c8-92fbcf53809c.png

(3) 選擇Neutron Target,點(diǎn)擊convert,設(shè)置保存路徑即可:

1a935628-399f-11ef-a4c8-92fbcf53809c.png

7.將模型部署到Label CIFAR10 image工程

此示例基于機(jī)器學(xué)習(xí)算法,由 MCXN947 提供支持, 它可以標(biāo)記來(lái)自相機(jī)的圖像,并在LCD底部顯示物體的類型。

該模型在數(shù)據(jù)集CIFAR10上進(jìn)行訓(xùn)練,它支持 10 類圖像:

“飛機(jī)”、“汽車”、“鳥(niǎo)”、“貓”、“鹿”、“狗”、“青蛙”、“馬”、“船”、“卡車”。

(1) 打開(kāi)MCUXpresso IDE,從Application Code Hub導(dǎo)入Label CIFAR10 image工程:

1ac5a6fa-399f-11ef-a4c8-92fbcf53809c.png

(2) 選擇工程,點(diǎn)擊GitHub Link->Next:

1ad30e44-399f-11ef-a4c8-92fbcf53809c.png

(3).設(shè)置保存路徑,Next->Next->Finish:

1ba11514-399f-11ef-a4c8-92fbcf53809c.png

(4).導(dǎo)入成功后,點(diǎn)擊“source”文件夾->model文件夾,打開(kāi)model_data.s,將最后通過(guò)eiq轉(zhuǎn)換的模型文件復(fù)制到model文件下,在model_data.s修改導(dǎo)入模型的名稱(轉(zhuǎn)換模型的名稱):

1cf1abb8-399f-11ef-a4c8-92fbcf53809c.png

注:工程中導(dǎo)入的模型是經(jīng)過(guò)多次訓(xùn)練得到的模型

(5) 點(diǎn)擊“source”文件夾->model文件夾->打開(kāi)labers.h文件,修改labers[ ],標(biāo)簽順序?yàn)閑IQ中數(shù)據(jù)集顯示的順序 :

1cfc4aa0-399f-11ef-a4c8-92fbcf53809c.png

wKgZomaq5a2AAjD6AAC4UvwxT7A999.jpg

(6) 編譯工程,下載到開(kāi)發(fā)板。

三、實(shí)驗(yàn)結(jié)果

1d5207f6-399f-11ef-a4c8-92fbcf53809c.png

四、總結(jié)

對(duì)于希望在MCX N系列邊緣設(shè)備上實(shí)現(xiàn)高效機(jī)器學(xué)習(xí)應(yīng)用的開(kāi)發(fā)人員來(lái)說(shuō),掌握這些技術(shù)和工具是至關(guān)重要的。

通過(guò)高效利用eIQ Neutron NPU的強(qiáng)大性能和eIQ Portal的便捷工具,開(kāi)發(fā)人員可以大大簡(jiǎn)化從模型訓(xùn)練到部署的整個(gè)過(guò)程。這不僅加速了機(jī)器學(xué)習(xí)應(yīng)用的開(kāi)發(fā)周期,還提升了應(yīng)用的性能和可靠性。

作者:王浩 楊聰哲

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎ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)注

    68

    文章

    19371

    瀏覽量

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

    關(guān)注

    146

    文章

    17194

    瀏覽量

    351864
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5869

    瀏覽量

    107870
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8428

    瀏覽量

    132827
  • NPU
    NPU
    +關(guān)注

    關(guān)注

    2

    文章

    286

    瀏覽量

    18669

原文標(biāo)題:MCX N947:eIQ基本分類模型訓(xùn)練及部署

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    pyhanlp文本分類與情感分析

    關(guān)系如下:訓(xùn)練訓(xùn)練指的是,利用給定訓(xùn)練集尋找個(gè)能描述這種語(yǔ)言現(xiàn)象的模型的過(guò)程。開(kāi)發(fā)者只需調(diào)用t
    發(fā)表于 02-20 15:37

    NLPIR平臺(tái)在文本分類方面的技術(shù)解析

    本分類問(wèn)題就是將篇文檔歸入預(yù)先定義的幾個(gè)類別中的個(gè)或幾個(gè),而文本的自動(dòng)分類則是使用計(jì)算機(jī)程序來(lái)實(shí)現(xiàn)這種文
    發(fā)表于 11-18 17:46

    EIQ onnx模型轉(zhuǎn)換為tf-lite失敗怎么解決?

    我們正在嘗試將 tflite 框架與 npu 起使用來(lái)進(jìn)行機(jī)器學(xué)習(xí)。這是我們的步驟:1)用pytorch訓(xùn)練個(gè)模型2) 以onnx格式導(dǎo)
    發(fā)表于 03-31 08:03

    如何使用eIQ門(mén)戶訓(xùn)練人臉檢測(cè)模型

    我正在嘗試使用 eIQ 門(mén)戶訓(xùn)練人臉檢測(cè)模型。我正在嘗試從 tensorflow 數(shù)據(jù)集 (tfds) 導(dǎo)入數(shù)據(jù)集,特別是 coco/2017 數(shù)據(jù)集。但是,我只想導(dǎo)入 wider_face。但是,當(dāng)我嘗試這樣做時(shí),會(huì)出現(xiàn)導(dǎo)入程
    發(fā)表于 04-06 08:45

    訓(xùn)練個(gè)機(jī)器學(xué)習(xí)模型,實(shí)現(xiàn)了根據(jù)基于文本分析預(yù)測(cè)葡萄酒質(zhì)量

    我們可以把上述的其他信息也引入作為特征參數(shù),這樣就能構(gòu)建出個(gè)更全面的模型來(lái)預(yù)測(cè)葡萄酒質(zhì)量。為了將文字描述與其他特征結(jié)合起來(lái)進(jìn)行預(yù)測(cè),我們可以創(chuàng)建
    的頭像 發(fā)表于 05-16 18:27 ?6181次閱讀

    結(jié)合BERT模型的中文文本分類算法

    層面的特征向量表示,并將獲得的特征冋量輸λ Softmax回歸模型進(jìn)行訓(xùn)練分類。實(shí)驗(yàn)結(jié)果表明,隨著搜狐新聞文本數(shù)據(jù)量的增加,該算法在測(cè)試集上的整體F1值最高達(dá)到93%,相比基于 Textcnn
    發(fā)表于 03-11 16:10 ?6次下載
    結(jié)合BERT<b class='flag-5'>模型</b>的中文文<b class='flag-5'>本分類</b>算法

    種基于BERT模型的社交電商文本分類算法

    種基于BERT模型的社交電商文本分類算法。首先,該算法采用BERT( Bidirectional Encoder Representations from Transformers)預(yù)訓(xùn)練語(yǔ)言
    發(fā)表于 04-13 15:14 ?8次下載
    <b class='flag-5'>一</b>種基于BERT<b class='flag-5'>模型</b>的社交電商文<b class='flag-5'>本分類</b>算法

    融合文本分類和摘要的多任務(wù)學(xué)習(xí)摘要模型

    文本摘要應(yīng)包含源文本中所有重要信息,傳統(tǒng)基于編碼器-解碼器架構(gòu)的摘要模型生成的摘要準(zhǔn)確性較低。根據(jù)文本分類和文本摘要的相關(guān)性,提出種多任務(wù)學(xué)習(xí)摘要模型。從文
    發(fā)表于 04-27 16:18 ?11次下載
    融合文<b class='flag-5'>本分類</b>和摘要的多任務(wù)學(xué)習(xí)摘要<b class='flag-5'>模型</b>

    基于不同神經(jīng)網(wǎng)絡(luò)的文本分類方法研究對(duì)比

    神經(jīng)網(wǎng)絡(luò)、時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)、結(jié)構(gòu)遞歸神經(jīng)網(wǎng)絡(luò)和預(yù)訓(xùn)練模型等主流方法在文本分類中應(yīng)用的發(fā)展歷程比較不同模型基于常用數(shù)據(jù)集的分類效果,表明利用人
    發(fā)表于 05-13 16:34 ?49次下載

    基于雙通道詞向量的卷積膠囊網(wǎng)絡(luò)文本分類算法

    的詞向量與基于特定文本分類任務(wù)擴(kuò)展的語(yǔ)境詞向量作為神經(jīng)網(wǎng)絡(luò)的2個(gè)輸入通道,并采用具有動(dòng)態(tài)路由機(jī)制的卷積膠囊網(wǎng)絡(luò)模型進(jìn)行文本分類。在多個(gè)英文數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,雙通道的詞向量
    發(fā)表于 05-24 15:07 ?6次下載

    基于LSTM的表示學(xué)習(xí)-文本分類模型

    的關(guān)鍵。為了獲得妤的文本表示,提高文本分類性能,構(gòu)建了基于LSTM的表示學(xué)習(xí)-文本分類模型,其中表示學(xué)習(xí)模型利用語(yǔ)言模型為文
    發(fā)表于 06-15 16:17 ?18次下載

    基于注意力機(jī)制的新聞文本分類模型

    基于注意力機(jī)制的新聞文本分類模型
    發(fā)表于 06-27 15:32 ?30次下載

    PyTorch教程4.3之基本分類模型

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程4.3之基本分類模型.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 15:43 ?0次下載
    PyTorch教程4.3之基<b class='flag-5'>本分類</b><b class='flag-5'>模型</b>

    NLP中的遷移學(xué)習(xí):利用預(yù)訓(xùn)練模型進(jìn)行文本分類

    遷移學(xué)習(xí)徹底改變了自然語(yǔ)言處理(NLP)領(lǐng)域,允許從業(yè)者利用預(yù)先訓(xùn)練模型來(lái)完成自己的任務(wù),從而大大減少了訓(xùn)練時(shí)間和計(jì)算資源。在本文中,我們將討論遷移學(xué)習(xí)的概念,探索些流行的預(yù)
    發(fā)表于 06-14 09:30 ?459次閱讀

    利用TensorFlow實(shí)現(xiàn)基于深度神經(jīng)網(wǎng)絡(luò)的文本分類模型

    要利用TensorFlow實(shí)現(xiàn)個(gè)基于深度神經(jīng)網(wǎng)絡(luò)(DNN)的文本分類模型,我們首先需要明確幾個(gè)關(guān)鍵步驟:數(shù)據(jù)預(yù)處理、模型構(gòu)建、
    的頭像 發(fā)表于 07-12 16:39 ?916次閱讀