TensorFlow Lite لأجهزة Android

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

نماذج تعلُّم الآلة

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

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

المكتبات

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

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

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

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

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

تنفيذ الاستنتاجات

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

تعتمد السرعة التي يمكن أن يستخلص بها النموذج على جهاز معين على حجم البيانات التي تتم معالجتها وتعقيد النموذج وموارد الحوسبة المتاحة مثل الذاكرة ووحدة المعالجة المركزية (CPU)، أو المعالِجات المتخصصة المسماة المسرّعات. يمكن تشغيل نماذج تعلُّم الآلة بشكل أسرع على هذه المعالجات المتخصصة مثل وحدات معالجة الرسومات (وحدات معالجة الرسومات) ووحدات معالجة الموتر (TPU)، باستخدام برامج تشغيل أجهزة TensorFlow Lite التي تُعرف باسم المفوَّضين. لمزيد من المعلومات حول المفوَّضين وتسريع الأجهزة لمعالجة النماذج، راجع نظرة عامة على تسريع الأجهزة.

التعامل مع نتائج النتائج

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

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

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

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

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

  • وقت تشغيل Flex لتطبيق TensorFlow Lite
  • وقت تشغيل TensorFlow Lite المصمَّم خصيصًا

يتيح لك وقت تشغيل Flex من TensorFlow Lite تضمين عوامل تشغيل محدّدة مطلوبة لنموذجك. كخيار متقدم لتشغيل النموذج الخاص بك، يمكنك إنشاء 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، يُرجى الاطّلاع على أفضل ممارسات الأداء في قسم "النماذج".