吴忠躺衫网络科技有限公司

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

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

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

STMCube.AI的高級(jí)特性

意法半導(dǎo)體中國(guó) ? 來(lái)源:意法半導(dǎo)體中國(guó) ? 作者:意法半導(dǎo)體中國(guó) ? 2021-10-28 10:05 ? 次閱讀

STM32Cube.AI意法半導(dǎo)體AI生態(tài)系統(tǒng)的一部分,是STM32Cube的一個(gè)擴(kuò)展包,它可以自動(dòng)轉(zhuǎn)換和優(yōu)化預(yù)先訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型并將生成的優(yōu)化庫(kù)集成到用戶項(xiàng)目中,從而擴(kuò)展了STM32CubeMX的功能。它還提供幾種在桌面PC和STM32上驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型以及測(cè)量模型性能的方法,而無(wú)需用戶手工編寫專門的C語(yǔ)言代碼。

上一篇文章大致介紹了STMCube.AI的基本特性,以及其工作流程。

本文將更深入地介紹它的一些高級(jí)特性。將涉及以下主題:

運(yùn)行時(shí)環(huán)境支持:Cube.AI vs TensorFlow Lite

量化支持

圖形流與存儲(chǔ)布局優(yōu)化

可重定位的二進(jìn)制模型支持

運(yùn)行時(shí)環(huán)境支持:Cube.AI vs TensorFlow Lite

STM32Cube.AI支持兩種針對(duì)不同應(yīng)用需求的運(yùn)行時(shí)環(huán)境:Cube.AI和TensorFlow Lite。作為默認(rèn)的運(yùn)行時(shí)環(huán)境,Cube.AI是專為STM32高度優(yōu)化的機(jī)器學(xué)習(xí)庫(kù)。而TensorFlow Lite for Microcontroller是由谷歌設(shè)計(jì),用于在各種微控制器或其他只有幾KB存儲(chǔ)空間的設(shè)備上運(yùn)行機(jī)器學(xué)習(xí)模型的。其被廣泛應(yīng)用于基于MCU的應(yīng)用場(chǎng)景。STM32Cube.AI集成了一個(gè)特定的流程,可以生成一個(gè)即時(shí)可用的STM32 IDE項(xiàng)目,該項(xiàng)目?jī)?nèi)嵌TensorFlow Lite for Microcontrollers運(yùn)行時(shí)環(huán)境(TFLm)以及相關(guān)的TFLite模型。這可以被看作是Cube.AI運(yùn)行時(shí)環(huán)境的一個(gè)替代方案,讓那些希望擁有一個(gè)跨多個(gè)項(xiàng)目的通用框架的開發(fā)人員也有了選擇。

雖然這兩種運(yùn)行時(shí)環(huán)境都是為資源有限的MCU而設(shè)計(jì),但Cube.AI在此基礎(chǔ)上針對(duì)STM32的獨(dú)特架構(gòu)進(jìn)行了進(jìn)一步優(yōu)化。因此,TensorFlow Lite更適合有跨平臺(tái)可移植性需求的應(yīng)用,而Cube.AI則更適合對(duì)計(jì)算速度和內(nèi)存消耗有更高要求的應(yīng)用。

下表展示了兩個(gè)運(yùn)行時(shí)環(huán)境之間的性能比較(基于一個(gè)預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)參考模型)。評(píng)價(jià)指標(biāo)是在STM32上的推斷時(shí)間和內(nèi)存消耗。

f0560440-378b-11ec-82a8-dac502259ad0.png

如表中所示,對(duì)于同一模型,Cube.AI運(yùn)行時(shí)環(huán)境比TFLite運(yùn)行時(shí)環(huán)境節(jié)約了大概20%的flash存儲(chǔ)和約8%的RAM存儲(chǔ)。此外,它的運(yùn)行速度幾乎比TFLite運(yùn)行時(shí)環(huán)境快了2倍。

對(duì)于TFLite模型,用戶可以在STM32Cube.AI的網(wǎng)絡(luò)配置菜單中對(duì)2個(gè)運(yùn)行時(shí)環(huán)境進(jìn)行選擇。

量化支持

