新聞中心

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

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

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

是意法半導(dǎo)體(簡稱M32生態(tài)系統(tǒng)中的AI擴充套件,可自動轉(zhuǎn)換預(yù)先訓(xùn)練好的,并在用戶的項目中產(chǎn)生M32優(yōu)化函式庫。

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

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

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

圖片.png
 
圖一

模型拓撲優(yōu)化器-Graph optimizer

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

量化器

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

內(nèi)存優(yōu)化器

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

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

1.支持入門級STM32 MCU

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

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

圖片.png
圖二

2.支持最新AI架構(gòu)

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

圖片.png 
圖三

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

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

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

對于各種不同的AI框架,ST僅支持部分神經(jīng)層及神經(jīng)層參數(shù),其取決于網(wǎng)絡(luò)C API的expressive power及專用toolbox的parser。

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

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

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

3.改善使用者體驗和效能調(diào)校

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


圖片.png 
圖四

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

圖片.png 
圖五

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

圖片.png 
圖六

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

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

本文引用地址:http://www.butianyuan.cn/article/202209/438101.htm


關(guān)鍵詞: ST X-CUBE-AI AI模型

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