استكشاف الأجهزة وإعدادها

في Android 10، تقدم واجهة برمجة تطبيقات الشبكات العصبية (NNAPI) وظائف تسمح لمكتبات وتطبيقات إطار عمل التعلم الآلي بالحصول على معلومات حول الأجهزة المتاحة وتحديد الأجهزة التي سيتم تنفيذ النموذج عليها. يتيح توفير معلومات حول الأجهزة المتاحة للتطبيقات الحصول على الإصدار الدقيق لبرامج التشغيل الموجودة على الجهاز لتجنب حالات عدم التوافق المعروفة. من خلال منح التطبيقات القدرة على تحديد الأجهزة التي ستنفذ أقسامًا مختلفة من النموذج، يمكن تحسين التطبيقات للمنتج الذي يتم نشرها عليه.

مطلوب دعم اكتشاف الجهاز وتعيينه لتطبيقات NN HAL 1.2.

تطبيق

لدعم ميزات اكتشاف الجهاز وتعيينه في NNAPI، قم بتطبيق getType و getVersionString في IDevice.hal للسماح لإطار العمل بالحصول على نوع الجهاز وإصدار برنامج التشغيل.

لكل جهاز، حدد النوع كواحدة من الفئات التالية كما هو محدد في DeviceType في types.hal .

  • OTHER : جهاز لا يندرج ضمن أي من الفئات الأخرى، بما في ذلك الواجهة غير المتجانسة، وهي واجهة IDevice واحدة تدير أجهزة متعددة، ربما من أنواع مختلفة. يجب أيضًا على برنامج التشغيل ذو الواجهة غير المتجانسة الكشف عن واجهات IDevice المنفصلة التي تتوافق مع الأجهزة الفردية للسماح للتطبيق بالاختيار من بين تلك الأجهزة.
  • CPU : وحدة معالجة مركزية أحادية النواة أو متعددة النواة.
  • GPU : وحدة معالجة الرسومات التي يمكنها تشغيل نماذج NNAPI وتسريع واجهات برمجة التطبيقات الرسومية مثل OpenGL ES وVulkan.
  • ACCELERATOR : وحدة معالجة عصبية مخصصة (NPU).

قم بتطبيق getVersionString في IDevice.hal للحصول على سلسلة إصدار تطبيق الجهاز. يجب أن تقوم هذه الطريقة بإرجاع سلسلة يمكن قراءتها بواسطة الإنسان. تنسيق السلسلة خاص بالبائع. يجب أن تكون سلسلة الإصدار مختلفة لكل إصدار جديد من برنامج التشغيل.

يجب أن يتبع اسم واجهة IDevice التنسيق {VENDOR}-{DEVICE_NAME} .