Ultralytics YOLO27:

كيفية التصدير إلى TF GraphDef من YOLO26 للنشر#

عند نشر نماذج الرؤية الحاسوبية المتطورة، مثل YOLO26، في بيئات مختلفة، قد تواجه مشكلات في التوافق. يوفّر GraphDef من TensorFlow من Google، أو TF GraphDef، حلاً من خلال توفير تمثيل متسلسل ومستقل عن المنصة لنموذجك. وباستخدام تنسيق نموذج TF GraphDef، يمكنك نشر نموذج YOLO26 في بيئات قد لا يتوفر فيها نظام TensorFlow المتكامل، مثل الأجهزة المحمولة أو العتاد المتخصص.

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

TensorFlow GraphDef model serialization format

لماذا ينبغي لك التصدير إلى TF GraphDef؟#

يُعد TF GraphDef مكوّناً قوياً في نظام TensorFlow، وقد طوّرته Google. ويمكن استخدامه لتحسين نماذج مثل YOLO26 ونشرها. يتيح لك التصدير إلى TF GraphDef نقل النماذج من مرحلة البحث إلى التطبيقات الواقعية. كما يسمح بتشغيل النماذج في بيئات لا يتوفر فيها إطار TensorFlow الكامل.

يمثّل تنسيق GraphDef النموذجَ على شكل رسم بياني للحسابات متسلسل. ويتيح ذلك استخدام تقنيات تحسين مختلفة، مثل طيّ الثوابت والتكميم وتحويلات الرسم البياني. تضمن هذه التحسينات تنفيذاً فعالاً، واستخداماً أقل للذاكرة، وسرعات استدلال أعلى.

يمكن لنماذج GraphDef استخدام مسرّعات العتاد، مثل GPUs وTPUs وشرائح الذكاء الاصطناعي، مما يتيح مكاسب كبيرة في الأداء لمسار استدلال YOLO26. كما ينشئ تنسيق TF GraphDef حزمةً مستقلةً تتضمن النموذج وتبعياته، مما يبسّط النشر والتكامل مع الأنظمة المتنوعة.

الميزات الرئيسية لنماذج TF GraphDef#

يوفّر TF GraphDef ميزات متميزة لتبسيط نشر النماذج وتحسينها.

فيما يلي نظرة على خصائصه الرئيسية:

  • تسلسل النموذج: يوفّر TF GraphDef طريقة لتسلسل نماذج TensorFlow وتخزينها بتنسيق مستقل عن المنصة. ويتيح هذا التمثيل المتسلسل تحميل نماذجك وتنفيذها من دون قاعدة شيفرة Python الأصلية، مما يسهّل النشر.

  • تحسين الرسم البياني: يتيح TF GraphDef تحسين الرسوم البيانية الحسابية. ويمكن لهذه التحسينات تعزيز الأداء من خلال تبسيط تدفق التنفيذ، وتقليل التكرار، وتهيئة العمليات بما يلائم عتاداً محدداً.

  • مرونة النشر: يمكن استخدام النماذج المصدّرة إلى تنسيق GraphDef في بيئات متنوعة، بما في ذلك الأجهزة محدودة الموارد، ومتصفحات الويب، والأنظمة التي تستخدم عتاداً متخصصاً. وهذا يفتح المجال لنشر نماذج TensorFlow على نطاق أوسع.

  • التركيز على الإنتاج: صُمّم GraphDef للنشر في بيئات الإنتاج. وهو يدعم التنفيذ الفعال، وميزات التسلسل، والتحسينات المتوافقة مع حالات الاستخدام الواقعية.

خيارات النشر باستخدام TF GraphDef#

قبل أن نتعمق في عملية تصدير نماذج YOLO26 إلى TF GraphDef، دعنا نلقي نظرة على بعض حالات النشر النموذجية التي يُستخدم فيها هذا التنسيق.

