اكتشاف الجهاز والتعيين

في 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} .