ST 意法半導體人工智慧(AI)X-CUBE-AI 擴展包入門指南

引言

本用戶手冊指導了基於 IDE 逐步構建用於 STM32 微處理器的完整人工智慧(AI)項目,自動轉換預訓練好的神經網絡(NN)並集成所生成的優化庫。本手冊還介紹了 X-CUBE-AI 擴展包,該擴展包與 STM32CubeMX 工具完全集成。本用戶手冊還介紹了可選插件式 AI 測試應用程序或者用於 AI 系統性能和驗證的實用工具。

本文檔的第一部分是快速生成 STM32 AI 項目的實踐性學習。採用一個 NUCLEO-F746ZG 開發套件和公開的幾個用於深度學習(DL)的模型作為實踐範例。任何 STM32 開發套件或者基於 STM32F3、STM32F4、STM32L4STM32L4+、STM32F7、STM32H7 或 STM32WB 系列微控制器的客戶板也可在稍作修改後使用。

本文檔的第二部分詳細說明了 X-CUBE-AI 自動生成的 NN 庫,以及嵌入式客戶端推理 API。這裡還介紹了使用 X-CUBE-AI 實現AI 性能和驗證,以及各種 DL 工具箱中使用的功能。


1 概述

X-CUBE-AI 擴展包專門用於基於 STM32 Arm® Cortex®-M 的 MCU 上運行的 AI 項目。

當前版本用戶手冊中的描述基於:
• X-CUBE-AI r3.3.0
• 嵌入式推理客戶端 API 1.0.0
用於本文檔中各示例的預訓練 Keras DL 模型包括:
• https://github.com/Shahnawax/HAR-CNN-Keras:在 Keras 中利用 CNN 實現人類活動識別
• https://github.com/Shahnawax/KWS-ANN-KERAS:KWS-ANN-KERAS - 關鍵詞識別
提示 Arm 是 Arm Limited(或其子公司)在美國和/或其他地區的註冊商標。

1.1 STM32Cube™是什麼?

STM32Cube™源自意法半導體,旨在通過減少開發工作量、時間和成本,明顯提高設計人員的生產率。

STM32Cube™涵蓋整個 STM32 產品系列。

STM32Cube™包括:
• 一套用戶友好的軟體開發工具,覆蓋從構想到實現的整個項目開發過程,其中包括:
– STM32CubeMX 圖形軟體配置工具 STM32CubeMX,可通過圖形嚮導自動生成初始化 C 代碼。
– STM32CubeProgrammer(STM32CubeProg),圖形版本和命令行版本中可用的編程工具。
– STM32CubeMonitor-Power(STM32CubeMonPwr),測量並幫助優化 MCU 功耗的監控工具。

• STM32Cube™ MCU 包,針對於每個微控制器系列的綜合嵌入式軟體平台(例如,STM32F4 系列的STM32CubeF4),它包括:
– STM32Cube™硬體抽象層(HAL),確保在 STM32 各個產品之間實現最大限度的可移植性。
– STM32Cube™底層 API,通過硬體提供高度用戶控制,確保最佳性能和內存開銷
– 一套一致的中間件,比如 RTOS、USB、TCP/IP 和圖形。
– 配備完整外設和應用示例的全部嵌入式軟體實用工具


1.2 X-CUBE-AI 如何補充 STM32Cube™?

X-CUBE-AI 通過提供在計算和存儲器(RAM 和閃存)方面均已優化的自動神經網絡庫生成器擴展STM32CubeMX,該生成器將預訓練的神經網絡從最常用的 DL 框架(如 Caffe、Keras、Lasagne 和 ConvnetJS)轉換為自動集成到最終用戶項目的庫。項目自動完成設置,準備好在 STM32 微控制器上進行編譯和執行。X-CUBE-AI 還為項目創建添加特定 MCU 過濾,從而選擇符合用戶 NN 特定標準要求(如 RAM 或閃存大小)的正確設備,進而擴展 STM32CubeMX。

X-CUBE-AI 工具可生成三種項目:
• STM32 MCU 上運行的系統性能項目,可精確測量 NN 推理 CPU 負載和存儲器使用情況
• 驗證項目,在桌面 PC 和 STM32 Arm® Cortex®-M 的 MCU 嵌入式環境下遞增地驗證 NN 在隨機或用戶測試數
據激勵下返回的結果。
• 應用模板項目,可構建包括多網絡支持的應用程序


1.3 X-CUBE-AI 內核引擎

