<li id="wkceg"></li>
<rt id="wkceg"><delect id="wkceg"></delect></rt>
<bdo id="wkceg"></bdo>
<strike id="wkceg"><acronym id="wkceg"></acronym></strike>

  • 賬號:
    密碼:
    智動化 / 文章 /

    Sklearn2ONNX AI范例分享:風(fēng)扇堵塞偵測
    [作者 意法半導(dǎo)體]   2022年10月27日 星期四 瀏覽人次: [5134]

    本文分享沒有AI背景的工程師,在使用NanoEdge AI Studio快速訓(xùn)練風(fēng)扇異常偵測的模型的方法。


    此模型是依馬達(dá)控制板的電流訊號,偵測風(fēng)扇濾網(wǎng)的堵塞百分比。當(dāng)風(fēng)扇堵塞時,馬達(dá)的電流訊號波型與一般情況不同,但傳統(tǒng)演算法很難偵測到差異。因此,機器學(xué)習(xí)演算法便成為解決此問題的絕隹選擇。在訓(xùn)練模型時,通常會使用scikit-learn函式庫,因此,本文將闡述自行訓(xùn)練機器學(xué)習(xí)模型及使用 STM32Cube.AI 部署到相同裝置上的方式,以便使用者比較兩者之間的差異。



    圖一
    圖一

    NanoEdge AI Studio為端對端工具,可預(yù)先處理部分資料,再進(jìn)行訓(xùn)練與媒合演算法;而STM32Cube.AI則會需要工程師具備完整的AI模型開發(fā)經(jīng)驗。


    硬體與軟體前置準(zhǔn)備


    圖二
    圖二

    P-NUCLEO-IHM03馬達(dá)控制套件用於驅(qū)動風(fēng)扇,是由NUCLEO-G431RB主機板、馬達(dá)控制擴充板與無刷馬達(dá)所組成。


    在進(jìn)行軟體前置準(zhǔn)備時,需先設(shè)定Anaconda環(huán)境,并安裝scikit-learn、pandas和ONNX等必要函式庫。


    然後,再依建立AI專案的關(guān)鍵步驟,逐步建立以STM32Cube.AI為基礎(chǔ)的專案。


    首先,使用者需要收集建立機器學(xué)習(xí)模型所需的資料。在此資料集當(dāng)中(訓(xùn)練資料集),部分將用於模型訓(xùn)練,典型比例為80%,而另一部分(測試資料集)用於日後評估所建模型的效能,典型比例為20%。


    第二步,使用者需要「標(biāo)記」資料。因為決策樹模型是以模型建立者所標(biāo)記的分類為基礎(chǔ),因此,機器需要知道所收集到之資料的類別,例如「跑步」、「行走」、「靜止」等。


    分類是指使用者依照其認(rèn)為重要的屬性將資料分組,也就是機器學(xué)習(xí)領(lǐng)域中的「類別(class)」。


    接下來,使用者要利用已準(zhǔn)備好的資料集訓(xùn)練機器學(xué)習(xí)模型,也就是「擬合(fitting)」。此步驟的結(jié)果準(zhǔn)確度有極大程度取決於資料之內(nèi)容與數(shù)量。


    第四步,使用者要將訓(xùn)練完畢的機器學(xué)習(xí)模型內(nèi)嵌至系統(tǒng)。若是電腦執(zhí)行的機器學(xué)習(xí),使用者可使用Python函式庫直接執(zhí)行模型;若機器學(xué)習(xí)位於MCU等裝置上,則可在實作前將此函式庫轉(zhuǎn)換成C語言程式碼;若為MEMS MLC等硬體配線方案,實作前可使用UNICO-GUI專用軟體,將函式庫先轉(zhuǎn)換為暫存器設(shè)定。


    最後一步為驗證機器學(xué)習(xí)模型,如果驗證結(jié)果不符預(yù)期,使用者必須確認(rèn)并改善上述步驟。



    圖三
    圖三

    首先,先匯入需要的函式庫



    圖四
    圖四

    為了方便比較,這邊使用上一次NanoEdge AI Studio訓(xùn)練模型中所使用的資料集。本文作者使用pandas,并從csv檔讀取資料,并將其用於訓(xùn)練模型。


    在開始訓(xùn)練模型前可以先輸出(print)資料集的形狀以了解內(nèi)容。



    圖五
    圖五

    此資料集是由119筆資料所組成,共有128種特徵,且最後一個資料欄為資料標(biāo)簽。


    接著,我們將資料集分為訓(xùn)練集及測試集,訓(xùn)練集用以訓(xùn)練模型,占資料集的80%,而測試集是用以檢查模型一般化能力,比重為20%。



    圖六
    圖六

    資料集備妥即可開始訓(xùn)練模型。



    圖七
    圖七

    訓(xùn)練結(jié)束後可在測試集上驗證該模型的效能。可以看到,模型在測試集上可達(dá)到約83%的準(zhǔn)確率。


    圖八
    圖八

    最後,儲存訓(xùn)練後的模型會取得名為random_forest.onnx 的ONNX格式檔案。



    圖九
    圖九

    以下為使用Netron模型可視化工具檢視的模型架構(gòu):



    圖十
    圖十

    經(jīng)過STM32Cube的整合,STM32Cube.AI 使用者能有效率地將模型移轉(zhuǎn)至多樣化的STM32微控制器系列中,而且類似模型也同樣適用於不同產(chǎn)品,能夠在STM32產(chǎn)品組合中輕松移轉(zhuǎn)。


    此外掛程式可擴充STM32CubeMX的功能,自動轉(zhuǎn)換預(yù)先訓(xùn)練的人工智慧演算法,并將其產(chǎn)生的最隹化資料庫整合至使用者專案當(dāng)中,不需手動撰寫程式碼,并且能將深度學(xué)習(xí)解決方案嵌入各種STM32微控制器產(chǎn)品組合中,賦予產(chǎn)品智慧功能。


    STM32Cube.AI提供各種深度學(xué)習(xí)框架的原生支援,例如Keras、TensorFlow Lite、ConvNetJs,也支援像是PyTorch、Microsoft Cognitive Toolkit、MATLAB等,所有可匯出為ONNX標(biāo)準(zhǔn)格式的框架。


    此外,STM32Cube.AI還支援來自大量ML開放原始碼函式庫scikit-Learn的標(biāo)準(zhǔn)機器學(xué)習(xí)演算法,例如Isolation Forest、支援向量機器(Support Vector Machine,SVM)、k-means。



    圖十一
    圖十一

    現(xiàn)在已經(jīng)準(zhǔn)備好將模型部署至MCU了。本篇采STM32Cube.AI的CLI模式,可使用以下指令將模型轉(zhuǎn)換成最隹化C語言程式碼:


    Stm32ai generate -m random forest.onnx


    若轉(zhuǎn)換成功,以下訊息將會出現(xiàn)。



    圖十二
    圖十二

    在資料夾stm32ai_output中,可以看到下方產(chǎn)生出來的檔案。其中,network.c/.h保留模型拓?fù)涞馁Y訊,而network_data.c/.h則會記錄模型權(quán)重的資訊。


    圖十三
    圖十三

    此時,產(chǎn)生的模型也已經(jīng)可以整合至STM32專案中。當(dāng)使用CLI模式時,STM32Cube.AI的執(zhí)行階段需要手動新增至專案中,以利呼叫network.h中的函式執(zhí)行模型。


    STM32Cube.AI也有更輕松整合AI模型的方式,若專案是以ioc檔案著手,便可將AI模型新增至CubeMX程式碼產(chǎn)生階段,一同產(chǎn)生程式碼。



    圖十四
    圖十四

    如下圖所示,啟用CubeMX的AI功能。



    圖十五
    圖十五

    將AI模型整合至專案當(dāng)中。



    圖十六
    圖十六

    如此一來,在產(chǎn)生程式碼時,AI模型會轉(zhuǎn)譯成最隹化C語言程式碼,而且STM32Cube.AI執(zhí)行階段的對應(yīng)版本也會一并整合至專案中。



    圖十七
    圖十七

    藉由這樣的方式,模型可整合至專案,且不會產(chǎn)生任何差錯。從以上兩種方法可以發(fā)現(xiàn)兩者差異在於NanoEdge AI Studio較簡易,且更有效率,而STM32Cube.AI則較為靈活、可自訂空間較大。


    相關(guān)文章
    ? SiC MOSFET:意法半導(dǎo)體克服產(chǎn)業(yè)挑戰(zhàn)的顛覆性技術(shù)
    ? 超越MEMS迎接真正挑戰(zhàn) 意法半導(dǎo)體的邊緣AI永續(xù)發(fā)展策略
    ? Crank Storyboard:跨越微控制器與微處理器的橋梁
    ? 嵌入式系統(tǒng)的創(chuàng)新:RTOS與MCU的協(xié)同運作
    ? STM32MP25系列MPU加速邊緣AI應(yīng)用發(fā)展 開啟嵌入式智慧新時代
    comments powered by Disqus
      相關(guān)新聞
    » SEMI:2024年半導(dǎo)體設(shè)備銷售增10% 上看1,171 億美元創(chuàng)新高
    » 經(jīng)濟(jì)部與顯示業(yè)瞄準(zhǔn)先進(jìn)封裝需求 首創(chuàng)面板級全濕式解決方案
    » 意法半導(dǎo)體公布公司層級轉(zhuǎn)型計畫,調(diào)整制造據(jù)點布局并優(yōu)化全球成本結(jié)構(gòu)
    » 全球首份AI晶片碳排研究出爐 臺積電居耗電與碳排龍頭
    » SEMI矽光子聯(lián)盟啟動3大SIGs 搶攻2030年78億美元市場
      相關(guān)產(chǎn)品
    » 意法半導(dǎo)體推出新款智慧型功率開關(guān),具備小巧外型、高效率與高度可靠性
    » 意法半導(dǎo)體推出全方位叁考設(shè)計,專為低壓高功率馬達(dá)應(yīng)用打造
    » 開發(fā)人員均可開始使用Nordic Semiconductor nPM2100
    » 意法半導(dǎo)體 250W MasterGaN 叁考設(shè)計加速高效與小型化工業(yè)電源供應(yīng)器設(shè)計
    » 意法半導(dǎo)體推出創(chuàng)新衛(wèi)星導(dǎo)航接收器 加速精準(zhǔn)定位技術(shù)普及,適用於車用與工業(yè)應(yīng)用

    ?
    刊登廣告 新聞信箱 讀者信箱 著作權(quán)聲明 隱私權(quán)聲明 本站介紹

    Copyright ©1999-2025 遠(yuǎn)播信息股份有限公司版權(quán)所有 Powered by O3
    地址:臺北數(shù)位產(chǎn)業(yè)園區(qū)(digiBlock Taipei) 103臺北市大同區(qū)承德路三段287-2號A棟204室
    電話 (02)2585-5526 #0 轉(zhuǎn)接至總機 / E-Mail: webmaster@hope.com.tw
    主站蜘蛛池模板: 宁安市| 达州市| 铁岭市| 乌拉特中旗| 潞城市| 阜阳市| 巧家县| 遂平县| 石棉县| 蒙自县| 康马县| 金阳县| 中牟县| 永泰县| 茌平县| 大悟县| 集贤县| 浦北县| 华亭县| 东安县| 石渠县| 长岛县| 葵青区| 永顺县| 河南省| 崇义县| 双辽市| 海兴县| 张家川| 两当县| 苍溪县| 洞口县| 内黄县| 定远县| 临武县| 万州区| 西宁市| 周至县| 江津市| 澄江县| 四川省|