Ultralytics YOLO27:
Get Started

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

عند نشر نماذج الرؤية الحاسوبية المتطورة، مثل 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 الاستفادة من مسرّعات الأجهزة، مثل وحدات GPU ووحدات TPU وشرائح الذكاء الاصطناعي، ما يتيح تحقيق مكاسب كبيرة في الأداء ضمن مسار استدلال 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 المستقلة عن المنصة استهداف أجهزة مخصصة، مثل المسرّعات ووحدات TPU (وحدات معالجة الموتر). ويمكن لهذه الأجهزة توفير مزايا في الأداء للنماذج كثيفة العمليات الحسابية.

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

يدعم التصدير إلى 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

# ⁨تحميل نموذج YOLO26⁩
model = YOLO("yolo26n.pt")

# ⁨تصدير النموذج إلى تنسيق TF GraphDef⁩
model.export(format="pb")  # ⁨ينشئ 'yolo26n.pb'⁩
التنبؤ
from ultralytics import YOLO

# ⁨تحميل نموذج TF GraphDef المصدّر⁩
model = YOLO("yolo26n.pb")

# ⁨تنفيذ الاستدلال⁩
results = model("https://ultralytics.com/images/bus.jpg")
تحقّق
from ultralytics import YOLO

# ⁨تحميل نموذج TF GraphDef المصدّر⁩
model = YOLO("yolo26n.pb")

# ⁨# التحقق من الدقة على مجموعة بيانات COCO8⁩
metrics = model.val(data="coco8.yaml")

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

المعاملالنوعالافتراضيالوصف
formatstr'pb'التنسيق المستهدف للنموذج المُصدَّر، ويحدد مدى توافقه مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب كمدخل للنموذج. يمكن تحديده كعدد صحيح للصور المربعة أو كصف (height, width) للأبعاد المحددة.
quantizeint أو strNoneيُصدّر بدقة FP32 ثابتة. لا يدعم GraphDef تحويل الدقة إلى FP16 أو INT8 أو W8A16 أثناء التصدير.
opsetintNoneيحدد إصدار opset الخاص بـ ONNX لرسم ONNX الوسيط. وإذا لم يُحدَّد، فسيُستخدم أحدث إصدار مدعوم.
batchint1يحدد حجم الدفعة للاستدلال بنموذج التصدير، أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر بالتزامن في وضع predict.
devicestrNoneيحدّد الجهاز المستخدَم للتصدير: CPU (device=cpu)، أو MPS لأجهزة Apple silicon (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
    
    # ⁨تحميل نموذج YOLO26⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨تصدير النموذج إلى تنسيق TF GraphDef⁩
    model.export(format="pb")  # ⁨ينشئ 'yolo26n.pb'⁩
    
    # ⁨تحميل نموذج TF GraphDef المصدّر⁩
    tf_graphdef_model = YOLO("yolo26n.pb")
    
    # ⁨تنفيذ الاستدلال⁩
    results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

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

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

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

    اقرأ المزيد عن الفوائد في قسم 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 للاستدلال من جانب العميل في تطبيقات الويب.
    • مسرّعات الذكاء الاصطناعي: استفد من وحدات TPU وشرائح الذكاء الاصطناعي المخصصة لتسريع الاستدلال.

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

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

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

التعليقات