色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

STMCube.AI的高級特性

意法半導體中國 ? 來源:意法半導體中國 ? 作者:意法半導體中國 ? 2021-10-28 10:05 ? 次閱讀

STM32Cube.AI意法半導體AI生態系統的一部分,是STM32Cube的一個擴展包,它可以自動轉換和優化預先訓練的神經網絡模型并將生成的優化庫集成到用戶項目中,從而擴展了STM32CubeMX的功能。它還提供幾種在桌面PC和STM32上驗證神經網絡模型以及測量模型性能的方法,而無需用戶手工編寫專門的C語言代碼。

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

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

運行時環境支持:Cube.AI vs TensorFlow Lite

量化支持

圖形流與存儲布局優化

可重定位的二進制模型支持

運行時環境支持:Cube.AI vs TensorFlow Lite

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

雖然這兩種運行時環境都是為資源有限的MCU而設計,但Cube.AI在此基礎上針對STM32的獨特架構進行了進一步優化。因此,TensorFlow Lite更適合有跨平臺可移植性需求的應用,而Cube.AI則更適合對計算速度和內存消耗有更高要求的應用。

下表展示了兩個運行時環境之間的性能比較(基于一個預訓練的神經網絡參考模型)。評價指標是在STM32上的推斷時間和內存消耗。

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

如表中所示,對于同一模型,Cube.AI運行時環境比TFLite運行時環境節約了大概20%的flash存儲和約8%的RAM存儲。此外,它的運行速度幾乎比TFLite運行時環境快了2倍。

對于TFLite模型,用戶可以在STM32Cube.AI的網絡配置菜單中對2個運行時環境進行選擇。

量化支持

量化是一種被廣泛使用的優化技術,它將32位浮點模型壓縮為位數更少的整數模型,在精度只略微下降的情況下,減少了存儲大小和運行時的內存峰值占用,也減少了CPU/MCU的推斷時間和功耗。量化模型對整數張量而不是浮點張量執行部分或全部操作。它是面向拓撲、特征映射縮減、剪枝、權重壓縮等各種優化技術的重要組成部分,可應用在像MCU一樣資源受限的運行時環境。

通常有兩種典型的量化方法:訓練后量化(PTQ)和量化訓練(QAT)。PTQ相對容易實現,它可以用有限的具有代表性的數據集來量化預先訓練好的模型。而QAT是在訓練過程中完成的,通常具有更高的準確度。

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

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

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

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

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

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

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

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

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

圖形流與存儲布局優化

除了量化技術,STM32Cube.AI還通過使用其C代碼生成器的優化引擎,針對推理時間優化內存使用(RAM & ROM)。該引擎基于無數據集的方法,無需驗證或測試數據集來應用壓縮和優化算法

第一種方法:權重/偏置項壓縮,采用k -均值聚類算法。該壓縮算法僅適用于全連接層。其優勢是壓縮速度快,但是結果并不是無損的,最終的精度可能會受到影響。STM32Cube.AI提供“驗證”功能,用于對所生成的C模型中產生的誤差進行評估。

“壓縮”選項可以在STM32Cube.AI的網絡配置中激活,如下圖所示:

第二種方法:操作融合,通過合并層來優化數據布局和相關的計算核。轉換或優化過程中會刪除一些層(如“Dropout”、“Reshape”),而有些層(如非線性層以及卷積層之后的池化層)會被融合到前一層中。其好處是轉換后的網絡通常比原始網絡層數少,降低了存儲器中的數據吞吐需求。

最后一種方法是優化的激活項存儲。其在內存中定義一個讀寫塊來存儲臨時的隱藏層值(激活函數的輸出)。此讀寫塊可以被視為推理函數使用的暫存緩沖區,在不同層之間被重復使用。因此,激活緩沖區的大小由幾個連續層的最大存儲需求決定。比如,假設有一個3層的神經網絡,每一層的激活值分別有5KB, 12KB和3KB,那么優化后的激活緩沖區大小將是12KB,而不是20KB。

可重定位的二進制模型支持

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

如下圖所示,所有對象(包括神經網絡部分和用戶應用程序)根據不同的數據類型被一起鏈接到不同的部分。在這種情況下,當用戶想要對功能進行部分更新時(比如只更新神經網絡部分),將需要對整個固件進行更新。

相反,可重定位二進制模型指定一個二進制對象,該對象可以安裝和執行在STM32內存子系統的任何位置。它是所生成的神經網絡C文件的編譯后的版本,包括前向核函數以及權重。其主要目的是提供一種靈活的方法來更新AI相關的應用程序,而無需重新生成和刷寫整個終端用戶固件。

生成的二進制對象是一個輕量級插件。它可以從任何地址(位置無關的代碼)運行,其數據也可放置于內存中的任何地方(位置無關的數據)。

STM32Cube.AI簡單而高效的AI可重定位運行時環境可以將其實例化并使用它。STM32固件中沒有內嵌復雜的資源消耗型動態鏈接器,其生成的對象是一個獨立的實體,運行時不需要任何外部變量或函數。