إليك كيفية النشر باستخدام TF GraphDef بكفاءة عبر منصات مختلفة.

  • TensorFlow Serving: صُمّم هذا الإطار لنشر نماذج TensorFlow في بيئات الإنتاج. ويوفّر TensorFlow Serving إدارة النماذج، وإصداراتها، والبنية التحتية اللازمة لخدمة النماذج بكفاءة على نطاق واسع. وهو طريقة سلسة لدمج النماذج القائمة على GraphDef في خدمات الويب أو واجهات API الإنتاجية.

  • الأجهزة المحمولة والمضمّنة: باستخدام أدوات مثل LiteRT، يمكنك تحويل نماذج TF GraphDef إلى تنسيقات محسّنة للهواتف الذكية والأجهزة اللوحية ومختلف الأجهزة المضمّنة. ويمكن بعد ذلك استخدام نماذجك للاستدلال على الجهاز، حيث يُنفّذ محلياً، مما يوفّر غالباً مكاسب في الأداء وإمكانات العمل دون اتصال.

  • متصفحات الويب: يتيح TensorFlow.js نشر نماذج TF GraphDef مباشرةً داخل متصفحات الويب. ويمهّد ذلك الطريق لتطبيقات اكتشاف الأجسام في الوقت الفعلي التي تعمل من جانب العميل، باستخدام إمكانات YOLO26 عبر JavaScript.

  • العتاد المتخصص: تتيح طبيعة TF GraphDef المستقلة عن المنصة استهداف عتاد مخصص، مثل المسرّعات وTPUs (وحدات معالجة الموترات). ويمكن لهذه الأجهزة توفير مزايا أداء للنماذج كثيفة الحسابات.

المهام المدعومة#

يدعم تصدير TF GraphDef ست مهام من مهام Ultralytics السبع. ويتوفر التقسيم الدلالي وتقدير العمق فقط مع YOLO26، وهي العائلة الوحيدة التي تأتي مزوّدة برؤوس هذه المهام. ويمكن تصدير نماذج الوضعيات، لكن استدلال Ultralytics باستخدام GraphDef غير مدعوم لها حالياً.

المهمةYOLOv8YOLO11YOLO26
الكشف
التجزئة
الدلالي
العمق
التصنيف
الوضعية
OBB

تصدير نماذج YOLO26 إلى TF GraphDef#

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

التثبيت#

لتثبيت الحزمة المطلوبة، نفّذ:

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

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

الاستخدام#

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

يدعم تنسيق TF GraphDef أوضاع التصدير والتنبؤ والتحقق، باستثناء أن نماذج الوضعيات تدعم التصدير فقط حالياً. صدّر نموذجك، ثم حمّل النموذج المصدّر لإجراء الاستدلال أو التحقق من دقته.

التصدير
from ultralytics import YOLO

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

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'
التنبؤ
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
التحقق
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

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

الوسيطةالنوعالافتراضيالوصف
formatstr'pb'التنسيق المستهدف للنموذج المُصدَّر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا (height, width) لأبعاد محددة.
quantizeint أو strNoneتصدير ثابت بدقة FP32. لا يدعم GraphDef تحويل الدقة إلى FP16 أو INT8 أو W8A16 في وقت التصدير.
opsetintNoneيحدد إصدار مجموعة عمليات ONNX للرسم البياني الوسيط لـ ONNX. وإذا لم يُحدَّد، فسيُستخدم أحدث إصدار مدعوم.
batchint1يحدد حجم الدفعة للاستدلال في نموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدَّر بالتزامن في وضع predict.
devicestrNoneيحدد الجهاز المستخدم للتصدير: CPU (device=cpu)، وMPS لشرائح Apple (device=mps).

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

نشر نماذج YOLO26 المصدّرة بتنسيق TF GraphDef#

بعد تصدير نموذج YOLO26 إلى تنسيق TF GraphDef، تتمثل الخطوة التالية في النشر. وتتمثل الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TF GraphDef في استخدام طريقة YOLO("model.pb")، كما ورد سابقاً في مقتطف شيفرة الاستخدام.

ومع ذلك، لمزيد من المعلومات حول نشر نماذج TF GraphDef، راجع الموارد التالية:

  • TensorFlow Serving: دليل حول TensorFlow Serving يوضح كيفية نشر نماذج تعلم الآلة وخدمتها بكفاءة في بيئات الإنتاج.

  • TensorFlow Lite: تصف هذه الصفحة كيفية تحويل نماذج تعلم الآلة إلى تنسيق محسّن للاستدلال على الجهاز باستخدام TensorFlow Lite.

  • TensorFlow.js: دليل حول تحويل النماذج يوضح كيفية تحويل نماذج TensorFlow أو Keras إلى تنسيق TensorFlow.js لاستخدامها في تطبيقات الويب.

الملخص#

