TensorFlow Lite لنظام Android

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

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

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

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

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

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

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

يأخذ نموذج TensorFlow Lite الذي يعمل داخل تطبيق Android البيانات ويعالج البيانات ويولد تنبؤًا بناءً على منطق النموذج. يتطلب نموذج TensorFlow Lite بيئة تشغيل خاصة من أجل التنفيذ ، ويجب أن تكون البيانات التي يتم تمريرها في النموذج بتنسيق بيانات محدد ، يُسمى الموتر . عندما يقوم النموذج بمعالجة البيانات ، والمعروفة باسم تشغيل الاستدلال ، فإنه يولد نتائج التنبؤ على شكل موترات جديدة ، ويمررها إلى تطبيق 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 أو كنت بحاجة إلى إدارة بيئة وقت تشغيل ML الخاصة بك عن كثب ، فيجب عليك استخدام وقت تشغيل TensorFlow Lite القياسي. يجمع هذا الخيار رمزًا إضافيًا في تطبيقك ، مما يتيح لك مزيدًا من التحكم في وقت تشغيل ML في تطبيقك على حساب زيادة حجم تنزيل تطبيقك.

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

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

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

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

مكتبات

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

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

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

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

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

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

قم بتشغيل الاستدلالات

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

تعتمد السرعة التي يمكن بها للنموذج في توليد استدلال على جهاز معين على حجم البيانات التي تتم معالجتها ، وتعقيد النموذج ، والموارد الحاسوبية المتاحة مثل الذاكرة ووحدة المعالجة المركزية ، أو المعالجات المتخصصة التي تسمى المسرّعات . يمكن أن تعمل نماذج التعلم الآلي بشكل أسرع على هذه المعالجات المتخصصة مثل وحدات معالجة الرسومات (GPU) ووحدات معالجة الموتر (TPU) ، باستخدام برامج تشغيل أجهزة 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 أيضًا واجهة برمجة تطبيقات لتشغيل النماذج باستخدام C و C ++. إذا كان تطبيقك يستخدم Android NDK ، فيجب أن تفكر في استخدام واجهة برمجة التطبيقات هذه. قد ترغب أيضًا في التفكير في استخدام واجهة برمجة التطبيقات هذه إذا كنت تريد أن تكون قادرًا على مشاركة التعليمات البرمجية بين أنظمة أساسية متعددة. لمزيد من المعلومات حول خيار التطوير هذا ، راجع صفحة أدوات التطوير .

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

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

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

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

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

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