دليل على YOLO11 تصدير نموذج إلى TFLite للنشر
يتطلب نشر نماذج الرؤية الحاسوبية على الأجهزة المتطورة أو الأجهزة المدمجة تنسيقاً يضمن أداءً سلساً.
يسمح لك تنسيق التصدير TensorFlow Lite أو TFLite بتحسين Ultralytics YOLO11 لمهام مثل اكتشاف الأجسام وتصنيف الصور في التطبيقات المستندة إلى جهاز الحافة. في هذا الدليل، سنستعرض خطوات تحويل نماذجك إلى تنسيق TFLite، مما يسهل أداء نماذجك بشكل جيد على أجهزة الحواف المختلفة.
لماذا يجب عليك التصدير إلى TFLite؟
تم تقديمه من قبل Google في مايو 2017 كجزء من إطار العمل TensorFlow ، TensorFlow Lite، أو TFLite اختصارًا، وهو إطار عمل مفتوح المصدر للتعلم العميق مصمم للاستدلال على الأجهزة، والمعروف أيضًا باسم الحوسبة المتطورة. وهو يوفر للمطورين الأدوات اللازمة لتنفيذ نماذجهم المدربة على الأجهزة المحمولة والأجهزة المدمجة وأجهزة إنترنت الأشياء، بالإضافة إلى أجهزة الكمبيوتر التقليدية.
TensorFlow لايت متوافق مع مجموعة واسعة من المنصات، بما في ذلك لينكس المدمج و Android و iOS و MCU. تصدير النموذج الخاص بك إلى TFLite يجعل تطبيقاتك أسرع وأكثر موثوقية وقادرة على العمل دون اتصال بالإنترنت.
الميزات الرئيسية لطرازات TFLite
تقدم نماذج TFLite مجموعة واسعة من الميزات الرئيسية التي تتيح التعلم الآلي على الجهاز من خلال مساعدة المطورين على تشغيل نماذجهم على الأجهزة المحمولة والمضمنة والمتطورة:
-
التحسين على الجهاز: يعمل TFLite على تحسين تقنية التعلم الآلي على الجهاز، مما يقلل من زمن الاستجابة من خلال معالجة البيانات محليًا، ويعزز الخصوصية من خلال عدم نقل البيانات الشخصية، ويقلل من حجم النموذج لتوفير المساحة.
-
دعم منصات متعددة: يوفر TFLite توافقًا واسع النطاق للمنصات، حيث يدعم Android ، iOS ، ولينوكس المدمج، والمتحكمات الدقيقة.
-
دعم لغات متنوعة: يتوافق TFLite مع العديد من لغات البرمجة، بما في ذلك Java و Swift و Objective-C و C++C و Python.
-
أداء عالٍ: يحقق أداءً فائقًا من خلال تسريع الأجهزة وتحسين النموذج.
خيارات النشر في TFLite
قبل أن نلقي نظرة على الكود الخاص بتصدير النماذج YOLO11 إلى تنسيق TFLite، دعنا نفهم كيف تُستخدم نماذج TFLite عادةً.
تقدم TFLite خيارات نشر متنوعة على الجهاز لنماذج التعلم الآلي، بما في ذلك:
- النشر باستخدام Android و iOS: يمكن لتطبيقات Android و iOS مع TFLite تحليل موجزات الكاميرا وأجهزة الاستشعار القائمة على الحافة لاكتشاف الأجسام وتحديدها. تقدم TFLite أيضًا مكتبات iOS الأصلية المكتوبة بلغة Swift و Objective-C. يوضح مخطط البنية أدناه عملية نشر نموذج مدرب على منصات Android و iOS باستخدام TensorFlow لايت.
-
التنفيذ باستخدام نظام لينكس المدمج: إذا كان تشغيل الاستدلالات على جهاز Raspberry Pi باستخدام الدليلUltralytics لا يفي بمتطلبات السرعة لحالة الاستخدام الخاصة بك، يمكنك استخدام نموذج TFLite مُصدَّر لتسريع أوقات الاستدلال. بالإضافة إلى ذلك، من الممكن تحسين الأداء بشكل أكبر من خلال استخدام جهاز Coral Edge TPU .
-
النشر مع المتحكمات الدقيقة: يمكن أيضًا نشر نماذج TFLite على المتحكمات الدقيقة والأجهزة الأخرى التي لا تحتوي سوى بضعة كيلوبايتات من الذاكرة. يتسع وقت التشغيل الأساسي في 16 كيلوبايت فقط على جهاز Arm Cortex M3 ويمكنه تشغيل العديد من النماذج الأساسية. It doesn't require operating system support, any standard C or C++ libraries, or dynamic memory allocation.
التصدير إلى TFLite: تحويل نموذج YOLO11 الخاص بك
يمكنك تحسين كفاءة تنفيذ النماذج على الجهاز وتحسين الأداء من خلال تحويلها إلى تنسيق TFLite.
التركيب
لتثبيت الحزم المطلوبة، قم بتشغيل
للاطلاع على الإرشادات التفصيلية وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل التثبيتUltralytics . أثناء تثبيت الحزم المطلوبة YOLO11 ، إذا واجهت أي صعوبات، راجع دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
قبل الغوص في إرشادات الاستخدام، من المهم ملاحظة أنه على الرغم من أن جميع الطرازاتUltralytics YOLO11 متاحة للتصدير، يمكنك التأكد من أن الطراز الذي تختاره يدعم وظيفة التصدير هنا.
الاستخدام
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo11n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
لمزيد من التفاصيل حول عملية التصدير، يرجى زيارة صفحة التوثيقUltralytics الخاصة بالتصدير.
نشر نماذج TFLite المصدرة YOLO11 TFLite
بعد تصدير نماذج Ultralytics YOLO11 الخاصة بك بنجاح إلى تنسيق TFLite، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TFLite هي استخدام طريقة YOLO("model.tflite")، كما هو موضح في مقتطف كود الاستخدام السابق. ومع ذلك، للحصول على إرشادات متعمقة حول نشر نماذج TFLite الخاصة بك في إعدادات أخرى مختلفة، ألق نظرة على الموارد التالية:
-
Android: دليل البدء السريع لدمج TensorFlow Lite في تطبيقات Android ، حيث يوفر خطوات سهلة المتابعة لإعداد نماذج التعلم الآلي وتشغيلها.
-
iOS: اطلع على هذا الدليل التفصيلي للمطورين حول دمج ونشر نماذج TensorFlow Lite في تطبيقات iOS ، حيث يقدم إرشادات وموارد خطوة بخطوة.
-
أمثلة من النهاية إلى النهاية: تقدم هذه الصفحة نظرة عامة على العديد من الأمثلة على TensorFlow Lite، حيث تعرض تطبيقات عملية ودروس تعليمية مصممة لمساعدة المطورين على تنفيذ TensorFlow Lite في مشاريع التعلم الآلي الخاصة بهم على الأجهزة المحمولة والأجهزة المتطورة.
الملخص
ركزنا في هذا الدليل على كيفية التصدير إلى تنسيق TFLite. من خلال تحويل نماذج Ultralytics YOLO11 الخاصة بك إلى تنسيق نموذج TFLite، يمكنك تحسين كفاءة وسرعة نماذج YOLO11 ، مما يجعلها أكثر فعالية ومناسبة لبيئات الحوسبة المتطورة.
لمزيد من التفاصيل حول الاستخدام، قم بزيارة الوثائق الرسمية لـ TFLite.
أيضًا، إذا كنت تشعر بالفضول بشأن عمليات التكامل الأخرى Ultralytics YOLO11 ، فتأكد من مراجعة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من المعلومات والأفكار المفيدة في انتظارك هناك.
الأسئلة الشائعة
كيف يمكنني تصدير نموذج YOLO11 إلى تنسيق TFLite؟
لتصدير نموذج YOLO11 إلى تنسيق TFLite، يمكنك استخدام مكتبة Ultralytics . أولاً، قم بتثبيت الحزمة المطلوبة باستخدام:
ثم استخدم المقتطف البرمجي التالي لتصدير النموذج الخاص بك:
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
بالنسبة لمستخدمي CLI ، يمكنك تحقيق ذلك باستخدام:
لمزيد من التفاصيل، قم بزيارة دليل التصديرUltralytics .
ما هي فوائد استخدام TensorFlow Liteلنشر نموذج YOLO11 ؟
TensorFlow TFLite (TFLite) هو إطار عمل مفتوح المصدر للتعلم العميق مصمم للاستدلال على الجهاز، مما يجعله مثاليًا لنشر نماذج YOLO11 على الأجهزة المحمولة والمضمنة وأجهزة إنترنت الأشياء. تشمل المزايا الرئيسية ما يلي:
- التحسين على الجهاز: تقليل وقت الاستجابة وتعزيز الخصوصية من خلال معالجة البيانات محلياً.
- توافق المنصة: يدعم Android و iOS و و Linux المدمج و MCU.
- الأداء: يستخدم تسريع الأجهزة لتحسين سرعة النموذج وكفاءته.
لمعرفة المزيد، راجع دليل TFLite.
هل من الممكن تشغيل نماذج YOLO11 TFLite على Raspberry Pi؟
نعم، يمكنك تشغيل نماذج YOLO11 TFLite على Raspberry Pi لتحسين سرعات الاستدلال. أولاً، قم بتصدير نموذجك إلى تنسيق TFLite كما هو موضح هنا. بعد ذلك، استخدم أداة مثل TensorFlow Lite Interpreter لتنفيذ النموذج على جهاز Raspberry Pi الخاص بك.
لمزيد من التحسينات، يمكنك التفكير في استخدام Coral Edge TPU. لمعرفة الخطوات التفصيلية، راجع دليل نشر Raspberry Pi الخاص بنا.
هل يمكنني استخدام نماذج TFLite على المتحكمات الدقيقة للتنبؤات YOLO11 ؟
نعم، يدعم TFLite النشر على المتحكمات الدقيقة ذات الموارد المحدودة. لا يتطلب وقت تشغيل TFLite الأساسي سوى 16 كيلوبايت من الذاكرة على متحكمات Arm Cortex M3 ويمكنه تشغيل نماذج YOLO11 الأساسية. وهذا يجعله مناسبًا للنشر على الأجهزة ذات القدرة الحاسوبية والذاكرة المحدودة.
للبدء، تفضل بزيارة دليل TFLite Micro لوحدات التحكم الدقيقة.
ما هي المنصات المتوافقة مع نماذج YOLO11 المصدرة من TFLite؟
TensorFlow يوفر Lite توافقًا واسع النطاق مع النظام الأساسي، مما يتيح لك نشر نماذج YOLO11 على مجموعة كبيرة من الأجهزة، بما في ذلك:
- Android و iOS: الدعم الأصلي من خلال مكتبات TFLite Android و iOS .
- لينكس المدمج: مثالي لأجهزة الكمبيوتر أحادية اللوحة مثل Raspberry Pi.
- المتحكمات الدقيقة: مناسبة لوحدات MCU ذات الموارد المحدودة.
لمزيد من المعلومات حول خيارات النشر، راجع دليل النشر التفصيلي الخاص بنا.
كيف يمكنني استكشاف المشكلات الشائعة وإصلاحها أثناء تصدير النموذج YOLO11 إلى TFLite؟
إذا واجهت أخطاء أثناء تصدير النماذج YOLO11 إلى TFLite، فإن الحلول الشائعة تتضمن ما يلي:
- تحقق من توافق الحزمة: تأكد من أنك تستخدم إصدارات متوافقة من Ultralytics و TensorFlow. راجع دليل التثبيت الخاص بنا.
- دعم الطراز: تحقق من أن الطراز المحدد YOLO11 يدعم تصدير TFLite عن طريق التحقق هنا.
لمزيد من النصائح الإضافية حول استكشاف الأخطاء وإصلاحها، تفضل بزيارة دليل المشكلات الشائعة.