TensorFlow Lite لأجهزة Android

يتيح لك TensorFlow Lite تشغيل نماذج TensorFlow للتعلم الآلي (ML) في تطبيقات Android. يوفر نظام TensorFlow Lite بيئات تنفيذ مسبقة الصنع وقابلة للتخصيص لتشغيل النماذج على Android بسرعة وكفاءة، بما في ذلك خيارات لتسريع الأجهزة.

خارطة طريق التعلم

تصميم الكود تعلم المفاهيم وتصميم الأكواد لإنشاء تطبيقات Android باستخدام TensorFlow Lite، فقط استمر في القراءة .
كود البدء السريع ابدأ في برمجة تطبيق Android باستخدام TensorFlow Lite على الفور باستخدام Quickstart .
نماذج مل تعرف على كيفية اختيار نماذج تعلم الآلة واستخدامها مع TensorFlow Lite، راجع مستندات النماذج .

نماذج التعلم الآلي

يستخدم TensorFlow Lite نماذج TensorFlow التي يتم تحويلها إلى تنسيق نموذج تعلم آلي أصغر حجمًا ومحمولًا وأكثر كفاءة. يمكنك استخدام النماذج المعدة مسبقًا مع TensorFlow Lite على Android، أو إنشاء نماذج TensorFlow الخاصة بك وتحويلها إلى تنسيق TensorFlow Lite.

تناقش هذه الصفحة استخدام نماذج التعلم الآلي التي تم إنشاؤها بالفعل ولا تغطي بناء النماذج أو تدريبها أو اختبارها أو تحويلها. تعرف على المزيد حول اختيار نماذج التعلم الآلي وتعديلها وإنشائها وتحويلها لـ TensorFlow Lite في قسم النماذج .

تشغيل النماذج على Android

يستقبل نموذج TensorFlow Lite الذي يعمل داخل تطبيق Android البيانات، ويعالجها، وينشئ تنبؤًا بناءً على منطق النموذج. يتطلب نموذج TensorFlow Lite بيئة تشغيل خاصة من أجل التنفيذ، ويجب أن تكون البيانات التي يتم تمريرها إلى النموذج بتنسيق بيانات محدد يسمى Tensor . عندما يقوم النموذج بمعالجة البيانات، المعروفة باسم تشغيل الاستدلال ، فإنه ينشئ نتائج تنبؤية كموترات جديدة، ويمررها إلى تطبيق Android حتى يتمكن من اتخاذ إجراء، مثل عرض النتيجة لمستخدم أو تنفيذ منطق عمل إضافي.

تدفق التنفيذ الوظيفي لنماذج TensorFlow Lite في تطبيقات Android

الشكل 1. تدفق التنفيذ الوظيفي لنماذج TensorFlow Lite في تطبيقات Android.

على مستوى التصميم الوظيفي، يحتاج تطبيق Android الخاص بك إلى العناصر التالية لتشغيل نموذج TensorFlow Lite:

  • بيئة تشغيل TensorFlow Lite لتنفيذ النموذج
  • معالج الإدخال النموذجي لتحويل البيانات إلى موترات
  • معالج الإخراج النموذجي لتلقي موترات نتيجة الإخراج وتفسيرها على أنها نتائج تنبؤية

تصف الأقسام التالية كيف توفر مكتبات وأدوات TensorFlow Lite هذه العناصر الوظيفية.

أنشئ تطبيقات باستخدام TensorFlow Lite

يصف هذا القسم المسار الموصى به والأكثر شيوعًا لتطبيق TensorFlow Lite في تطبيق Android الخاص بك. يجب أن تولي اهتمامًا كبيرًا لبيئة التشغيل وأقسام مكتبات التطوير . إذا قمت بتطوير نموذج مخصص، فتأكد من مراجعة قسم مسارات التطوير المتقدمة .

خيارات بيئة وقت التشغيل

هناك عدة طرق يمكنك من خلالها تمكين بيئة وقت التشغيل لتنفيذ النماذج في تطبيق Android الخاص بك. هذه هي الخيارات المفضلة:

بشكل عام، يجب عليك استخدام بيئة التشغيل التي توفرها خدمات Google Play لأنها أكثر كفاءة في استخدام المساحة من البيئة القياسية حيث يتم تحميلها ديناميكيًا، مما يجعل حجم تطبيقك أصغر. تستخدم خدمات Google Play أيضًا الإصدار الأحدث والأكثر استقرارًا من وقت تشغيل TensorFlow Lite تلقائيًا، مما يمنحك ميزات إضافية وأداء محسنًا بمرور الوقت. إذا كنت تقدم تطبيقك على أجهزة لا تتضمن خدمات Google Play أو كنت بحاجة إلى إدارة بيئة تشغيل تعلم الآلة عن كثب، فيجب عليك استخدام وقت تشغيل TensorFlow Lite القياسي. يجمع هذا الخيار تعليمات برمجية إضافية في تطبيقك، مما يتيح لك المزيد من التحكم في وقت تشغيل ML في تطبيقك على حساب زيادة حجم تنزيل تطبيقك.

يمكنك الوصول إلى بيئات وقت التشغيل هذه في تطبيق Android الخاص بك عن طريق إضافة مكتبات تطوير TensorFlow Lite إلى بيئة تطوير التطبيق لديك. للحصول على معلومات حول كيفية استخدام بيئات التشغيل القياسية في تطبيقك، راجع القسم التالي.

واجهات برمجة التطبيقات والمكتبات التطويرية

هناك نوعان من واجهات برمجة التطبيقات الرئيسية التي يمكنك استخدامها لدمج نماذج التعلم الآلي TensorFlow Lite في تطبيق Android الخاص بك:

توفر Interpreter API فئات وطرق لتشغيل الاستدلالات مع نماذج TensorFlow Lite الموجودة. تغطي واجهة برمجة تطبيقات TensorFlow Lite Task API واجهة Interpreter API وتوفر واجهة برمجة عالية المستوى لأداء مهام التعلم الآلي الشائعة في التعامل مع البيانات المرئية والصوتية والنصية. يجب عليك استخدام Task API إلا إذا وجدت أنها لا تدعم حالة الاستخدام المحددة الخاصة بك.

المكتبات

يمكنك الوصول إلى Task APIs أو Interpreter API باستخدام خدمات Google Play . يمكنك أيضًا استخدام المكتبات المستقلة لمهام TensorFlow Lite أو TensorFlow Lite الأساسية ومكتبات الدعم في تطبيق Android الخاص بك. للحصول على تفاصيل البرمجة حول استخدام مكتبات TensorFlow Lite وبيئات التشغيل، راجع أدوات التطوير لنظام Android .

الحصول على النماذج

يتطلب تشغيل نموذج في تطبيق Android نموذجًا بتنسيق TensorFlow Lite. يمكنك استخدام النماذج المعدة مسبقًا أو إنشاء نموذج باستخدام TensorFlow وتحويله إلى تنسيق Lite. لمزيد من المعلومات حول الحصول على نماذج لتطبيق Android الخاص بك، راجع قسم نماذج TensorFlow Lite.

التعامل مع البيانات المدخلة

يجب أن تكون أي بيانات تقوم بتمريرها إلى نموذج تعلم الآلة عبارة عن موتر ذي بنية بيانات محددة، يُطلق عليها غالبًا شكل الموتر. لمعالجة البيانات باستخدام نموذج، يجب أن يقوم رمز تطبيقك بتحويل البيانات من تنسيقها الأصلي، مثل بيانات الصورة أو النص أو الصوت، إلى موتر بالشكل المطلوب لنموذجك.

توفر مكتبة المهام TensorFlow Lite منطق معالجة البيانات لتحويل البيانات المرئية والنصية والصوتية إلى موترات بالشكل الصحيح لتتم معالجتها بواسطة نموذج TensorFlow Lite.

تشغيل الاستدلالات

تُعرف معالجة البيانات من خلال نموذج لتوليد نتيجة التنبؤ بتشغيل الاستدلال . يتطلب تشغيل الاستدلال في تطبيق Android بيئة تشغيل TensorFlow Lite ونموذجًا وبيانات إدخال .

تعتمد السرعة التي يمكن للنموذج من خلالها إنشاء استنتاج على جهاز معين على حجم البيانات المعالجة، وتعقيد النموذج، وموارد الحوسبة المتاحة مثل الذاكرة ووحدة المعالجة المركزية، أو المعالجات المتخصصة التي تسمى المسرعات . يمكن أن تعمل نماذج التعلم الآلي بشكل أسرع على هذه المعالجات المتخصصة مثل وحدات معالجة الرسومات (GPUs) ووحدات معالجة الموتر (TPUs)، وذلك باستخدام برامج تشغيل الأجهزة TensorFlow Lite التي تسمى المفوضين . لمزيد من المعلومات حول المفوضين وتسريع الأجهزة لمعالجة النموذج، راجع نظرة عامة على تسريع الأجهزة .

