Link to this sectionدليل حول تصدير نموذج YOLO26 إلى تنسيق TFLite للنشر#
يتطلب نشر نماذج الرؤية الحاسوبية على الأجهزة الطرفية أو الأجهزة المضمنة تنسيقًا يمكنه ضمان أداء سلس.
يسمح لك تنسيق التصدير TensorFlow Lite أو TFLite بتحسين نماذج Ultralytics YOLO26 لمهام مثل اكتشاف الكائنات وتصنيف الصور في التطبيقات القائمة على الأجهزة الطرفية. في هذا الدليل، سنستعرض خطوات تحويل نماذجك إلى تنسيق TFLite، مما يسهل على نماذجك العمل بشكل جيد على مختلف الأجهزة الطرفية.
Link to this sectionلماذا يجب عليك التصدير إلى TFLite؟#
تم تقديمه بواسطة Google في مايو 2017 كجزء من إطار عمل TensorFlow الخاص بهم، TensorFlow Lite، أو TFLite اختصارًا، هو إطار عمل مفتوح المصدر للتعلم العميق مصمم للاستدلال على الجهاز، والمعروف أيضًا باسم الحوسبة الطرفية. وهو يوفر للمطورين الأدوات اللازمة لتنفيذ نماذجهم المدربة على الأجهزة المحمولة والمضمنة وأجهزة إنترنت الأشياء، بالإضافة إلى أجهزة الكمبيوتر التقليدية.
يتوافق 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الأسئلة الشائعة#
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.
- المتحكمات الدقيقة: مناسب للمتحكمات الدقيقة ذات الموارد المحدودة.
لمزيد من المعلومات حول خيارات النشر، راجع دليل النشر التفصيلي الخاص بنا.
Link to this sectionكيف يمكنني استكشاف الأخطاء وإصلاحها أثناء تصدير نموذج YOLO26 إلى TFLite؟#
إذا واجهت أخطاء أثناء تصدير نماذج YOLO26 إلى TFLite، فتشمل الحلول الشائعة ما يلي:
- تحقق من توافق الحزمة: تأكد من أنك تستخدم إصدارات متوافقة من Ultralytics وTensorFlow. راجع دليل التثبيت الخاص بنا.
- دعم النموذج: تحقق من أن نموذج YOLO26 المحدد يدعم تصدير TFLite عن طريق التحقق من صفحة توثيق التصدير الخاصة بـ Ultralytics.
- مشكلات التكميم (Quantization): عند استخدام تكميم INT8، تأكد من تحديد مسار مجموعة البيانات الخاصة بك بشكل صحيح في معامل
data.
للحصول على نصائح إضافية لاستكشاف الأخطاء وإصلاحها، قم بزيارة دليل المشكلات الشائعة الخاص بنا.