גילוי והקצאה של מכשירים
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
ב-Android 10, Neural Networks API (NNAPI) כולל פונקציות שמאפשרות לספריות ולאפליקציות של למידת מכונה לקבל מידע על המכשירים הזמינים ולציין באילו מכשירים להפעיל מודל. המידע על המכשירים הזמינים מאפשר לאפליקציות לקבל את הגרסה המדויקת של מנהלי ההתקנים שנמצאים במכשיר, כדי למנוע חוסר תאימות ידוע. כשנותנים לאפליקציות את היכולת לציין אילו מכשירים מריצים קטעים שונים במודל, אפשר לבצע אופטימיזציה של האפליקציות למוצר שבו הן נפרסות.
להטמעות NN HAL 1.2 נדרשת תמיכה בגילוי והקצאה של מכשירים.
הטמעה
כדי לתמוך בתכונות של גילוי מכשירים והקצאה של מכשירים ב-NNAPI, צריך להטמיע את
getType
ו-getVersionString
ב-IDevice.hal
כדי לאפשר ל-framework לקבל את סוג המכשיר ואת גרסת מנהל ההתקן.
עבור כל מכשיר, מציינים את הסוג כאחת מהקטגוריות הבאות כפי שמצוין ב-DeviceType
ב-types.hal
.
OTHER
: מכשיר שלא נכלל באף אחת מהקטגוריות האחרות, כולל ממשק הטרוגני, שהוא ממשק IDevice
אחד שמנהל מספר מכשירים, לפעמים גם מסוגים שונים. נהג עם ממשק הטרוגני צריך גם לחשוף ממשקי IDevice
נפרדים שמתאימים למכשירים ספציפיים כדי לאפשר לאפליקציה לבחור מבין המכשירים האלה.
CPU
: מעבד עם ליבה אחת או כמה ליבות.
GPU
: יחידת GPU שיכולה להריץ מודלים של NNAPI ולהאיץ ממשקי API גרפיים כמו OpenGL ES ו-Vulkan.
ACCELERATOR
: יחידה ייעודית לעיבוד עצבי (NPU).
מטמיעים את getVersionString
ב-IDevice.hal
כדי לקבל את מחרוזת הגרסה של ההטמעה במכשיר.
השיטה הזו חייבת להחזיר מחרוזת שבני אדם יכולים לקרוא. הפורמט של המחרוזת הוא ספציפי לספק. מחרוזת הגרסה צריכה להיות שונה בכל גרסה חדשה של מנהל התקן.
השם של הממשק IDevice
חייב להיות בפורמט {VENDOR}-{DEVICE_NAME}
.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-07-04 (שעון UTC).
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"חסרים לי מידע או פרטים"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"התוכן מורכב מדי או עם יותר מדי שלבים"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"התוכן לא עדכני"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"בעיה בתרגום"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"בעיה בדוגמאות/בקוד"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"סיבה אחרת"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"התוכן קל להבנה"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"התוכן עזר לי לפתור בעיה"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"סיבה אחרת"
}]
{"lastModified": "\u05e2\u05d3\u05db\u05d5\u05df \u05d0\u05d7\u05e8\u05d5\u05df: 2024-07-04 (\u05e9\u05e2\u05d5\u05df UTC)."}
[[["התוכן קל להבנה","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"]],["עדכון אחרון: 2024-07-04 (שעון UTC)."]]