Link to this sectionدليل حول تصدير نموذج YOLO26 إلى TFLite للنشر#
يتطلب نشر نماذج الرؤية الحاسوبية على الأجهزة الطرفية أو الأجهزة المدمجة تنسيقاً يضمن أداءً سلساً.
يسمح لك تنسيق التصدير TensorFlow Lite أو TFLite بتحسين نماذج Ultralytics YOLO26 لمهام مثل اكتشاف الكائنات وتصنيف الصور في التطبيقات المعتمدة على الأجهزة الطرفية. في هذا الدليل، سنستعرض خطوات تحويل نماذجك إلى تنسيق TFLite، مما يسهل على نماذجك العمل بكفاءة على مختلف الأجهزة الطرفية.
Link to this sectionلماذا يجب عليك التصدير إلى TFLite؟#
تم تقديم TensorFlow Lite، أو TFLite اختصاراً، من قبل Google في مايو 2017 كجزء من إطار عمل TensorFlow الخاص بهم، وهو إطار عمل مفتوح المصدر للتعلم العميق مصمم للاستدلال على الجهاز، والمعروف أيضاً باسم الحوسبة الطرفية. وهو يوفر للمطورين الأدوات اللازمة لتنفيذ نماذجهم المدربة على الأجهزة المحمولة، والمدمجة، وأجهزة إنترنت الأشياء، بالإضافة إلى الحواسيب التقليدية.
يتوافق TensorFlow Lite مع مجموعة واسعة من المنصات، بما في ذلك Linux المدمج، وAndroid، وiOS، والمتحكمات الدقيقة (MCUs). يجعل تصدير نموذجك إلى TFLite تطبيقاتك أسرع وأكثر موثوقية وقادرة على العمل دون اتصال بالإنترنت.
Link to this sectionالميزات الرئيسية لنماذج TFLite#
توفر نماذج TFLite مجموعة واسعة من الميزات الرئيسية التي تمكّن التعلم الآلي على الجهاز من خلال مساعدة المطورين على تشغيل نماذجهم على الأجهزة المحمولة والمدمجة والطرفية:
-
التحسين على الجهاز: يعمل TFLite على التحسين للتعلم الآلي على الجهاز، مما يقلل من زمن الاستجابة من خلال معالجة البيانات محلياً، ويعزز الخصوصية بعدم نقل البيانات الشخصية، ويقلل من حجم النموذج لتوفير المساحة.
-
دعم منصات متعددة: يوفر TFLite توافقاً واسعاً مع المنصات، حيث يدعم Android، وiOS، وLinux المدمج، والمتحكمات الدقيقة.
-
دعم لغات متنوعة: يتوافق TFLite مع لغات برمجة مختلفة، بما في ذلك Java، وSwift، وObjective-C، وC++، وPython.
-
أداء عالٍ: يحقق أداءً فائقاً من خلال تسريع العتاد وتحسين النموذج.
Link to this sectionخيارات النشر في TFLite#
قبل أن ننظر إلى الكود الخاص بتصدير نماذج YOLO26 إلى تنسيق TFLite، دعونا نفهم كيفية استخدام نماذج TFLite عادةً.
يوفر TFLite خيارات متنوعة للنشر على الجهاز لنماذج التعلم الآلي، بما في ذلك:
- النشر باستخدام Android وiOS: يمكن لكل من تطبيقات Android وiOS المزودة بـ TFLite تحليل لقطات الكاميرا والمستشعرات القائمة على الحافة لاكتشاف وتحديد الكائنات. يوفر TFLite أيضاً مكتبات iOS أصلية مكتوبة بلغة Swift وObjective-C. يوضح مخطط البنية أدناه عملية نشر نموذج مدرب على منصتي Android وiOS باستخدام TensorFlow Lite.
-
التنفيذ باستخدام Linux المدمج: إذا كان تشغيل الاستدلالات على Raspberry Pi باستخدام دليل Ultralytics لا يلبي متطلبات السرعة لحالة استخدامك، يمكنك استخدام نموذج TFLite مصدر لتسريع أوقات الاستدلال. بالإضافة إلى ذلك، من الممكن تحسين الأداء بشكل أكبر من خلال الاستفادة من جهاز Coral Edge TPU.
-
النشر باستخدام المتحكمات الدقيقة: يمكن أيضاً نشر نماذج TFLite على المتحكمات الدقيقة والأجهزة الأخرى التي تحتوي على بضعة كيلوبايتات فقط من الذاكرة. يناسب وقت التشغيل الأساسي 16 كيلوبايت فقط على معالج Arm Cortex M3 ويمكنه تشغيل العديد من النماذج الأساسية. ولا يتطلب دعم نظام التشغيل، أو أي مكتبات C أو C++ قياسية، أو تخصيص الذاكرة الديناميكي.
Link to this sectionالتصدير إلى TFLite: تحويل نموذج YOLO26 الخاص بك#
يمكنك تحسين كفاءة تنفيذ النموذج على الجهاز وتعزيز الأداء عن طريق تحويل نماذجك إلى تنسيق TFLite.
Link to this sectionالتثبيت#
لتثبيت الحزم المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.
Link to this sectionالاستخدام#
تم تصميم جميع نماذج Ultralytics YOLO26 لدعم التصدير مباشرة، مما يجعل من السهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التهيئة لاختيار أفضل إعداد لتطبيقك.
يدعم تنسيق TFLite أوضاع التصدير، والتنبؤ، والتحقق. قم بتصدير نموذجك، ثم قم بتحميل النموذج المصدر لتشغيل الاستدلال أو التحقق من دقتها.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'from ultralytics import YOLO
# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionوسائط التصدير#
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'tflite' | التنسيق المستهدف للنموذج المصدر، والذي يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
half | bool | False | يُفعل كمية FP16 (نصف الدقة)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة. |
int8 | bool | False | يُفعل كمية INT8، مما يضغط النموذج بشكل أكبر ويسرع الاستنتاج مع الحد الأدنى من فقدان الدقة، بشكل أساسي للأجهزة الطرفية. |
nms | bool | False | يضيف كبح غير الأعظمي (NMS)، وهو أمر ضروري لمعالجة الكشف اللاحقة بدقة وكفاءة. |
batch | int | 1 | يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر بالتوازي في وضع predict. |
data | str | 'coco8.yaml' | مسار ملف تهيئة مجموعة البيانات (الافتراضي: coco8.yaml)، وهو ضروري لعملية الكمية. |
fraction | float | 1.0 | يحدد جزء مجموعة البيانات لاستخدامه في معايرة كمية INT8. يسمح بالمعايرة على مجموعة فرعية من كامل البيانات، وهو مفيد للتجارب أو عندما تكون الموارد محدودة. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام كامل مجموعة البيانات. |
device | str | None | يحدد الجهاز للتصدير: CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة وثائق Ultralytics حول التصدير.
Link to this sectionنشر نماذج YOLO26 TFLite المصدرة#
بعد تصدير نماذج Ultralytics YOLO26 بنجاح إلى تنسيق TFLite، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TFLite هي استخدام طريقة YOLO("model.tflite")، كما هو موضح في مقتطف كود الاستخدام السابق. ومع ذلك، للحصول على تعليمات متعمقة حول نشر نماذج TFLite الخاصة بك في إعدادات أخرى متنوعة، ألقِ نظرة على الموارد التالية:
-
Android: دليل بدء سريع لدمج TensorFlow Lite في تطبيقات Android، يوفر خطوات سهلة المتابعة لإعداد وتشغيل نماذج التعلم الآلي.
-
iOS: تحقق من هذا الدليل التفصيلي للمطورين حول دمج ونشر نماذج TensorFlow Lite في تطبيقات iOS، والذي يقدم تعليمات وموارد خطوة بخطوة.
-
أمثلة شاملة: توفر هذه الصفحة نظرة عامة على أمثلة متنوعة لـ TensorFlow Lite، تعرض تطبيقات عملية ودروساً تعليمية مصممة لمساعدة المطورين على تنفيذ TensorFlow Lite في مشاريع التعلم الآلي الخاصة بهم على الأجهزة المحمولة والطرفية.
Link to this sectionملخص#
في هذا الدليل، ركزنا على كيفية التصدير إلى تنسيق TFLite. من خلال تحويل نماذج Ultralytics YOLO26 إلى تنسيق نموذج TFLite، يمكنك تحسين كفاءة وسرعة نماذج YOLO26، مما يجعلها أكثر فاعلية ومناسبة لبيئات الحوسبة الطرفية.
لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة وثائق TFLite الرسمية.
أيضاً، إذا كنت مهتماً بعمليات تكامل Ultralytics YOLO26 الأخرى، تحقق من صفحة دليل التكامل. ستجد الكثير من المعلومات والأفكار المفيدة هناك.
Link to this sectionأسئلة مكررة (FAQ)#
Link to this sectionكيف أقوم بتصدير نموذج YOLO26 إلى تنسيق TFLite؟#
لتصدير نموذج YOLO26 إلى تنسيق TFLite، يمكنك استخدام مكتبة Ultralytics. أولاً، قم بتثبيت الحزمة المطلوبة باستخدام:
pip install ultralyticsبعد ذلك، استخدم مقتطف الكود التالي لتصدير نموذجك:
from ultralytics import YOLO
# Load a 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.
Link to this sectionما هي فوائد استخدام TensorFlow Lite لنشر نموذج YOLO26؟#
TensorFlow Lite (TFLite) هو إطار عمل للتعلم العميق مفتوح المصدر مصمم للاستدلال على الجهاز، مما يجعله مثالياً لنشر نماذج YOLO26 على الأجهزة المحمولة والمدمجة وأجهزة إنترنت الأشياء. تشمل الفوائد الرئيسية ما يلي:
- التحسين على الجهاز: تقليل زمن الاستجابة وتعزيز الخصوصية عن طريق معالجة البيانات محلياً.
- توافق المنصات: يدعم Android وiOS وLinux المدمج وMCU.
- الأداء: يستفيد من تسريع العتاد لتحسين سرعة وكفاءة النموذج.
لمعرفة المزيد، تحقق من دليل TFLite.
Link to this sectionهل من الممكن تشغيل نماذج YOLO26 TFLite على Raspberry Pi؟#
نعم، يمكنك تشغيل نماذج YOLO26 TFLite على Raspberry Pi لتحسين سرعات الاستدلال. أولاً، قم بتصدير نموذجك إلى تنسيق TFLite كما هو موضح أعلاه. بعد ذلك، استخدم أداة مثل TensorFlow Lite Interpreter لتنفيذ النموذج على جهاز Raspberry Pi الخاص بك.
لمزيد من التحسينات، قد تفكر في استخدام Coral Edge TPU. للحصول على خطوات مفصلة، راجع دليل نشر Raspberry Pi ودليل تكامل Edge TPU.
Link to this sectionهل يمكنني استخدام نماذج TFLite على المتحكمات الدقيقة لتنبؤات YOLO26؟#
نعم، يدعم TFLite النشر على المتحكمات الدقيقة ذات الموارد المحدودة. يتطلب وقت التشغيل الأساسي لـ TFLite 16 كيلوبايت فقط من الذاكرة على معالج Arm Cortex M3 ويمكنه تشغيل نماذج YOLO26 الأساسية. وهذا يجعلها مناسبة للنشر على الأجهزة ذات الحد الأدنى من القوة الحسابية والذاكرة.
للبدء، قم بزيارة دليل TFLite Micro للمتحكمات الدقيقة.
Link to this sectionما هي المنصات المتوافقة مع نماذج YOLO26 المصدرة بصيغة TFLite؟#
يوفر TensorFlow Lite توافقاً واسعاً مع المنصات، مما يسمح لك بنشر نماذج YOLO26 على مجموعة واسعة من الأجهزة، بما في ذلك:
- Android وiOS: دعم أصلي من خلال مكتبات TFLite لـ Android وiOS.
- Linux المدمج: مثالي للحواسيب ذات اللوحة الواحدة مثل Raspberry Pi.
- المتحكمات الدقيقة: مناسبة لـ MCUs ذات الموارد المحدودة.
لمزيد من المعلومات حول خيارات النشر، راجع دليل النشر التفصيلي الخاص بنا.
Link to this sectionكيف أقوم باستكشاف الأخطاء وإصلاحها أثناء تصدير نموذج YOLO26 إلى TFLite؟#
إذا واجهت أخطاء أثناء تصدير نماذج YOLO26 إلى TFLite، فإن الحلول الشائعة تشمل:
- التحقق من توافق الحزمة: تأكد من أنك تستخدم إصدارات متوافقة من Ultralytics وTensorFlow. راجع دليل التثبيت.
- دعم النموذج: تحقق من أن نموذج YOLO26 المحدد يدعم تصدير TFLite عن طريق التحقق من صفحة وثائق التصدير الخاصة بـ Ultralytics.
- مشكلات التكميم (Quantization): عند استخدام تكميم INT8، تأكد من تحديد مسار مجموعة البيانات الخاصة بك بشكل صحيح في معامل
data.
للحصول على نصائح إضافية لاستكشاف الأخطاء وإصلاحها، قم بزيارة دليل المشكلات الشائعة.