التحكّم في التدفق

بدءًا من الإصدار Android 11، يتضمّن NNAPI عمليتَي تدفق تحكّم، وهما IF وWHILE، اللتان تأخذان نماذج أخرى كوسيطات، وتنفيذهما بشكل مشروط (IF) أو متكرّر (WHILE). يتيح ذلك IFإنشاء نماذج تنفّذ عمليات مختلفة استنادًا إلى قيم الإدخالWHILE أو تنفّذ العمليات عدّة مرات بدون إلغاء التفاف. وهذا مهم لحالات الاستخدام مثل الشبكات العصبية التسلسلية الديناميكية وseq2seq.

في NN HAL 1.3، يدمج النموذج عدة رسومات فرعية، بما في ذلك الرسم الفرعي الرئيسي الذي يُستخدَم لتحديد مدخلات ومخرجات التنفيذ. يمكن أن تشير الشبكة الفرعية إلى شبكات فرعية أخرى باستخدام عوامل التشغيل من النوع SUBGRAPH. لا يمكن لإطار العمل إرسال عملية تدفق تحكّم إلى مسرع إلا إذا كان المسرع يتيح جميع العمليات في جميع المخططات الفرعية التي تشير إليها عملية تدفق التحكّم.

واجهات HAL

في NN HAL 1.3، تكون التعريفات ذات الصلة بالتحكّم في التدفق في types.hal.

يحتوي IDevice.hal على IDevice، ويجب أن تتعامل الطريقة getSupportedOperations_1_3() مع IF وWHILE بشكل مختلف عن العمليات الأخرى.

يحتوي IPreparedModel.hal على IPreparedModel، وتستخدِم طرقه execute_1_3() executeSynchronously_1_3() وexecuteFenced() وسيطة اختيارية loopTimeoutDuration.

تنفيذ برنامج التشغيل

للحصول على نموذج لتنفيذ عملية، يُرجى الاطّلاع على CpuExecutor::executeIfOperation و CpuExecutor::executeWhileOperation. للحصول على نموذج لمنطق التحقّق من العمليات، يُرجى الاطّلاع على validateIfOperation() و validateWhileOperation().

يُرجى العلم أنّه من المهمّ أن تتيح الدوالّ إجراء العمليات الحسابية وعمليات المقارنة على TENSOR_INT32 المُشغِّلات ذات الشكل 1، لأنّه يمكن استخدامها كمعدّلات للحلقات. وبالمثل، يجب استخدام العمليات التي تُنشئ عوامل تشغيل TENSOR_BOOL8 ذات شكل 1 مع شروط IF وWHILE.

مهلة تنفيذ حلقة التكرار WHILE

لمنع تكرار الحلقات إلى ما لا نهاية، يجب إيقاف التنفيذ إذا استغرقت حلقة WHILE وقتًا أطول من قيمة loopTimeoutDuration التي تم تمريرها إلى طلب IPreparedModel::execute_1_3() أو IPreparedModel::executeSynchronously_1_3() أو IPreparedModel::executeFenced() (أو القيمة التلقائية في حال حذفها).

التحقُّق

تشكّل اختبارات تدفّق التحكّم جزءًا من مجموعتَي اختبارات CTS وVTS. لمزيد من المعلومات، يُرجى الاطّلاع على التحقّق.