13.1.16. 模型動物園與 NPU 轉換

IDE 隨附一個預先訓練的機器學習模型函式庫——臉部偵測、人物偵測、物件偵測、姿態估計等等——並透過 IDE 的資源更新保持最新。Tools → Machine Vision → Open Model Zoo 可瀏覽此函式庫:選取一個模型即可在檔案樹旁看到其說明頁面,並勾選篩選器以將清單縮小至適合你開發板的模型。

Model Zoo 瀏覽器:左側為模型樹並選取了一個模型,右側為其說明頁面,底部則有依開發板類型篩選的核取方塊

Model Zoo 瀏覽器,已選取一個模型並開啟其說明頁面。

選擇一個模型後,IDE 會將其複製出來以供執行:當目標開發板具有 NPU 加速器時,它會為該開發板的 NPU 轉換模型,將相符的標籤檔一併複製,並將目的地預設為已連線相機的磁碟機。從那裡開始,指令碼端只需呼叫一次 ml.Model 建構式即可。同樣的瀏覽器也可從 ROMFS 編輯器內部開啟,對於具有 ROMFS 的開發板而言,那是放置模型更好的目的地——ROMFS 中的模型可直接從 flash(快閃記憶體)執行,無需複製到 RAM。

13.1.16.1. 轉換其他模型

Tools → Machine Vision → Convert Model for NPU 會對來自任何其他地方的模型執行相同的轉換——以 Edge Impulse 或 Roboflow 訓練的、從訓練框架匯出的,或下載而來的模型。配備 NPU 的開發板各自都有一個由 IDE 附帶並驅動的廠商編譯器:Ethos-U NPU 使用 Vela,而 ST Neural-ART NPU 則使用 ST Edge AI。此工具會從已連線的相機取得目標開發板(或在沒有連線時詢問),並從你那裡取得模型檔案。已轉換的模型會被辨識出來並直接複製,而當所選開發板沒有 NPU 時,此工具會說明這一點並略過轉換——未轉換的模型仍可在這些開發板上以 CPU 執行。

在配備 NPU 的開發板上,轉換並非可有可無:未轉換的模型最好的情況也只是退回到 CPU 並以慢上許多倍的速度執行,而在某些開發板上它根本無法執行。ROMFS 編輯器與模型動物園會自動套用轉換;此選單項目則是為了透過其他途徑取得的模型而存在。

請參閱

如需透過 ml 模組執行模型並訓練自訂模型,請參閱 機器學習章節