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

تم تصميم نماذج التعلم الآلي (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 API منخفض المستوى.

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

إذا كان لديك نموذج 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. تسمح لك علامات التحسين بتحديد نوع التحسين المطلوب تطبيقه أثناء التحويل. تقنية التحسين الأكثر استخدامًا هي تقنية quanitization بعد التدريب .
  3. تسمح لك علامات البيانات الوصفية بإضافة البيانات الوصفية إلى النموذج المحول مما يسهل إنشاء كود غلاف خاص بالنظام الأساسي عند نشر النماذج على الأجهزة.

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

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

تحويل متقدم

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

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

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