الأسئلة الشائعة

إذا لم تجد إجابة لسؤالك هنا، فيرجى الاطلاع على الوثائق التفصيلية الخاصة بنا حول الموضوع أو تقديم مشكلة في GitHub .

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

ما التنسيقات المدعومة للتحويل من TensorFlow إلى TensorFlow Lite؟

التنسيقات المدعومة مدرجة هنا

لماذا لا يتم تنفيذ بعض العمليات في TensorFlow Lite؟

من أجل الحفاظ على خفة وزن TFLite، يتم دعم بعض مشغلي TF فقط (المدرجين في القائمة المسموح بها ) في TFLite.

لماذا لا يتم تحويل النموذج الخاص بي؟

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

بالنسبة لمشكلات التحويل غير المتعلقة بالعمليات المفقودة أو عمليات التحكم في التدفق، ابحث في مشكلات GitHub الخاصة بنا أو قم بتقديم مشكلة جديدة .

كيف يمكنني اختبار أن نموذج TensorFlow Lite يتصرف بنفس الطريقة التي يتصرف بها نموذج TensorFlow الأصلي؟

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

كيف يمكنني تحديد المدخلات/المخرجات للمخزن المؤقت لبروتوكول GraphDef؟

أسهل طريقة لفحص الرسم البياني من ملف .pb هي استخدام Netron ، وهو عارض مفتوح المصدر لنماذج التعلم الآلي.

إذا لم يتمكن Netron من فتح الرسم البياني، فيمكنك تجربة أداة Summary_graph .

إذا أنتجت أداة Summary_graph خطأ، فيمكنك تصور GraphDef باستخدام TensorBoard والبحث عن المدخلات والمخرجات في الرسم البياني. لتصور ملف .pb ، استخدم البرنامج النصي import_pb_to_tensorboard.py كما هو موضح أدناه:

python import_pb_to_tensorboard.py --model_dir <model path> --log_dir <log dir path>

كيف يمكنني فحص ملف .tflite ؟

Netron هي أسهل طريقة لتصور نموذج TensorFlow Lite.

إذا لم يتمكن Netron من فتح نموذج TensorFlow Lite الخاص بك، فيمكنك تجربة البرنامج النصي visualize.py في مستودعنا.

إذا كنت تستخدم TF 2.5 أو إصدار أحدث

python -m tensorflow.lite.tools.visualize model.tflite visualized_model.html

بخلاف ذلك، يمكنك تشغيل هذا البرنامج النصي باستخدام Bazel

bazel run //tensorflow/lite/tools:visualize model.tflite visualized_model.html

تحسين

كيف يمكنني تقليل حجم نموذج TensorFlow Lite المحول؟

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

إذا كانت إعادة تدريب النموذج خيارًا، ففكر في التدريب المراعي للتكميم . ومع ذلك، لاحظ أن التدريب المدرك للتكميم متاح فقط لمجموعة فرعية من بنيات الشبكات العصبية التلافيفية.

للحصول على فهم أعمق لأساليب التحسين المختلفة، انظر إلى تحسين النموذج .

كيف يمكنني تحسين أداء TensorFlow Lite لمهمة التعلم الآلي الخاصة بي؟

تبدو العملية عالية المستوى لتحسين أداء TensorFlow Lite كما يلي:

  • تأكد من أن لديك النموذج المناسب للمهمة. لتصنيف الصور، راجع TensorFlow Hub .
  • قم بتعديل عدد المواضيع. يدعم العديد من مشغلي TensorFlow Lite النواة متعددة الخيوط. يمكنك استخدام SetNumThreads() في C++ API للقيام بذلك. ومع ذلك، تؤدي زيادة مؤشرات الترابط إلى تباين الأداء اعتمادًا على البيئة.
  • استخدم مسرعات الأجهزة. يدعم TensorFlow Lite تسريع النموذج لأجهزة معينة باستخدام المفوضين. راجع دليل المندوبين الخاص بنا للحصول على معلومات حول المسرعات المدعومة وكيفية استخدامها مع النموذج الموجود على جهازك.
  • (متقدم) نموذج الملف الشخصي. تحتوي أداة قياس الأداء Tensorflow Lite على ملف تعريف مدمج يمكنه عرض إحصائيات لكل مشغل. إذا كنت تعرف كيف يمكنك تحسين أداء المشغل لنظامك الأساسي المحدد، فيمكنك تنفيذ عامل تشغيل مخصص .

لمزيد من المناقشة المتعمقة حول كيفية تحسين الأداء، قم بإلقاء نظرة على أفضل الممارسات .