下圖的左側部分是神經網絡的可重定位二進制對象,它是一個自給自足的獨立實體,鏈接時將被放置于終端用戶應用程序的一個單獨區域中(右側部分)。它可以通過STM32Cube.AI的可重定位運行時環境被實例化以及動態鏈接。因此,用戶在更新AI模型時只需要更新這部分二進制文件。另外,如果有進一步的靈活性需求,神經網絡的權重也可以選擇性地被生成為獨立的目標文件。

可重定位網絡可以在STM32Cube.AI的高級設置中激活

最后,作為意法半導體人工智能生態系統的核心工具,STM32Cube.AI提供許多基本和高級功能,以幫助用戶輕松創建高度優化和靈活的人工智能應用。如需詳細了解特定解決方案或技術細節,請隨時關注我們的后續文章。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17189

    瀏覽量

    351817
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356667
  • AI
    AI
    +關注

    關注

    87

    文章

    31168

    瀏覽量

    269550
  • 模型
    +關注

    關注

    1

    文章

    3270

    瀏覽量

    48951

原文標題:AI技術專題之五:專為STM32 MCU優化的STM32Cube.AI庫

文章出處:【微信號:STMChina,微信公眾號:意法半導體中國】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數字電機控制的未來:一個MCU上的多個電機、嵌入式AI高級算法

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

    PCB高級EMC設計

    PCB高級EMC設計 ?
    的頭像 發表于 11-16 11:28 ?1573次閱讀
    PCB<b class='flag-5'>高級</b>EMC設計

    Wilink8高級特性

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

    昆侖萬維天工AI發布升級版AI高級搜索功能

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

    AI for Science:人工智能驅動科學創新》第二章AI for Science的技術支撐學習心得

    非常高興本周末收到一本新書,也非常感謝平臺提供閱讀機會。 這是一本挺好的書,包裝精美,內容詳實,干活滿滿。 關于《AI for Science:人工智能驅動科學創新》第二章“AI
    發表于 10-14 09:16

    安達發|APS高級排程高級物料需求計劃

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

    AI調試工具

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

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

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

    云開發AI助手

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

    AI大模型與AI框架的關系

    多個領域取得顯著成果。而AI框架則是為開發和訓練AI模型提供的一套標準接口、特性庫和工具包,它集成了算法的封裝、數據的調用以及計算資源的使用,是AI算法開發的必備工具。
    的頭像 發表于 07-15 11:42 ?1170次閱讀

    STMCUBE如何設置IPV6地址?

    小弟最近在學習開發STMCUBE,請問遇到一個問題,STMCUBE 在設置LWIP關于IPV6配置的時候,如何設置IPV6地址,我在電腦PING IPV6的時候,PING哪個地址
    發表于 04-18 07:41

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

    Proteus仿真F103F401的編譯器怎么設置不了STMCube
    發表于 04-07 07:25

    小鵬汽車迎來新AI負責人,研發XNGP技術

    小鵬汽車近日迎來新的AI團隊負責人——Cruise公司前高級資深機器學習工程師LiuXianming。他將帶領小鵬AI團隊研發XNGP技術,為公司的自動駕駛領域注入新的活力。
    的頭像 發表于 03-26 10:43 ?711次閱讀

    ai_reloc_network.h引入后,ai_datatypes_format.h和formats_list.h報錯的原因?

    當準備使用神經網絡的relocatable方式,將ai_reloc_network.h頭文件加入程序編譯后,ai_datatypes_format.h在cubeIDE和Keilc里分別報如下錯誤
    發表于 03-14 06:23

    NanoEdge AI的技術原理、應用場景及優勢

    NanoEdge AI 是一種基于邊緣計算的人工智能技術,旨在將人工智能算法應用于物聯網(IoT)設備和傳感器。這種技術的核心思想是將數據處理和分析從云端轉移到設備本身,從而減少數據傳輸延遲、降低
    發表于 03-12 08:09
    主站蜘蛛池模板: 91素人约啪| 国产精品VIDEOS麻豆TUBE| 国产69精品久久久久APP下载| 久久无码AV亚洲精品色午夜麻豆| 亚洲国产日韩欧美视频二区| 国产精品久久国产三级国不卡顿 | 大乳牛奶女在线观看| 欧美特级特黄AAAAA片| jk制服啪啪网站| 琪琪热热色原日韩在线| 草柳最新地址| 谁有成人网站地址| 国产精品自在在线午夜精品| 迅雷成人下载| 精品视频网站| 伊人色综合久久天天| 久久婷婷国产五月综合色啪最新| 2020亚洲色噜噜狠狠网站| 欧美.亚洲.日韩.天堂| 成人精品视频在线观看| 视频一区二区中文字幕| 国产日韩欧美综合久久| 一区不卡二区卡| 免费观看桶机十分钟| xnxx高中生| 午夜男人免费福利视频| 黄色三级图片| 97久久超碰中文字幕| 日韩中文亚洲欧美视频二| 国产精品久久久久影院免费| 亚洲欧美自拍明星换脸| 美女搜查官被高难度黑人在线播放| mxgs-877痉挛媚药按摩| 乡土女性网动态图解| 久久久久久久久女黄9999| 99精品免费观看| 忘忧草在线影院WWW日本动漫| 精品极品三大极久久久久| www.黄色| 亚洲欧美高清在线| 青柠在线观看免费完整版|