التعامل مع نتائج الإخراج

تولد النماذج نتائج تنبؤية كموترات، والتي يجب التعامل معها بواسطة تطبيق Android الخاص بك عن طريق اتخاذ إجراء أو عرض نتيجة للمستخدم. يمكن أن تكون نتائج مخرجات النموذج بسيطة مثل رقم يتوافق مع نتيجة واحدة (0 = كلب، 1 = قطة، 2 = طائر) لتصنيف الصور، إلى نتائج أكثر تعقيدًا، مثل المربعات المحيطة المتعددة للعديد من الكائنات المصنفة في الصورة، مع تصنيفات ثقة التنبؤ بين 0 و 1.

مسارات التطوير المتقدمة

عند استخدام نماذج TensorFlow Lite الأكثر تطورًا وتخصيصًا، قد تحتاج إلى استخدام أساليب تطوير أكثر تقدمًا مما هو موضح أعلاه. تصف الأقسام التالية التقنيات المتقدمة لتنفيذ النماذج وتطويرها لـ TensorFlow Lite في تطبيقات Android.

بيئات التشغيل المتقدمة

بالإضافة إلى وقت التشغيل القياسي وبيئات تشغيل خدمات Google Play لـ TensorFlow Lite، هناك بيئات تشغيل إضافية يمكنك استخدامها مع تطبيق Android الخاص بك. الاستخدام الأكثر ترجيحًا لهذه البيئات هو إذا كان لديك نموذج تعلم آلي يستخدم عمليات تعلم الآلة التي لا تدعمها بيئة التشغيل القياسية لـ TensorFlow Lite.

يتيح لك وقت تشغيل TensorFlow Lite Flex تضمين عوامل تشغيل محددة مطلوبة لنموذجك. كخيار متقدم لتشغيل النموذج الخاص بك، يمكنك إنشاء TensorFlow Lite لنظام Android ليشمل عوامل التشغيل والوظائف الأخرى المطلوبة لتشغيل نموذج التعلم الآلي TensorFlow الخاص بك. لمزيد من المعلومات، راجع إنشاء TensorFlow Lite لنظام Android .

واجهات برمجة التطبيقات C وC++

يوفر TensorFlow Lite أيضًا واجهة برمجة التطبيقات (API) لتشغيل النماذج باستخدام C وC++. إذا كان تطبيقك يستخدم Android NDK ، فيجب أن تفكر في استخدام واجهة برمجة التطبيقات هذه. قد ترغب أيضًا في التفكير في استخدام واجهة برمجة التطبيقات (API) هذه إذا كنت تريد أن تتمكن من مشاركة التعليمات البرمجية بين منصات متعددة. لمزيد من المعلومات حول خيار التطوير هذا، راجع صفحة أدوات التطوير .

تنفيذ النموذج القائم على الخادم

بشكل عام، يجب عليك تشغيل النماذج في تطبيقك على جهاز Android للاستفادة من زمن الاستجابة المنخفض وتحسين خصوصية البيانات للمستخدمين. ومع ذلك، هناك حالات يكون فيها تشغيل النموذج على خادم سحابي، خارج الجهاز، حلاً أفضل. على سبيل المثال، إذا كان لديك نموذج كبير لا يمكن ضغطه بسهولة إلى حجم يناسب أجهزة Android الخاصة بالمستخدمين، أو يمكن تنفيذه بأداء معقول على تلك الأجهزة. قد يكون هذا الأسلوب أيضًا هو الحل المفضل لديك إذا كان الأداء المتسق للنموذج عبر مجموعة واسعة من الأجهزة يمثل الأولوية القصوى.

تقدم Google Cloud مجموعة كاملة من الخدمات لتشغيل نماذج التعلم الآلي TensorFlow. لمزيد من المعلومات، راجع صفحة منتجات الذكاء الاصطناعي والتعلم الآلي في Google Cloud.

تطوير النماذج المخصصة وتحسينها

من المرجح أن تتضمن مسارات التطوير الأكثر تقدمًا تطوير نماذج مخصصة للتعلم الآلي وتحسين تلك النماذج لاستخدامها على أجهزة Android. إذا كنت تخطط لإنشاء نماذج مخصصة، فتأكد من مراعاة تطبيق تقنيات التكميم على النماذج لتقليل تكاليف الذاكرة والمعالجة. لمزيد من المعلومات حول كيفية إنشاء نماذج عالية الأداء للاستخدام مع TensorFlow Lite، راجع أفضل ممارسات الأداء في قسم النماذج.

الخطوات التالية