開發機器學習 (ML) 應用頗具挑戰,尤其是涉及專用硬件時。好消息是,Arm Corstone-320 固定虛擬平臺 (Fixed Virtual Platform, FVP) 簡化了這個過程,無需物理硬件即可開發和測試 ML 應用。
Corstone-320 FVP 仿真平臺為開發先進的 ML 應用提供了強大基礎。訪問以下鏈接,了解如何開始使用 Corstone-320 FVP,并利用該網站上提供的 Arm ML 嵌入式評估套件 (MLEK)。
什么是固定虛擬平臺?
固定虛擬平臺 (FVP)是成熟的硬件仿真模型,無需物理硬件即可進行軟件開發和測試。FVP 在開發初期尤其有價值,開發者無需等到硬件到位,可大幅提前啟動軟件開發工作。
FVP 能夠準確呈現最終的硬件,確保在 FVP 上開發和測試的軟件在部署到物理設備上后,能夠按預期運行。由此大大加快了開發周期,降低了成本,并減輕了因依賴硬件而產生的風險。
Arm Corstone-320 介紹
ArmCorstone-320 是一個預先集成的系統 IP,其中結合了 Arm Ethos-U85 NPU 和 Arm Cortex-M85 處理器。Ethos-U85 NPU 是一款專用 ML 處理器,旨在加速嵌入式和物聯網設備中的 ML 計算,是高效處理 ML 工作負載的理想選擇。
開發者需要平臺軟件來充分發揮硬件的潛能。Arm 提供了大量可與 Corstone-320 配合使用的軟件組件和工具,其中包括:
以 CMSIS Core 和 CMSIS-Driver 庫的形式提供的基本設備驅動程序和硬件抽象層。
與 FreeRTOS 和 Zephyr 等熱門實時操作系統 (RTOS) 的集成。
諸如 Mbed TLS 和 Trusted Firmware-M 之類的安全軟件,提供強大的加密、安全存儲和安全的固件更新。
面向專業開發者的工具,包括 Keil MDK。
用于在 Ethos-U85 NPU 上運行終端人工智能 (AI) 應用的驅動程序和庫。
Arm 的免費開源軟件讓開發者可以在 Corstone-320 上構建和運行終端 AI 應用。
Arm ML 嵌入式評估套件概覽及用例
開源項目 Arm ML 嵌入式評估套件提供了一套即用型 ML 應用,使用戶能夠開發和評估在 Ethos-U NPU 和 Cortex-M CPU 上運行的 ML 工作負載。該套件包括用于測量性能指標(推理周期數等)的用例和工具。
MLEK 提供端到端軟件用例,展示了 Ethos-U NPU 和 Cortex-M CPU 的功能。以下列出了其中包含的 ML 應用:
圖像分類:使用 Mobilenet V2 神經網絡模型識別每個圖像中存在的物體。
關鍵詞檢測 (KWS):使用 MicroNet 模型識別語音中的關鍵詞。
自動語音識別 (ASR):使用 Wav2Letter 模型從語音中轉錄單詞。
KWS 和 ASR:使用 MicroNet 和 Wav2Letter 模型,在檢測到關鍵詞后,利用 Cortex-M 和 Ethos-U 進行轉錄。
異常檢測:使用 MicroNet 模型檢測機器錄音中的異常行為。
視覺喚醒詞:使用 MicroNet 模型識別圖像中是否有人。
降噪:使用 RNNoise 模型在保留語音的同時,去除音頻中的噪聲。
物體檢測:使用 Yolo Fastest 模型檢測圖像中的人臉并在周圍繪制邊界框。
通用推理運行器:使用你自己的模型為 Ethos-U NPU 開發自定義用例。
開始使用 Corstone-320 FVP
第一步
安裝 FVP
首先,安裝面向 Arm Corstone-320 的 FVP。按照 Arm ML 嵌入式評估套件項目安裝指南設置虛擬環境。
第二步
設置環境
接著,設置你的開發環境。克隆 Arm ML 嵌入式評估套件存儲庫并按照提供的設置說明進行操作。確保已安裝所有必要的依賴項。另請參閱 Arm ML 嵌入式評估套件的完整文檔。
第三步
探索示例應用
Arm ML 嵌入式評估套件項目提供了一系列 ML 應用示例。首先,通過探索這些示例來了解 Ethos-U NPU 和 Cortex-M CPU 的使用方法。運行提供的示例,以查看推理周期數和性能指標。
第四步
在 FVP 上部署和運行
選擇或開發 ML 應用后,在 Corstone-320 FVP上進行部署和運行。首先,編譯你的應用代碼并確保其與 FVP 環境兼容。將編譯后的二進制文件移動到虛擬環境并參考提供的指南。確保根據你的配置遵循相應的部署說明。
部署后,在 FVP 上開始運行應用。監控輸出日志并使用調試工具來跟蹤模型的性能和功能。利用收集到的性能指標進一步微調和優化你的 ML 應用。
修改現有的 Arm ML 嵌入式評估套件模型或集成你自己的自定義模型,以查看它們在 Corstone-320 FVP 上的表現。通過嘗試不同的場景來優化性能。
增強開發工作流
為了進一步增進你的開發能力,請探索旨在簡化工作流的 Arm 項目和工具。
使用 Arm Keil MDK v6 工具
Keil MDK v6 是 Arm 提供的全面軟件開發解決方案,適用于基于 Cortex-M 的微控制器和基于 Ethos 的 NPU。它提供了無縫創建、構建和調試應用所需的一切基本組件。
Keil MDK v6 利用 CMSIS-Pack 提供設備和電路板支持,并提供項目所需的軟件組件。新的 Keil Studio IDE 由一組 VS Code 擴展組成,全面支持 CMSIS 工作流并提供集成調試器來實現高效的開發體驗。
首先,安裝 Keil Studio Pack。對 CMSIS-Pack 的支持有助于加快開發和部署速度。在 Visual Studio Code 中安裝 Keil MDK v6 擴展時,會自動配置所有必要的工具,并自動安裝 Corstone FVP,以提高便利性。
在 GitHub 上,基于 CMSIS Pack 的 ML 示例可幫助你探索 Arm Keil MDK v6 工具。這些 ML 示例使用了 Keil MDK v6 和 MLEK中的 CMSIS-Pack。
探索其他項目和工具
除了上述步驟之外,還有其他一些重要資源可以提升你在使用 Corstone-320 FVP 時的開發體驗。
如果你想構建一個連接到云服務并內置安全功能的應用,那么 Arm Corstone FreeRTOS 參考集成是一個很好的起點。其中提供了一個包含 FreeRTOS 內核和庫的完全集成的堆棧,以及與 Trusted Firmware-M 安全庫集成的亞馬遜云科技 (AWS) 設備管理服務。
這符合嚴格的 PSA Certified 安全要求,并提供與 AWS 托管應用的加密通信、安全的端側存儲和設備認證等功能。此外也可以通過 PSA 固件更新機制安全地更新設備固件。
另一個用于仿真的資源是 Arm 虛擬硬件 (Arm Virtual Hardware) 平臺,你可以在云端模擬硬件,用于開發和測試目的。利用這個平臺,你可以在將應用部署到實際硬件上之前,在虛擬環境中進行測試,從而加快開發周期。
結論
隨著 Arm Corstone-320 硬件和軟件的推出,開發者可以更輕松地開始構建引人注目、功能豐富的端點 AI 應用。Arm 提供了一系列全面且易于使用的項目和教程,幫助你充分利用 Arm IP。在上述示例中,Corstone-320 FVP 與 Arm ML 嵌入式評估套件相結合,為在嵌入式和物聯網設備上開發和評估 ML 應用提供了一個強大的平臺。通過本指南,即可利用預先集成的系統 IP 和 Arm 提供的各種工具來高效地創建和優化 ML 工作負載。
此外,Arm Developer Community 提供了豐富的教程、文檔,并設有論壇,你可以在其中找到問題的答案并與其他開發者分享見解。這些資源將幫助您充分利用 Corstone-320 FVP 并增強 ML 應用開發能力。
-
處理器
+關注
關注
68文章
19281瀏覽量
229780 -
ARM
+關注
關注
134文章
9091瀏覽量
367500 -
機器學習
+關注
關注
66文章
8416瀏覽量
132616
原文標題:即刻動手嘗試!面向 Arm Ethos-U85 NPU 和 Cortex-M85 處理器的 Corstone-320 FVP
文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論