機器學習和深度學習網絡有可能通過提供更強大的全新方法來分析現場數據,從而極大地提高產品價值。Deep Edge AI使得算法的規模正不斷縮小,目前能夠在傳感器旁的端側進行計算。智能設備數量指數級增長目前需要經過優化的處理能力,以便為許多市場(如工業4.0、消費品、建筑管理、醫療保健和農業等領域)帶來更多價值。
然而,對于AI/ML數據科學家來說,將他們的模型移植到嵌入式環境具有很大挑戰性,因為嵌入式系統在計算、內存和功耗方面受到一定限制。微控制器可與嵌入式應用完美匹配,因為它們專為特定的細分市場而定制,具有低功耗和開發速度快等特點,絕對物超所值。然而,與大型應用處理器相比,在Cortex-M上進行開發時需要完全不同的嵌入式開發技能。
為了幫助企業在最短時間內設計出最佳產品,意法半導體提供一個全面的AI生態系統,其包括硬件、軟件開發工具以及STM32微控制器和微處理器上所運行的示例代碼。這些示例可以快速衍生以實現新的功能,這些工具支持對優化的機器學習模型(例如但不限于,神經網絡)進行移植測試、基準檢查以及迭代。
STM32Cube.AI是廣泛使用的STM32CubeMX配置與代碼生成工具,可在基于STM32 ArmCortex-M的微控制器上使用AI。
用戶將受益于STM32CubeMX特性,如面向所有STM32板的代碼生成,以及可在不同的操作系統(Windows、Linux或Mac OS)上兼容IAR Embedded Workbench、MDK-ARM以及STM32CubeIDE(GCC編譯器)。
它通過參數約束的動態驗證自動配置外設和中間件功能模式,通過最佳參數和動態驗證實現自動初始化,進而自動配置時鐘樹。
STM32Cube集成使得STM32Cube.AI用戶能夠有效地在廣泛的STM32微控制器系列產品之間移植模型,并且(在相似型號適用于不同產品的情況下)在STM32產品之間輕松遷移。
該插件擴展了STM32CubeMX功能,可自動轉化預訓練AI模型,將生成的優化庫集成到用戶項目中,而不是人工構建代碼,并支持將深度學習解決方案嵌入到廣泛的STM32微控制器產品組合中,從而為每個產品添加新的智能化功能。
STM32Cube.AI原生支持各種深度學習框架,如Keras、TensorFlow Lite、ConvNetJs,并支持可導出為ONNX標準格式的所有框架,如PyTorch、MicrosoftCognitive Toolkit、MATLAB等。
此外,STM32Cube.AI支持來自廣泛ML開源庫Scikit-Learn的標準機器學習算法,如孤立森林、支持向量機(SVM)、K-Means。
在實踐中,用戶只需在STM32CubeMX中加載一個預訓練模型,然后選擇一個AI運行環境。STM32Cube.AI可自動分析模型并顯示正確存儲和運行模型所需的最小內存空間。然后用戶可在兼容的STM32設備列表中選擇適合自己項目需求的最佳STM32微控制器。
一旦選定了合適的微控制器,可為該微控制器啟動一個項目,或者直接選擇適當的MCU設置所自動配置的開發板。可以選擇一個或多個AI/ML模型,并通過能夠評估總體模型復雜度以及RAM和閃存占用空間的工具進行分析。還能以圖形方式將模型可視化,并顯示每一層以查看模型的復雜性究竟位于何處。Keras和TensorFlow Lite神經網絡支持8位量化模型。還可以使用自定義層擴展該工具,以添加包含用戶定義層的模型并對其進行基準測試。
STM32Cube.AI有助于模型優化,所以更大的網絡也能移植到微控制器上。圖形用戶界面提供生成的代碼中所用緩沖區的全面視圖,并包含幾個優化選項(例如輸入/輸出緩沖區和激活緩沖區之間的存儲器重疊),以便將實現模型所需的內存空間降至最低。
STM32Cube.AI支持使用外部存儲器,并允許在不同的存儲區之間輕松分配權重。一旦模型存儲在多個陣列中,(例如)可以將模型權重的一部分映射到內部,將其它部分映射到外部Flash存儲器中,將激活緩沖區映射到外部RAM中。
該工具旨在加快開發速度,并使開發人員能夠在桌面驗證自己的模型以進行快速基準測試,以及在設備上驗證自己的模型以測量最終模型性能(包括量化的影響)。在驗證過程的最后,一個對照表總結了原始模型與STM32模型的精度和誤差,并可選擇性提供每層的復雜性報告和執行期間測得的推理時間。
神經網絡編譯器提供的優化代碼提高了效率并減少了內存占用。各層和內核被設計為在STM32上運行并利用可用的設備特性。選定所有設置后,STM32Cube.AI會生成一個應用模板,可以直接與您首選IDE中的應用特定代碼進行集成。然后可以使用所有STM32開發工具(如STM32CubeMX、STM32CubeMonitor、STM32CubeMonPower、STM32CubeMonRF、STM32CubeMonUCPD)和諸多合作伙伴工具設計采用人工智能算法的最終應用。
對于希望擁有一個跨多個項目的通用框架的開發人員,STM32Cube.AI還支持TensorFlow Lite運行環境。可以從用戶界面中選擇它作為STM32Cube.AI運行環境的替代方案,即使它可能會降低性能,因為運行環境沒有針對STM32進行完全優化。
由意法半導體對STM32Cube.AI提供維護,可以確保高質量開發所需的長期支持和可靠性。每次推出新的主要版本時,都會有針對性地定期更新,確保兼容最新AI框架。
該工具既能作為圖形用戶界面,也可以作為命令行,所以能夠輕松集成到DevOps流程中,以確保AI開發的所有領域定期得到驗證。甚至可以構建一個帶有部署后檢查功能的AutoML流,利用分析和驗證功能識別與用例的目標存儲空間、推理時間和精度約束相匹配的合適模型。
模型還可以在現場持續更新,因為庫可以部署為可重定位的模型。因此無需執行完整的固件升級即可輕松更新模型拓撲和權重。簡化了產品更新,并通過無線模型更新(或局部FOTA)確保Deep Edge AI與現場觀察到的任何變更保持一致,或只是通過模型/軟件更新升級新功能。
最后,STM32Cube.AI只是意法半導體所提供的更廣泛生態系統的一部分,使得STM32用戶可以在STM32上使用AI功能。 更多細節將在后續文章中予以介紹。
責任編輯:haq
-
AI
+關注
關注
87文章
32030瀏覽量
270926 -
機器學習
+關注
關注
66文章
8458瀏覽量
133232 -
深度學習
+關注
關注
73文章
5523瀏覽量
121718
原文標題:AI技術專題之四 | AI在Deep Edge領域中的應用
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
當我問DeepSeek AI爆發時代的FPGA是否重要?答案是......
AI賦能邊緣網關:開啟智能時代的新藍海
貿澤開售適用于AI和機器學習應用的 AMD Versal AI Edge VEK280評估套件
在設備上利用AI Edge Torch生成式API部署自定義大語言模型

Google AI Edge Torch的特性詳解

AI for Science:人工智能驅動科學創新》第4章-AI與生命科學讀后感
《AI for Science:人工智能驅動科學創新》第二章AI for Science的技術支撐學習心得
使用TI Edge AI Studio和AM62A進行基于視覺AI的缺陷檢測

Edge AI工控機的定義、挑選考量與常見應用
平衡創新與倫理:AI時代的隱私保護和算法公平
凌華智能推出全新AI 邊緣服務器MEC-AI7400 (AI Edge Server)系列
risc-v多核芯片在AI方面的應用
【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹(2)

評論