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

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

إذا كان لديك نموذج 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 أو تحويل نموذج تقوم بإنشائه في التعليمات البرمجية مباشرةً.

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

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

تحويل متقدم

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

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

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