為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將於 2026 年起,在第 2 季和第 4 季將原始碼發布至 AOSP。如要建構及貢獻 AOSP,建議使用 android-latest-release,而非 aosp-main。android-latest-release 資訊清單分支版本一律會參照推送至 AOSP 的最新版本。詳情請參閱「Android 開放原始碼計畫變更」一文。
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
探索和指派裝置
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
在 Android 10 中,Neural Networks API (NNAPI) 導入了相關函式,可讓機器學習架構程式庫和應用程式取得與可用裝置相關的資訊,並指定要在哪些裝置上執行模型。透過提供可用裝置相關資訊,可讓應用程式取得裝置上所安裝驅動程式的確切版本,從而避免已知的不相容問題。如果允許應用程式指定要使用哪些裝置執行模型的不同部分,應用程式就能針對自己部署所在的產品進行最佳化。
NN HAL 1.2 實作需要支援裝置探索和指派。
實作
如要支援 NNAPI 中的裝置探索和指派功能,請在 IDevice.hal 中實作 getType 和 getVersionString,讓架構取得裝置類型和驅動程式版本。
針對每部裝置,請將類型指定為下列其中一個類別,如
DeviceType
的
types.hal中所述。
OTHER:不屬於任何其他類別的裝置,包括異質介面 (即管理多個裝置的單一 IDevice 介面,這些裝置可能屬於不同類型)。如果驅動程式具有異質介面,也應公開對應個別裝置的獨立 IDevice 介面,讓應用程式從這些裝置中選擇。
CPU:單核心或多核心 CPU。
GPU:可執行 NNAPI 模型,並加速 OpenGL ES 和 Vulkan 等圖形 API 的 GPU。
ACCELERATOR:專用的神經處理單元 (NPU)。
實作
getVersionString
,以便取得裝置實作項目的版本字串。
IDevice.hal這個方法必須傳回使用者可判讀的字串。字串格式因供應商而異。每個新版驅動程式的版本字串都必須不同。
IDevice 介面的名稱必須採用 {VENDOR}-{DEVICE_NAME} 格式。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-12-02 (世界標準時間)。
[[["容易理解","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-12-02 (世界標準時間)。"],[],[]]