自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
NNAPI 驅動程式實作最佳做法
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁說明實作 Neural Networks API (NNAPI) 驅動程式的最佳做法,讓應用程式開發人員廣泛採用 NNAPI。
縮短啟動時間
如果驅動程式在首次使用時轉換模型的權重,請確認驅動程式支援編譯快取,這樣可縮短應用程式啟動時所需的編譯時間。這點很重要,因為如果應用程式啟動時間過長,可能會避免使用硬體加速功能。舉例來說,有些應用程式會產生超過 100 MB 的權重,每次啟動應用程式時轉換這些權重會造成資源浪費。
縮短延遲時間
如要確保模型使用硬體加速功能,
可將驅動程式的延遲時間降至最低許多應用程式都使用執行的小型模型
多次,如果執行工作負載所需的最短延遲時間太高
例如幾毫秒,模型可能會在 CPU 上執行工作負載
需要 1 或 2 毫秒的時間
使用硬體加速請務必謹慎執行昂貴的執行緒同步處理作業。
使用 NN HAL SchedTune 群組
從 Android 11 以上版本開始,AOSP 包含專屬的 NN HAL SchedTune 群組,可讓跨程序 NN HAL 程序使用大核心,類似於預先定義 top-app
cgroup 中的同程序實作。使用這個 SchedTune 群組可減少驅動程式負擔,特別是小型模型。
如要使用 SchedTune 群組,請在以下位置的 init.rc
檔案中新增下列程式碼:
NN HAL 程序:
writepid /dev/stune/nnapi-hal/tasks
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-04-04 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-04-04 (世界標準時間)。"],[],[]]