استكشفنا في هذا الدليل كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TF GraphDef. وبذلك، يمكنك نشر نماذج YOLO26 المحسّنة بمرونة في بيئات مختلفة.

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

لمزيد من المعلومات حول دمج Ultralytics YOLO26 مع المنصات والأطر الأخرى، راجع صفحة دليل التكامل.

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

  • يمكن تصدير نماذج Ultralytics YOLO26 بسلاسة إلى تنسيق TensorFlow GraphDef (TF GraphDef). ويوفّر هذا التنسيق تمثيلاً متسلسلاً ومستقلاً عن المنصة للنموذج، وهو مثالي للنشر في بيئات متنوعة مثل الأجهزة المحمولة والويب. لتصدير نموذج YOLO26 إلى TF GraphDef، اتبع الخطوات التالية:

    الاستخدام
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF GraphDef format
    model.export(format="pb")  # creates 'yolo26n.pb'
    
    # Load the exported TF GraphDef model
    tf_graphdef_model = YOLO("yolo26n.pb")
    
    # Run inference
    results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

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

  • يوفّر تصدير نماذج YOLO26 إلى تنسيق TF GraphDef مزايا متعددة، منها:

    1. الاستقلال عن المنصة: يوفّر TF GraphDef تنسيقاً مستقلاً عن المنصة، مما يتيح نشر النماذج عبر بيئات متنوعة، بما في ذلك الأجهزة المحمولة ومتصفحات الويب.
    2. التحسينات: يتيح التنسيق عدة تحسينات، مثل طيّ الثوابت والتكميم وتحويلات الرسم البياني، مما يعزّز كفاءة التنفيذ ويقلّل استخدام الذاكرة.
    3. تسريع العتاد: يمكن للنماذج بتنسيق TF GraphDef الاستفادة من مسرّعات العتاد، مثل GPUs وTPUs وشرائح الذكاء الاصطناعي، لتحقيق مكاسب في الأداء.

    اقرأ المزيد عن المزايا في قسم TF GraphDef من وثائقنا.

  • يوفّر Ultralytics YOLO26 مزايا عديدة مقارنةً بنماذج أخرى مثل YOLOv5 وYOLOv7. ومن أبرز المزايا:

    1. أداء متطور: يوفّر YOLO26 سرعة ودقة استثنائيتين من أجل اكتشاف الأجسام وتقسيم المثيلات والتقسيم الدلالي والتصنيف في الوقت الفعلي.
    2. سهولة الاستخدام: يتضمن واجهة API سهلة الاستخدام لتدريب النماذج والتحقق منها وإجراء التنبؤ والتصدير، مما يجعله متاحاً للمبتدئين والخبراء على حد سواء.
    3. توافق واسع: يدعم تنسيقات تصدير متعددة، بما في ذلك ONNX وTensorRT وCoreML وTensorFlow، مما يوفّر خيارات نشر مرنة.

    استكشف مزيداً من التفاصيل في مقدمة عن YOLO26.

  • بعد تصدير نموذج YOLO26 إلى تنسيق TF GraphDef، يمكنك نشره عبر منصات مختلفة من العتاد المتخصص. وتشمل سيناريوهات النشر النموذجية ما يلي:

    • TensorFlow Serving: استخدم TensorFlow Serving لنشر النماذج القابل للتوسع في بيئات الإنتاج. وهو يدعم إدارة النماذج وخدمتها بكفاءة.
    • الأجهزة المحمولة: حوّل نماذج TF GraphDef إلى TensorFlow Lite، المحسّن للأجهزة المحمولة والمضمّنة، مما يتيح الاستدلال على الجهاز.
    • متصفحات الويب: انشر النماذج باستخدام TensorFlow.js لإجراء الاستدلال من جانب العميل في تطبيقات الويب.
    • مسرّعات الذكاء الاصطناعي: استفد من TPUs وشرائح الذكاء الاصطناعي المخصصة لتسريع الاستدلال.

    راجع قسم خيارات النشر للحصول على معلومات مفصلة.

  • لاستكشاف المشكلات الشائعة وإصلاحها أثناء تصدير نماذج YOLO26، توفّر Ultralytics أدلة وموارد شاملة. وإذا واجهت مشكلات أثناء التثبيت أو تصدير النموذج، فراجع ما يلي:

    ينبغي أن تساعدك هذه الموارد في حل معظم المشكلات المتعلقة بتصدير نموذج YOLO26 ونشره.

التعليقات