量化是一種被廣泛使用的優(yōu)化技術(shù),它將32位浮點(diǎn)模型壓縮為位數(shù)更少的整數(shù)模型,在精度只略微下降的情況下,減少了存儲(chǔ)大小和運(yùn)行時(shí)的內(nèi)存峰值占用,也減少了CPU/MCU的推斷時(shí)間和功耗。量化模型對(duì)整數(shù)張量而不是浮點(diǎn)張量執(zhí)行部分或全部操作。它是面向拓?fù)洹⑻卣饔成淇s減、剪枝、權(quán)重壓縮等各種優(yōu)化技術(shù)的重要組成部分,可應(yīng)用在像MCU一樣資源受限的運(yùn)行時(shí)環(huán)境。

通常有兩種典型的量化方法:訓(xùn)練后量化(PTQ)和量化訓(xùn)練(QAT)。PTQ相對(duì)容易實(shí)現(xiàn),它可以用有限的具有代表性的數(shù)據(jù)集來(lái)量化預(yù)先訓(xùn)練好的模型。而QAT是在訓(xùn)練過(guò)程中完成的,通常具有更高的準(zhǔn)確度。

STM32Cube.AI通過(guò)兩種不同的方式直接或間接地支持這兩種量化方法:

首先,它可以用來(lái)部署一個(gè)由PTQ或QAT過(guò)程生成的TensorFlow Lite量化模型。在這種情況下,量化是由TensorFlow Lite框架完成的,主要是通過(guò)“TFLite converter” utility導(dǎo)出TensorFlow Lite文件。

其次,其命令行接口(CLI)還集成了一個(gè)內(nèi)部的訓(xùn)練后量化(PTQ)的過(guò)程,支持使用不同的量化方案對(duì)預(yù)訓(xùn)練好的Keras模型進(jìn)行量化。與使用TFLite Converter工具相比,該內(nèi)部量化過(guò)程提供了更多的量化方案,并在執(zhí)行時(shí)間和精確度方面有更好的表現(xiàn)。

下表顯示了在STM32上部署量化模型(與原有浮點(diǎn)模型相比)的好處。此表使用FD-MobileNet作為基準(zhǔn)模型,共有12層,參數(shù)大小145k,MACC操作數(shù)24M,輸入尺寸為224x224x3。

f2376d1c-378b-11ec-82a8-dac502259ad0.png

從表中很容易看出,量化模型節(jié)省了約4倍的flash存儲(chǔ)和RAM存儲(chǔ),且運(yùn)行速度提高了約3倍,而精確度僅僅下降了0.7%。

如果已經(jīng)安裝了X-Cube-AI包,用戶可以通過(guò)以下路徑找到關(guān)于如何使用命令行界面(CLI)進(jìn)行量化的教程

C:UsersusernameSTM32CubeRepositoryPacksSTMicroelectronicsX-CUBE-AI7.0.0Documentationquantization.html。

在文檔的末尾還附上了一個(gè)快速實(shí)踐示例:“量化一個(gè)MNIST模型”。

圖形流與存儲(chǔ)布局優(yōu)化

除了量化技術(shù),STM32Cube.AI還通過(guò)使用其C代碼生成器的優(yōu)化引擎,針對(duì)推理時(shí)間優(yōu)化內(nèi)存使用(RAM & ROM)。該引擎基于無(wú)數(shù)據(jù)集的方法,無(wú)需驗(yàn)證或測(cè)試數(shù)據(jù)集來(lái)應(yīng)用壓縮和優(yōu)化算法

第一種方法:權(quán)重/偏置項(xiàng)壓縮,采用k -均值聚類算法。該壓縮算法僅適用于全連接層。其優(yōu)勢(shì)是壓縮速度快,但是結(jié)果并不是無(wú)損的,最終的精度可能會(huì)受到影響。STM32Cube.AI提供“驗(yàn)證”功能,用于對(duì)所生成的C模型中產(chǎn)生的誤差進(jìn)行評(píng)估。

“壓縮”選項(xiàng)可以在STM32Cube.AI的網(wǎng)絡(luò)配置中激活,如下圖所示:

第二種方法:操作融合,通過(guò)合并層來(lái)優(yōu)化數(shù)據(jù)布局和相關(guān)的計(jì)算核。轉(zhuǎn)換或優(yōu)化過(guò)程中會(huì)刪除一些層(如“Dropout”、“Reshape”),而有些層(如非線性層以及卷積層之后的池化層)會(huì)被融合到前一層中。其好處是轉(zhuǎn)換后的網(wǎng)絡(luò)通常比原始網(wǎng)絡(luò)層數(shù)少,降低了存儲(chǔ)器中的數(shù)據(jù)吞吐需求。