X-CUBE-AI 內核引擎,如圖 1 和圖 2 所示,是 X-CUBE-AI 擴展包的一部分,之後將在第 1.3 節 介紹。它提供一個自動且先進的 NN 映射工具,利用有限並受約束的硬體資源為嵌入式系統的預訓練神經網絡(DL 模型)生成並部署優化且穩定的 C 模型。生成的 STM32 NN 庫(專用和通用部分)可直接集成到 IDE 項目或者基於 makefile 的構建系統。

還可導出定義明確且特定的推理客戶端 API(參考第 8 節 嵌入式推理客戶端 API),用於開發客戶端基於AI 的應用程序。支持各種用於深入學習的框架(DL 工具箱)和層(參考第 12 節 支持的深度學習工具箱和層深度學習)。


配備一個簡單的配置接口。使用預訓練的 DL 模型文件時,僅需要較少的參數:
• 名稱:表示生成的 C 模型的名稱(默認值為“network”)
• 壓縮:表示用於減小權重/偏差參數大小的壓縮係數(參考第 6.1 節 圖形流和存儲器布局優化器)
• STM32 系列:選擇優化的 NN 內核運行時庫

圖 2,總結了上傳的 DL 模型和目標子系統運行時的主要支持功能。



• 僅支持簡單的張量輸入和簡單的張量輸出
– 4 維形狀:批、高度、寬度、通道(參考第 8.1 節 輸入和輸出 x-D 張量布局)
– 僅浮點類型

• 僅支持 32 位浮點生成的 C 模型
– 生成過程塊(參考第 6.1 節 圖形流和存儲器布局優化器)
– 通過結構保證預訓練模型的精度


1.4 STM32CubeMX 擴展

STM32CubeMX 是用於 STM32 微處理器的軟體配置工具。單擊一下,它即可利用圖形嚮導(如引腳分配衝突處理器、時鐘樹設置助手等)為 STM32 創建完整的 IDE 項目,包括生成用於設備和平台設置(引腳、時鐘樹、外設和中間件)的 C 初始化代碼。



從用戶的角度來看,集成 X-CUBE-AI 擴展包可以視為添加 IP 或中間件 SW 組件。基於 X-CUBE-AI 內核,提供了以下主要功能:
• 利用可選特定 AI 過濾器移除內存不足的設備,擴展 MCU 過濾器選擇器。如啟用,將直接濾除沒有 Arm®Cortex®-M4 或-M7 內核的 STM32 設備。
• 提供完整的 AI UI 配置嚮導,可上傳多個 DL 模型。包括在桌面 PC 和目標上對生成的 C 代碼進行的驗證過程。
• 擴展 IDE 項目生成器,輔助生成優化 STM32 NN 庫並將其集成到選定 STM32 Arm® Cortex®-M 內核與 IDE。
• 可選插件式應用程序可生成完整的即用型 AI 測試應用程序項目,包括生成的 NN 庫。用戶必須已將其導入到首選 IDE 內,才能生成固件映像並進行刷寫。最終用戶無需附加代碼或修改。


1.5 縮寫、縮略語和定義

表 1 詳細列出了本文檔中所用的特定縮略詞和縮寫詞。



1.6 先決條件

必須安裝以下軟體包(參考第 2 節 安裝 X-CUBE-AI):
• STM32CubeMX 5.0.1 或更高版本
• 附加軟體包 - STM32CubeMX AI 3.3.0 包

必須安裝用於 STM32 的一個以下工具鏈或 IDE:
• TrueSTUDIO® 適用於 STM32 v9.0.1 或更高版本的 TrueSTUDIO®(atollic.com/truestudio)
• IAR Embedded Workbench™ IDE - ARM v8.x or v7.x(www.iar.com/iar-embeddedworkbench)
• µVision® V5.25.2.0 - Keil® MDK-ARM 專業版(www.keil.com)
• System Workbench for STM32(SW4STM32)
• GNU Arm Embedded Toolchain(developer.arm.com/open-source/gnu-toolchain/gnu-rm)

可以使用 STM32CubeMX 支持的所有操作系統:
• Windows® 10 和 Windows® 7
• Ubuntu® 18.4 和 Ubuntu® 16.4(或衍生版本)

提示 • macOS®(x64)(已在 OS X® El Capitan 和 Sierra 上測試)


1.7 Ubuntu®是 Canonical Ltd.的註冊商標

macOS®和 OS X®是蘋果公司在美國及其他國家註冊的商標。


授權

X-CUBE-AI 根據 Mix Ultimate Liberty+OSS+3rd-party V1 軟體許可協議(SLA0048)交付。

技術文檔

類型標題檔案
推廣文件guide

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

: https://www.st.com/resource/zh/user_manual/um2526-getting-started-with-xcubeai-expansion-package-for-artificial-intelligence-ai-stmicroelectronics.pdf

評論