新聞中心

        EEPW首頁 > 智能計算 > 業界動態 > 更簡單、更聰明的X-CUBE-AI v7.1.0 輕松布署AI模型

        更簡單、更聰明的X-CUBE-AI v7.1.0 輕松布署AI模型

        作者: 時間:2022-09-12 來源:CTIMES 收藏

        是意法半導體(簡稱M32生態系統中的AI擴充套件,可自動轉換預先訓練好的,并在用戶的項目中產生M32優化函式庫。

        最新版本的 v7.1.0主要有三項更新:
        ? 支持入門級STM32 MCU;
        ? 支持最新AI架構;
        ? 改善使用者體驗和效能調校。

        ST持續提升STM32 AI生態系統的效能,且提供更多簡單、易用的接口,并強化更多類神經網絡中的運算,而且最重要的一點是:免費。在介紹 v7.1.0的三大更新之前,先了解一下X-CUBE-AI的主要用途。

        X-CUBE-AI擴充套件是什么?
        X-CUBE-AI擴充套件又稱為「STM32Cube.AI」,其具備優化區塊,并可為STM32 裝置產生在準確度、內存占用空間和電源效率都最合適的模型。

        圖片.png
         
        圖一

        模型拓撲優化器-Graph optimizer

        自動透過簡化 AI graph 以及量化運算等方式,使能在目標STM32硬件上獲得最佳的運行效能。其中包含多種如graph rewrite、operator fusion、constant folding等的量化運算技術。

        量化器

        X-CUBE-AI擴充套件也支持FP32和Int8預先訓練好的模型。開發人員可匯入經量化的類神經網絡,使其兼容于STM32嵌入式架構,同時采用如文件詳述的post-training quantization流程來維持準確度。在下一版本中,Int1、Int2和Int3也將納入支援。一旦成功匯入模型,即可在PC和目標STM32硬件上驗證

        內存優化器

        內存優化器是一項先進的內存管理工具,遵循嵌入式設計限制優化的內存配置,能達到最佳效能,而其智慧方式能在內部及外部資源間均衡配置內存,使其保有建立模型專屬內存的可能性,讓開發者能輕松更新模型。

        最新版X-CUBE-AI v7.1.0將提供三項主要更新功能。

        1.支持入門級STM32 MCU

        為使邊緣裝置發揮全方位AI效能,X-CUBE-AI v7.1.0全面支持STM32 Arm Cortex-M0和 Arm Cortex-M0+的功能。今后,使用者將可在最小型的STM32微控制器中實作類神經網絡。

        開發人員不僅能在下列產品組合中找到各式用途的芯片, 甚至還能擁有具備AI功能的芯片。STM32適用范圍甚廣,從極低功耗、高效能系列MCU,一路涵蓋至MPU。此外,如無線MCU等不同用途的芯片亦適用于AI應用。

        圖片.png
        圖二

        2.支持最新AI架構

        最新版本的X-CUBE-AI v7.1.0為廣泛運用的深度學習架構帶來諸多功能,如Keras與 TensorFlow? Lite,并將TFLite運行時間升級至2.7.0,而ONNX 升級至1.9。

        圖片.png 
        圖三

        Keras是透過Tensorflow backend獲得支持,而受支持的運算符可處理多種經典拓撲,能適用于行動裝置或IoT資源受限的環境。例如:SqueezeNet、MobileNet V1、Inception和 SSD-MobileNet v1等。而X-CUBE-AI v7.1.0最高能支持到TF Keras 2.7.0。

        Tensorflow Lite格式適用在行動平臺上部署類神經網絡模型。X-CUBE-AI可匯入并轉換成采用flatbuffer技術的tflite檔案。其也可處理多項運算符,包含量化模型和經由quantization aware training或post-training quantization產生的運算符。

        X-CUBE-AI也支持其他可匯出為ONNX標準格式的架構,如PyTorch、Microsoft Cognitive Toolkit、MATLAB等。

        對于各種不同的AI框架,ST僅支持部分神經層及神經層參數,其取決于網絡C API的expressive power及專用toolbox的parser。

        ST所提供之STM32Cube.AI runtime可達到最佳AI 應用程序執行效能,開發人員仍可選取 TensorFlow? Lite runtime作為替代方案,以在多個項目間發揮優勢,但TensorFlow Lite runtime對STM32優化程度較低,可能會降低效能。

        除深度學習架構以外,X-CUBE-AI亦可轉換到知名開放原始碼函式庫,以及完備之Python機器學習架構「Scikit-learn」 中的機器學習算法,如隨機森林、支持向量機(Support Vector Machine,SVM)、k-means分群以及k-nearest neighbors(k-NN)算法。開發人員可以建立多種監督式或非監督式機器學習算法,并利用簡單有效的工具進行數據分析。

        X-CUBE-AI v7.1.0不直接支持Scikit-learn的機器學習算法或XGBoost套件。在訓練步驟完成后,這些算法應轉換成ONNX格式以供部署及匯入,通常會使用skl2onnx公用程序,但亦可使用其他具有ONNX匯出工具的機器學習架構。不過,ONNX-ML模型匯入X-CUBE-AI的作業大致已采scikit-learn v0.23.1、skl2onnx v1.10.3和XGBoost v1.5.1進行測試。

        3.改善使用者體驗和效能調校

        X-CUBE-AI v7.1.0推出多重堆積支持功能,開發人員只需點擊幾下按鍵,即可將不同的額外負載調配到分布式內存的區段上。


        圖片.png 
        圖四

        在使用外部內存的支持下,開發人員可以輕易將weights劃分至不同的內存區域。一旦模型儲存于多重數組,即可映像內部閃存中的部分weights,并將剩余之內存分配于外部。此工具可讓開發人員依模型要求和應用程序占用空間來使用non-contiguous的閃存區塊。

        圖片.png 
        圖五

        圖形用戶接口亦可提供全方位的視圖,完整顯示所產生編碼中使用的緩沖區。選取模型后,開發人員即可查看可視化的統計數據,以了解整個系統的復雜度和占用空間。其可展示模型中的每個神經層,使開發人員輕易辨別出關鍵層。

        圖片.png 
        圖六

        此工具有助于開發人員加快速度,并能更快在PC上驗證模型以完成基準評測,以及在目標 STM32裝置上量測最終效能。驗證流程的最后將會產生比較表格,匯總原型及STM32模型之間的準確度和誤差。X-CUBE-AI也會提供一份報告顯示各層復雜度,以及在執行期間所測得的推算時間。

        X-CUBE-AI僅是ST廣泛生態系的其中一環,其旨在讓STM32用戶充分發揮人工智能的效益。X-CUBE-AI則是確保長期支持及高質量開發的可靠度。每次推出重大新版本,最新 AI 架構兼容性均會定期更新。

        本文引用地址:http://www.104case.com/article/202209/438101.htm


        關鍵詞: ST X-CUBE-AI AI模型

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 都昌县| 宁南县| 黄山市| 武乡县| 牡丹江市| 冀州市| 景泰县| 海阳市| 乡城县| 密云县| 阜宁县| 蓬安县| 平山县| 定安县| 海晏县| 安新县| 永定县| 大关县| 胶南市| 炉霍县| 杭锦旗| 杭州市| 邳州市| 敖汉旗| 深水埗区| 文化| 马尔康县| 龙井市| 兰州市| 泰顺县| 喜德县| 本溪| 施秉县| 无为县| 聂拉木县| 句容市| 宣威市| 东宁县| 昭通市| 自贡市| 巴楚县|