最后一種方法是優(yōu)化的激活項(xiàng)存儲(chǔ)。其在內(nèi)存中定義一個(gè)讀寫塊來(lái)存儲(chǔ)臨時(shí)的隱藏層值(激活函數(shù)的輸出)。此讀寫塊可以被視為推理函數(shù)使用的暫存緩沖區(qū),在不同層之間被重復(fù)使用。因此,激活緩沖區(qū)的大小由幾個(gè)連續(xù)層的最大存儲(chǔ)需求決定。比如,假設(shè)有一個(gè)3層的神經(jīng)網(wǎng)絡(luò),每一層的激活值分別有5KB, 12KB和3KB,那么優(yōu)化后的激活緩沖區(qū)大小將是12KB,而不是20KB。

可重定位的二進(jìn)制模型支持

非可重定位方法(或“靜態(tài)”方法)指的是:生成的神經(jīng)網(wǎng)絡(luò)C文件被編譯并與最終用戶應(yīng)用程序堆棧靜態(tài)鏈接在一起。

如下圖所示,所有對(duì)象(包括神經(jīng)網(wǎng)絡(luò)部分和用戶應(yīng)用程序)根據(jù)不同的數(shù)據(jù)類型被一起鏈接到不同的部分。在這種情況下,當(dāng)用戶想要對(duì)功能進(jìn)行部分更新時(shí)(比如只更新神經(jīng)網(wǎng)絡(luò)部分),將需要對(duì)整個(gè)固件進(jìn)行更新。

相反,可重定位二進(jìn)制模型指定一個(gè)二進(jìn)制對(duì)象,該對(duì)象可以安裝和執(zhí)行在STM32內(nèi)存子系統(tǒng)的任何位置。它是所生成的神經(jīng)網(wǎng)絡(luò)C文件的編譯后的版本,包括前向核函數(shù)以及權(quán)重。其主要目的是提供一種靈活的方法來(lái)更新AI相關(guān)的應(yīng)用程序,而無(wú)需重新生成和刷寫整個(gè)終端用戶固件。

生成的二進(jìn)制對(duì)象是一個(gè)輕量級(jí)插件。它可以從任何地址(位置無(wú)關(guān)的代碼)運(yùn)行,其數(shù)據(jù)也可放置于內(nèi)存中的任何地方(位置無(wú)關(guān)的數(shù)據(jù))。

STM32Cube.AI簡(jiǎn)單而高效的AI可重定位運(yùn)行時(shí)環(huán)境可以將其實(shí)例化并使用它。STM32固件中沒(méi)有內(nèi)嵌復(fù)雜的資源消耗型動(dòng)態(tài)鏈接器,其生成的對(duì)象是一個(gè)獨(dú)立的實(shí)體,運(yùn)行時(shí)不需要任何外部變量或函數(shù)。

下圖的左側(cè)部分是神經(jīng)網(wǎng)絡(luò)的可重定位二進(jìn)制對(duì)象,它是一個(gè)自給自足的獨(dú)立實(shí)體,鏈接時(shí)將被放置于終端用戶應(yīng)用程序的一個(gè)單獨(dú)區(qū)域中(右側(cè)部分)。它可以通過(guò)STM32Cube.AI的可重定位運(yùn)行時(shí)環(huán)境被實(shí)例化以及動(dòng)態(tài)鏈接。因此,用戶在更新AI模型時(shí)只需要更新這部分二進(jìn)制文件。另外,如果有進(jìn)一步的靈活性需求,神經(jīng)網(wǎng)絡(luò)的權(quán)重也可以選擇性地被生成為獨(dú)立的目標(biāo)文件。

可重定位網(wǎng)絡(luò)可以在STM32Cube.AI的高級(jí)設(shè)置中激活

最后,作為意法半導(dǎo)體人工智能生態(tài)系統(tǒng)的核心工具,STM32Cube.AI提供許多基本和高級(jí)功能,以幫助用戶輕松創(chuàng)建高度優(yōu)化和靈活的人工智能應(yīng)用。如需詳細(xì)了解特定解決方案或技術(shù)細(xì)節(jié),請(qǐng)隨時(shí)關(guān)注我們的后續(xù)文章。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17324

    瀏覽量

    352662
  • STM32
    +關(guān)注

    關(guān)注

    2272

    文章

    10924

    瀏覽量

    357608
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31536

    瀏覽量

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

    關(guān)注

    1

    文章

    3313

    瀏覽量

    49233

