دليل تصدير نموذج YOLO26 إلى TFLite للنشر

TensorFlow Lite edge deployment framework

يتطلب نشر نماذج الرؤية الحاسوبية على أجهزة الحافة أو الأجهزة المدمجة تنسيقاً يضمن أداءً سلساً.

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

لماذا يجب عليك التصدير إلى TFLite؟

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

يتوافق TensorFlow Lite مع مجموعة واسعة من المنصات، بما في ذلك Linux المدمج، وAndroid، وiOS، والمتحكمات الدقيقة (MCUs). يجعل تصدير نموذجك إلى TFLite تطبيقاتك أسرع وأكثر موثوقية وقادرة على العمل دون اتصال بالإنترنت.

الميزات الرئيسية لنماذج TFLite

توفر نماذج TFLite مجموعة واسعة من الميزات الرئيسية التي تمكّن التعلم الآلي على الجهاز من خلال مساعدة المطورين على تشغيل نماذجهم على الأجهزة المحمولة والمدمجة وأجهزة الحافة:

  • التحسين على الجهاز: يعمل TFLite على التحسين للتعلم الآلي على الجهاز، مما يقلل من زمن الوصول عن طريق معالجة البيانات محلياً، ويعزز الخصوصية من خلال عدم نقل البيانات الشخصية، ويقلل من حجم النموذج لتوفير المساحة.

  • دعم منصات متعددة: يوفر TFLite توافقاً واسعاً مع المنصات، حيث يدعم Android وiOS وLinux المدمج والمتحكمات الدقيقة.

  • دعم لغات متنوعة: يتوافق TFLite مع لغات برمجة مختلفة، بما في ذلك Java وSwift وObjective-C وC++ وPython.

  • أداء عالٍ: يحقق أداءً متفوقاً من خلال تسريع الأجهزة وتحسين النموذج.

خيارات النشر في TFLite

قبل أن ننظر إلى الكود الخاص بتصدير نماذج YOLO26 إلى تنسيق TFLite، دعونا نفهم كيف تُستخدم نماذج TFLite عادةً.

يوفر TFLite خيارات متنوعة للنشر على الجهاز لنماذج التعلم الآلي، بما في ذلك:

  • النشر مع Android وiOS: يمكن لتطبيقات Android وiOS التي تستخدم TFLite تحليل خلاصات الكاميرا والمستشعرات القائمة على الحافة لاكتشاف الكائنات وتحديدها. يوفر TFLite أيضاً مكتبات iOS أصلية مكتوبة بلغتي Swift وObjective-C. يوضح مخطط البنية أدناه عملية نشر نموذج مدرب على منصتي Android وiOS باستخدام TensorFlow Lite.

TensorFlow Lite deployment architecture for mobile

  • التنفيذ مع Linux المدمج: إذا كان تشغيل الاستنتاجات على Raspberry Pi باستخدام دليل Ultralytics لا يلبي متطلبات السرعة لحالة استخدامك، يمكنك استخدام نموذج TFLite مصدر لتسريع أوقات الاستنتاج. بالإضافة إلى ذلك، من الممكن تحسين الأداء بشكل أكبر باستخدام جهاز Coral Edge TPU.

  • النشر مع المتحكمات الدقيقة: يمكن أيضاً نشر نماذج TFLite على المتحكمات الدقيقة والأجهزة الأخرى التي تحتوي على بضعة كيلوبايتات فقط من الذاكرة. يتناسب وقت التشغيل الأساسي مع 16 كيلوبايت على Arm Cortex M3 ويمكنه تشغيل العديد من النماذج الأساسية. ولا يتطلب دعم نظام التشغيل، أو أي مكتبات C أو C++ قياسية، أو تخصيصاً ديناميكياً للذاكرة.

التصدير إلى TFLite: تحويل نموذج YOLO26 الخاص بك

يمكنك تحسين كفاءة تنفيذ النموذج على الجهاز وتحسين الأداء عن طريق تحويل نماذجك إلى تنسيق TFLite.

التثبيت

لتثبيت الحزم المطلوبة، قم بتشغيل:

التثبيت
# Install the required package for YOLO26
pip install ultralytics

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

الاستخدام

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

الاستخدام
  from ultralytics import YOLO

  # Load the YOLO26 model
  model = YOLO("yolo26n.pt")

  # Export the model to TFLite format
  model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

  # Load the exported TFLite model
  tflite_model = YOLO("yolo26n_float32.tflite")

  # Run inference
  results = tflite_model("https://ultralytics.com/images/bus.jpg")

وسائط التصدير

المعاملالنوعالافتراضيالوصف
formatstr'tflite'التنسيق المستهدف للنموذج الذي تم تصديره، مما يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة.
halfboolFalseيُمكّن كمّية FP16 (دقة نصفية)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة.
int8boolFalseيُنشط كمّية INT8، مما يزيد من ضغط النموذج وتسريع الاستنتاج بأقل قدر من فقدان الدقة، بشكل أساسي لأجهزة الحافة.
nmsboolFalseيضيف خاصية كبح غير الحد الأقصى (NMS)، وهو أمر ضروري لمعالجة الاكتشاف بدقة وكفاءة.
batchint1يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict.
datastr'coco8.yaml'المسار إلى ملف إعداد مجموعة البيانات (الافتراضي: coco8.yaml)، وهو ضروري للكمية (quantization).
fractionfloat1.0يحدد جزء مجموعة البيانات المستخدم لمعايرة تكميم INT8. يسمح بالمعايرة على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عند محدودية الموارد. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام مجموعة البيانات الكاملة.
devicestrNoneيحدد الجهاز للتصدير: CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps).

لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.

نشر نماذج YOLO26 TFLite المصدرة

