في Android 10 ، تقدم واجهة برمجة تطبيقات الشبكات العصبية (NNAPI) وظائف تسمح للمكتبات والتطبيقات الخاصة بإطار عمل التعلم الآلي بالحصول على معلومات حول الأجهزة المتاحة وتحديد الأجهزة التي سيتم تنفيذ النموذج عليها. يتيح توفير معلومات حول الأجهزة المتاحة للتطبيقات الحصول على الإصدار الدقيق من برامج التشغيل الموجودة على الجهاز لتجنب حالات عدم التوافق المعروفة. من خلال منح التطبيقات القدرة على تحديد الأجهزة التي ستقوم بتنفيذ أقسام مختلفة من النموذج ، يمكن تحسين التطبيقات للمنتج الذي يتم نشرها عليه.
مطلوب دعم لاكتشاف الجهاز والتعيين لتطبيقات NN HAL 1.2.
التنفيذ
لدعم اكتشاف الجهاز وميزات التعيين في NNAPI ، قم بتنفيذ getType
و getVersionString
في IDevice.hal
للسماح لإطار العمل بالحصول على نوع الجهاز وإصدار برنامج التشغيل.
لكل جهاز ، حدد النوع كإحدى الفئات التالية كما هو محدد في نوع types.hal
DeviceType
-
OTHER
: جهاز لا يندرج ضمن أي فئة من الفئات الأخرى ، بما في ذلك الواجهة غير المتجانسة ، وهي واجهةIDevice
واحدة تدير أجهزة متعددة ، ربما من أنواع مختلفة. يجب أيضًا أن يكشف برنامج التشغيل بواجهة غير متجانسة واجهاتIDevice
المنفصلة التي تتوافق مع الأجهزة الفردية للسماح للتطبيق بالاختيار من بين تلك الأجهزة. - وحدة المعالجة المركزية (
CPU
): وحدة معالجة مركزية أحادية النواة أو متعددة النواة. -
GPU
: وحدة معالجة رسومات يمكنها تشغيل نماذج NNAPI وتسريع واجهات برمجة تطبيقات الرسومات مثل OpenGL ES و Vulkan. -
ACCELERATOR
: وحدة معالجة عصبية مخصصة (NPU).
نفِّذ getVersionString
في IDevice.hal
للحصول على سلسلة إصدار تطبيق الجهاز. يجب أن تُرجع هذه الطريقة سلسلة نصية يمكن للبشر قراءتها. تنسيق السلسلة خاص بالمورد. يجب أن تكون سلسلة الإصدار مختلفة لكل إصدار جديد من برنامج التشغيل.
يجب أن يتبع اسم واجهة IDevice
{VENDOR}-{DEVICE_NAME}
.