نظرة عامة على تحويل النموذج

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

سير عمل التحويل

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

يوضح الرسم البياني أدناه الخطوات عالية المستوى في تحويل النموذج.

سير عمل تحويل TFLite

الشكل 1. سير عمل تحويل TensorFlow Lite.

توضح الأقسام التالية عملية تقييم النماذج وتحويلها للاستخدام مع TensorFlow Lite.

تنسيقات نماذج الإدخال

يمكنك استخدام المحول مع تنسيقات نماذج الإدخال التالية:

  • SavedModel ( موصى به ): نموذج TensorFlow محفوظ كمجموعة من الملفات على القرص.
  • نموذج Keras : نموذج تم إنشاؤه باستخدام واجهة برمجة تطبيقات Keras عالية المستوى.
  • تنسيق Keras H5 : بديل خفيف الوزن لتنسيق SavedModel المدعوم من Keras API.
  • النماذج المبنية من وظائف ملموسة : نموذج تم إنشاؤه باستخدام واجهة برمجة التطبيقات TensorFlow ذات المستوى المنخفض.

يمكنك حفظ كل من نموذجي Keras ونماذج الوظائف الملموسة كنموذج محفوظ والتحويل باستخدام المسار الموصى به.

إذا كان لديك نموذج Jax، فيمكنك استخدام TFLiteConverter.experimental_from_jax API لتحويله إلى تنسيق TensorFlow Lite. لاحظ أن واجهة برمجة التطبيقات هذه عرضة للتغيير أثناء وجودها في الوضع التجريبي.

تقييم التحويل

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

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

تحويل النموذج

يأخذ محول TensorFlow Lite نموذج TensorFlow ويقوم بإنشاء نموذج TensorFlow Lite (تنسيق FlatBuffer محسّن تم تحديده بواسطة ملحق الملف .tflite ). يمكنك تحميل SavedModel أو تحويل النموذج الذي تقوم بإنشائه مباشرة في التعليمات البرمجية.

يأخذ المحول 3 علامات (أو خيارات) رئيسية تعمل على تخصيص التحويل لنموذجك:

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

يمكنك تحويل النموذج الخاص بك باستخدام Python API أو أداة سطر الأوامر . راجع دليل طراز Convert TF للحصول على إرشادات خطوة بخطوة حول تشغيل المحول على الطراز الخاص بك.

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

التحويل المتقدم

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

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