بعد تصدير نماذج Ultralytics YOLO26 بنجاح إلى تنسيق TFLite، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TFLite هي استخدام طريقة YOLO("model.tflite")، كما هو موضح في مقتطف كود الاستخدام السابق. ومع ذلك، للحصول على تعليمات متعمقة حول نشر نماذج TFLite الخاصة بك في إعدادات أخرى مختلفة، ألقِ نظرة على الموارد التالية:

  • Android: دليل البدء السريع لدمج TensorFlow Lite في تطبيقات Android، والذي يوفر خطوات سهلة المتابعة لإعداد وتشغيل نماذج التعلم الآلي.

  • iOS: تحقق من هذا الدليل التفصيلي للمطورين حول دمج ونشر نماذج TensorFlow Lite في تطبيقات iOS، والذي يوفر تعليمات وموارد خطوة بخطوة.

  • أمثلة شاملة: توفر هذه الصفحة نظرة عامة على العديد من أمثلة TensorFlow Lite، وتعرض تطبيقات عملية وبرامج تعليمية مصممة لمساعدة المطورين على تنفيذ TensorFlow Lite في مشاريع التعلم الآلي الخاصة بهم على الأجهزة المحمولة وأجهزة الحافة.

ملخص

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

لمزيد من التفاصيل حول الاستخدام، قم بزيارة التوثيق الرسمي لـ TFLite.

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

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

كيف يمكنني تصدير نموذج YOLO26 إلى تنسيق TFLite؟

لتصدير نموذج YOLO26 إلى تنسيق TFLite، يمكنك استخدام مكتبة Ultralytics. أولاً، قم بتثبيت الحزمة المطلوبة باستخدام:

pip install ultralytics

ثم، استخدم مقتطف الكود التالي لتصدير نموذجك:

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

لمستخدمي CLI، يمكنك تحقيق ذلك باستخدام:

yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'

لمزيد من التفاصيل، قم بزيارة دليل تصدير Ultralytics.

ما هي فوائد استخدام TensorFlow Lite لنشر نموذج YOLO26؟

TensorFlow Lite (TFLite) هو إطار عمل مفتوح المصدر لـ التعلم العميق مصمم للاستنتاج على الجهاز، مما يجعله مثالياً لنشر نماذج YOLO26 على الأجهزة المحمولة والمدمجة وأجهزة إنترنت الأشياء. تشمل الفوائد الرئيسية ما يلي:

  • التحسين على الجهاز: تقليل زمن الوصول وتعزيز الخصوصية عن طريق معالجة البيانات محلياً.
  • توافق المنصة: يدعم Android وiOS وLinux المدمج وMCU.
  • الأداء: يستخدم تسريع الأجهزة لتحسين سرعة وكفاءة النموذج.

لمعرفة المزيد، تحقق من دليل TFLite.

هل من الممكن تشغيل نماذج YOLO26 TFLite على Raspberry Pi؟

نعم، يمكنك تشغيل نماذج YOLO26 TFLite على Raspberry Pi لتحسين سرعات الاستنتاج. أولاً، قم بتصدير نموذجك إلى تنسيق TFLite كما هو موضح أعلاه. ثم، استخدم أداة مثل TensorFlow Lite Interpreter لتنفيذ النموذج على Raspberry Pi الخاص بك.

لمزيد من التحسينات، قد تفكر في استخدام Coral Edge TPU. للحصول على خطوات مفصلة، راجع دليل نشر Raspberry Pi ودليل تكامل Edge TPU.

هل يمكنني استخدام نماذج TFLite على المتحكمات الدقيقة لتنبؤات YOLO26؟

نعم، يدعم TFLite النشر على المتحكمات الدقيقة ذات الموارد المحدودة. يتطلب وقت التشغيل الأساسي لـ TFLite 16 كيلوبايت فقط من الذاكرة على Arm Cortex M3 ويمكنه تشغيل نماذج YOLO26 الأساسية. وهذا يجعله مناسباً للنشر على الأجهزة ذات الحد الأدنى من القوة الحسابية والذاكرة.

للبدء، قم بزيارة دليل TFLite Micro للمتحكمات الدقيقة.

ما هي المنصات المتوافقة مع نماذج YOLO26 المصدرة بتنسيق TFLite؟

يوفر TensorFlow Lite توافقاً واسعاً مع المنصات، مما يسمح لك بنشر نماذج YOLO26 على مجموعة واسعة من الأجهزة، بما في ذلك:

  • Android وiOS: دعم أصلي من خلال مكتبات TFLite لـ Android وiOS.
  • Linux المدمج: مثالي لأجهزة الكمبيوتر ذات اللوحة الواحدة مثل Raspberry Pi.
  • المتحكمات الدقيقة: مناسبة للمتحكمات الدقيقة ذات الموارد المحدودة.

لمزيد من المعلومات حول خيارات النشر، راجع دليل النشر المفصل الخاص بنا.

كيف أقوم باستكشاف الأخطاء وإصلاحها في المشكلات الشائعة أثناء تصدير نموذج YOLO26 إلى TFLite؟

إذا واجهت أخطاء أثناء تصدير نماذج YOLO26 إلى TFLite، فإن الحلول الشائعة تشمل:

  • التحقق من توافق الحزمة: تأكد من أنك تستخدم إصدارات متوافقة من Ultralytics وTensorFlow. راجع دليل التثبيت الخاص بنا.
  • دعم النموذج: تحقق من أن نموذج YOLO26 المحدد يدعم تصدير TFLite عن طريق التحقق من صفحة توثيق التصدير الخاصة بـ Ultralytics.
  • مشكلات التكميم (Quantization): عند استخدام تكميم INT8، تأكد من تحديد مسار مجموعة البيانات الخاص بك بشكل صحيح في معلمة data.

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

تعليقات