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