原文標(biāo)題:AI技術(shù)專題之五:專為STM32 MCU優(yōu)化的STM32Cube.AI庫(kù)

文章出處:【微信號(hào):STMChina,微信公眾號(hào):意法半導(dǎo)體中國(guó)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【書籍評(píng)測(cè)活動(dòng)NO.55】AI Agent應(yīng)用與項(xiàng)目實(shí)戰(zhàn)

    出來(lái),當(dāng)前的AI Agent并不僅僅是簡(jiǎn)單的對(duì)話機(jī)器人或根據(jù)固定流程的自動(dòng)化程序,而是成為了一種能夠自主完成任務(wù)的智能體,它正在迅速改變?nèi)祟惖墓ぷ骱蜕罘绞健F浜诵?b class='flag-5'>特性包括自主性、學(xué)習(xí)能力、目標(biāo)導(dǎo)向
    發(fā)表于 01-13 11:04

    數(shù)字電機(jī)控制的未來(lái):一個(gè)MCU上的多個(gè)電機(jī)、嵌入式AI高級(jí)算法

    RA8T1 32位MCU采用Arm Cortex-M85內(nèi)核,采用氦氣技術(shù),頻率高達(dá)480MHz,封裝針對(duì)電機(jī)或逆變器控制進(jìn)行了優(yōu)化。與市場(chǎng)上的其他電機(jī)控制解決方案相比,該產(chǎn)品明顯更快、更先進(jìn),并為AI高級(jí)算法帶來(lái)了充足的動(dòng)力,同時(shí)保持了對(duì)多個(gè)獨(dú)立電機(jī)的精確電子控制。
    發(fā)表于 11-20 14:33 ?781次閱讀
    數(shù)字電機(jī)控制的未來(lái):一個(gè)MCU上的多個(gè)電機(jī)、嵌入式<b class='flag-5'>AI</b>和<b class='flag-5'>高級(jí)</b>算法

    PCB高級(jí)EMC設(shè)計(jì)

    PCB高級(jí)EMC設(shè)計(jì) ?
    的頭像 發(fā)表于 11-16 11:28 ?1830次閱讀
    PCB<b class='flag-5'>高級(jí)</b>EMC設(shè)計(jì)

    Wilink8高級(jí)特性

    電子發(fā)燒友網(wǎng)站提供《Wilink8高級(jí)特性.pdf》資料免費(fèi)下載
    發(fā)表于 11-08 15:58 ?0次下載
    Wilink8<b class='flag-5'>高級(jí)</b><b class='flag-5'>特性</b>

    昆侖萬(wàn)維天工AI發(fā)布升級(jí)版AI高級(jí)搜索功能

    昆侖萬(wàn)維公司近期正式推出了天工AI的最新版本,其中重點(diǎn)升級(jí)了AI高級(jí)搜索功能。這一新功能旨在滿足用戶在復(fù)雜問(wèn)題解決、金融投資、科研學(xué)術(shù)以及文檔分析等多個(gè)領(lǐng)域的多樣化需求。 據(jù)了解,天工AI
    的頭像 發(fā)表于 11-07 10:47 ?541次閱讀

    AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第二章AI for Science的技術(shù)支撐學(xué)習(xí)心得

    非常高興本周末收到一本新書,也非常感謝平臺(tái)提供閱讀機(jī)會(huì)。 這是一本挺好的書,包裝精美,內(nèi)容詳實(shí),干活滿滿。 關(guān)于《AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第二章“AI
    發(fā)表于 10-14 09:16

    安達(dá)發(fā)|APS高級(jí)排程高級(jí)物料需求計(jì)劃

    APS高級(jí)排程高級(jí)物料需求計(jì)劃是在制造業(yè)中非常重要的概念。它們分別涉及到生產(chǎn)計(jì)劃和物料管理,對(duì)于提高生產(chǎn)效率、降低成本和滿足客戶需求具有重要意義。下面我將詳細(xì)介紹這兩個(gè)概念及其在實(shí)際生產(chǎn)
    的頭像 發(fā)表于 09-25 17:49 ?370次閱讀
    安達(dá)發(fā)|APS<b class='flag-5'>高級(jí)</b>排程<b class='flag-5'>高級(jí)</b>物料需求計(jì)劃

    AI調(diào)試工具

    APIAI
    草帽王路飛
    發(fā)布于 :2024年09月02日 11:31:57

    下一代高功能新一代AI加速器(DRP-AI3):10x在高級(jí)AI系統(tǒng)高級(jí)AI中更快的嵌入處理

    電子發(fā)燒友網(wǎng)站提供《下一代高功能新一代AI加速器(DRP-AI3):10x在高級(jí)AI系統(tǒng)高級(jí)AI
    發(fā)表于 08-15 11:06 ?0次下載
    下一代高功能新一代<b class='flag-5'>AI</b>加速器(DRP-<b class='flag-5'>AI</b>3):10x在<b class='flag-5'>高級(jí)</b><b class='flag-5'>AI</b>系統(tǒng)<b class='flag-5'>高級(jí)</b><b class='flag-5'>AI</b>中更快的嵌入處理

    云開發(fā)AI助手

    AI
    草帽王路飛
    發(fā)布于 :2024年07月22日 14:41:54

    AI大模型與AI框架的關(guān)系

    多個(gè)領(lǐng)域取得顯著成果。而AI框架則是為開發(fā)和訓(xùn)練AI模型提供的一套標(biāo)準(zhǔn)接口、特性庫(kù)和工具包,它集成了算法的封裝、數(shù)據(jù)的調(diào)用以及計(jì)算資源的使用,是AI算法開發(fā)的必備工具。
    的頭像 發(fā)表于 07-15 11:42 ?1262次閱讀

    STMCUBE如何設(shè)置IPV6地址?

    小弟最近在學(xué)習(xí)開發(fā)STMCUBE,請(qǐng)問(wèn)遇到一個(gè)問(wèn)題,STMCUBE 在設(shè)置LWIP關(guān)于IPV6配置的時(shí)候,如何設(shè)置IPV6地址,我在電腦PING IPV6的時(shí)候,PING哪個(gè)地址
    發(fā)表于 04-18 07:41

    Proteus仿真F103F401的編譯器怎么設(shè)置不了STMCube呢?

    Proteus仿真F103F401的編譯器怎么設(shè)置不了STMCube
    發(fā)表于 04-07 07:25

    ai_reloc_network.h引入后,ai_datatypes_format.h和formats_list.h報(bào)錯(cuò)的原因?

    當(dāng)準(zhǔn)備使用神經(jīng)網(wǎng)絡(luò)的relocatable方式,將ai_reloc_network.h頭文件加入程序編譯后,ai_datatypes_format.h在cubeIDE和Keilc里分別報(bào)如下錯(cuò)誤
    發(fā)表于 03-14 06:23

    NanoEdge AI的技術(shù)原理、應(yīng)用場(chǎng)景及優(yōu)勢(shì)

    NanoEdge AI 是一種基于邊緣計(jì)算的人工智能技術(shù),旨在將人工智能算法應(yīng)用于物聯(lián)網(wǎng)(IoT)設(shè)備和傳感器。這種技術(shù)的核心思想是將數(shù)據(jù)處理和分析從云端轉(zhuǎn)移到設(shè)備本身,從而減少數(shù)據(jù)傳輸延遲、降低
    發(fā)表于 03-12 08:09
    网页百家乐的玩法技巧和规则 | 高清| 网上百家乐真的假| 百家乐官网八卦投注法| 威尼斯人娱乐平台代理| 竞咪百家乐官网的玩法技巧和规则| 捕鱼棋牌游戏| 神州百家乐官网的玩法技巧和规则 | 百家乐官网现实赌场| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 百家乐电脑上怎么赌| 百家乐官网赌法博彩正网| 百家乐娱乐官方网| 百家乐官网澳门百家乐官网| 大发888官方df888gwyxpt| 澳门百家乐21点| 区。| 游艇会百家乐的玩法技巧和规则 | 资阳市| 威尼斯人娱乐场wnsrdcylcbywz| 24山风水 九运| 百家乐官网神仙道礼包| 大发888娱乐大发体育| gt百家乐平台假吗| 百家乐官网7scs娱乐平台| 永胜县| 二八杠高手| 有百家乐的游戏平台| 百家乐官网桌手机套| 优博网站| 威尼斯人娱乐城官网lm0| 百家乐游戏规则介绍| 破解百家乐官网真人游戏| 新利| 太阳城sun866| 菲律宾百家乐排行| 精通百家乐官网的玩法技巧和规则| 百家乐官网公式计算| 梭哈棋牌游戏大厅| 百家乐赌场| 百家乐代理在线游戏可信吗网上哪家平台信誉好安全 |