Ultralytics YOLO27:

تصدير Intel OpenVINO#

OpenVINO Intel AI inference toolkit

في هذا الدليل، نتناول تصدير نماذج YOLO26 إلى تنسيق OpenVINO، الذي قد يوفر تسريعًا يصل إلى 3 أضعاف على CPU، بالإضافة إلى تسريع استدلال YOLO على أجهزة Intel GPU وNPU.

OpenVINO، اختصارًا لمجموعة أدوات الاستدلال المرئي المفتوح وتحسين الشبكات العصبية، هي مجموعة أدوات شاملة لتحسين نماذج استدلال الذكاء الاصطناعي ونشرها. وعلى الرغم من أن الاسم يتضمن كلمة «مرئي»، فإن OpenVINO تدعم أيضًا مهامًا إضافية متنوعة، منها اللغة والصوت والسلاسل الزمنية وغيرها.



شاهد: كيفية تصدير Ultralytics YOLO26 إلى تنسيق Intel OpenVINO لتسريع الاستدلال 🚀

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

يدعم تصدير OpenVINO جميع مهام Ultralytics السبع. ولا يتوفر التقسيم الدلالي وتقدير العمق إلا مع YOLO26، وهي العائلة الوحيدة التي تتضمن هذين الرأسين.

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

التثبيت#

ثبّت تبعيات تصدير OpenVINO باستخدام:

pip install "ultralytics[export-openvino]"

تتضمن ultralytics[export] هذه التبعيات أيضًا، وتُثبَّت تلقائيًا عند الحاجة إليها أثناء التصدير.

أمثلة الاستخدام#

يدعم تنسيق OpenVINO أوضاع التصدير والتنبؤ والتحقق. صدّر النموذج، ثم حمّل النموذج المُصدَّر لإجراء الاستدلال أو للتحقق من دقته على CPU أو GPU مدمجة/منفصلة أو NPU من Intel.

التصدير
from ultralytics import YOLO

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

# ⁨تصدير النموذج بتنسيق OpenVINO⁩
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'
التنبؤ
from ultralytics import YOLO

# ⁨حمّل نموذج OpenVINO المُصدَّر⁩
model = YOLO("yolo26n_openvino_model/")

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

# ⁨أجرِ الاستدلال على جهاز محدد؛ الأجهزة المتاحة: ["intel:gpu", "intel:npu", "intel:cpu"]⁩
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")
تحقّق
from ultralytics import YOLO

# ⁨حمّل نموذج OpenVINO المُصدَّر⁩
model = YOLO("yolo26n_openvino_model/")

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

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

المعاملالنوعالافتراضيالوصف
formatstr'openvino'التنسيق المستهدف للنموذج المُصدَّر، ويحدد مدى توافقه مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب كمدخل للنموذج. يمكن تحديده كعدد صحيح للصور المربعة أو كصف (height, width) للأبعاد المحددة.
quantizeint أو strNoneدقة التكميم: 16 (FP16) أو 8 (INT8/PTQ؛ يتطلب مجموعة معايرة data/fraction)؛ أما 32/غير المحدد فيستخدم FP32. يحل ذلك محل العلامتين المهملتين half/int8.
dynamicboolFalseيتيح أحجام إدخال ديناميكية، ما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة.
nmsbool، اختياريNoneاختر المخرجات الأولية (None، الافتراضي)، أو NMS المضمّن (True)، أو الرأس الخالي من NMS (False).
batchint1يحدد حجم الدفعة للاستدلال بنموذج التصدير، أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر بالتزامن في وضع predict.
datastrNoneمسار ملف YAML الخاص بـمجموعة البيانات، وهو ضروري للتكميم؛ أما التصنيف فيتطلب دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا لم يُحدَّد مع quantize=8، تختار Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج.
fractionfloat أو int أو list1.0مجموعة فرعية للمعايرة محددة كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم المكوّنة من عنصرين test كاملة، بينما تتجاوزها 0.
devicestrNoneيحدّد الجهاز المستخدَم للتصدير: CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps).

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

تحذير

يتوافق OpenVINO™ مع معظم معالجات Intel®، لكن لضمان الأداء الأمثل:

  1. تحقّق من دعم OpenVINO™ تحقّق مما إذا كانت شريحة Intel® مدعومة رسميًا من OpenVINO™ باستخدام قائمة التوافق من Intel.

  2. حدّد المسرّع حدّد ما إذا كان معالجك يتضمن NPU (وحدة معالجة عصبية) أو GPU (وحدة معالجة رسومات مدمجة) بالرجوع إلى دليل أجهزة Intel.

  3. ثبّت أحدث برامج التشغيل إذا كانت شريحتك تدعم NPU أو GPU لكن OpenVINO™ لا يتعرّف عليها، فقد تحتاج إلى تثبيت برامج التشغيل المرتبطة أو تحديثها. اتبع تعليمات تثبيت برنامج التشغيل لتمكين التسريع الكامل.

باتباع هذه الخطوات الثلاث، يمكنك ضمان تشغيل OpenVINO™ بأفضل أداء على أجهزة Intel®.

مزايا OpenVINO#

  1. الأداء: يوفر OpenVINO استدلالًا عالي الأداء من خلال الاستفادة من إمكانات وحدات CPU وGPU المدمجة والمنفصلة وFPGA من Intel.
  2. دعم التنفيذ غير المتجانس: يوفر OpenVINO واجهة API تتيح كتابة التطبيق مرة واحدة ونشره على أي جهاز Intel مدعوم (CPU وGPU وFPGA وVPU وغيرها).
  3. مُحسِّن النماذج: يوفر OpenVINO مُحسِّنًا للنماذج يستورد النماذج من أُطر التعلّم العميق الشائعة، مثل PyTorch وTensorFlow وTensorFlow Lite وKeras وONNX وPaddlePaddle وCaffe، ويحوّلها ويحسّنها.
  4. سهولة الاستخدام: تتضمن مجموعة الأدوات مجموعة كبيرة من دفاتر الشروحات التعليمية (بما فيها تحسين YOLO26) التي تشرح جوانب مختلفة من مجموعة الأدوات.

بنية تصدير OpenVINO#

عند تصدير نموذج إلى تنسيق OpenVINO، ينتج عن ذلك دليل يتضمن ما يلي:

  1. ملف XML: يصف البنية الطوبولوجية للشبكة.
  2. ملف BIN: يحتوي على البيانات الثنائية للأوزان والانحيازات.
  3. ملف البيانات الوصفية: يحتوي metadata.yaml على بيانات وصفية للنموذج، مثل أسماء الفئات وحجم الصورة والمهمة، وتقرأها Ultralytics عند تحميل النموذج.

يمكنك استخدام هذه الملفات لإجراء الاستدلال باستخدام OpenVINO Runtime.

استخدام تصدير OpenVINO في النشر#

بعد تصدير نموذجك بنجاح إلى تنسيق OpenVINO، يتوفر أمامك خياران أساسيان لإجراء الاستدلال:

  1. استخدم حزمة ultralytics، التي توفر واجهة API عالية المستوى وتغلّف OpenVINO Runtime.

  2. استخدم الحزمة الأصلية openvino لمزيد من التحكم المتقدم أو المخصص في سلوك الاستدلال.

الاستدلال باستخدام Ultralytics#

تتيح لك حزمة ultralytics إجراء الاستدلال بسهولة باستخدام نموذج OpenVINO المُصدَّر عبر أسلوب predict. ويمكنك أيضًا تحديد الجهاز المستهدف (مثل intel:gpu وintel:npu وintel:cpu) باستخدام وسيطة device.

from ultralytics import YOLO

# ⁨حمّل نموذج OpenVINO المُصدَّر⁩
ov_model = YOLO("yolo26n_openvino_model/")  # ⁨مسار نموذج OpenVINO المُصدَّر⁩
# ⁨أجرِ الاستدلال باستخدام النموذج المُصدَّر⁩
ov_model.predict(device="intel:gpu")  # ⁨حدّد الجهاز الذي تريد إجراء الاستدلال عليه⁩

هذا النهج مثالي للنمذجة الأولية السريعة أو النشر عندما لا تحتاج إلى تحكم كامل في مسار الاستدلال.

الاستدلال باستخدام OpenVINO Runtime#

يوفر OpenVINO Runtime واجهة API موحدة للاستدلال عبر جميع أجهزة Intel المدعومة. كما يوفر إمكانات متقدمة مثل موازنة الأحمال بين أجهزة Intel والتنفيذ غير المتزامن. لمزيد من المعلومات حول إجراء الاستدلال، راجع دفاتر YOLO26.

تذكّر أنك ستحتاج إلى ملفي XML وBIN، بالإضافة إلى أي إعدادات خاصة بالتطبيق، مثل حجم الإدخال ومعامل المقياس للتطبيع وغيرها، لإعداد النموذج واستخدامه مع Runtime على النحو الصحيح.

في تطبيق النشر الخاص بك، ستنفّذ عادةً الخطوات التالية:

  1. هيّئ OpenVINO بإنشاء core = Core().
  2. حمّل النموذج باستخدام الأسلوب core.read_model().
  3. جمّع النموذج باستخدام الدالة core.compile_model().
  4. جهّز الإدخال (صورة أو نص أو صوت وغيرها).
  5. أجرِ الاستدلال باستخدام compiled_model(input_data).

للاطلاع على خطوات أكثر تفصيلًا ومقتطفات برمجية، راجع وثائق OpenVINO أو البرنامج التعليمي لواجهة API.

معايير أداء YOLO26 على OpenVINO#

قاس فريق Ultralytics أداء YOLO26 عبر تنسيقات نماذج متنوعة ودرجات الدقة، وقيّم السرعة والدقة على أجهزة Intel مختلفة متوافقة مع OpenVINO.

ملاحظة
  • نتائج القياس أدناه مرجعية، وقد تختلف وفقًا لتكوين الأجهزة والبرامج الدقيق للنظام، وكذلك عبء العمل الحالي على النظام عند إجراء القياسات.

  • أُجريت جميع اختبارات الأداء باستخدام الإصدار 2026.2.1 من حزمة Python openvino.

  • لا تُدعَم نماذج YOLO26 على NPU إلا في أنظمة Intel® Core™ Ultra™ من سلسلتي 2xxV و3xx وما فوقهما.

Intel® Core™ Ultra#

تمثل سلسلة Intel® Core™ Ultra™ معيارًا جديدًا في الحوسبة عالية الأداء، وقد صُممت لتلبية المتطلبات المتغيرة للمستخدمين المعاصرين، من اللاعبين وصنّاع المحتوى إلى المتخصصين الذين يستفيدون من الذكاء الاصطناعي. ولا تقتصر هذه المجموعة من الجيل التالي على كونها سلسلة تقليدية من وحدات CPU؛ إذ تجمع بين أنوية CPU قوية وإمكانات GPU مدمجة عالية الأداء ووحدة معالجة عصبية (NPU) مخصصة ضمن شريحة واحدة، لتقدم حلًا موحدًا لأعباء الحوسبة المتنوعة والكثيفة.

يرتكز تصميم Intel® Core Ultra™ على بنية هجينة تتيح أداءً استثنائيًا عبر مهام المعالجة التقليدية وأعباء العمل المسرّعة بواسطة GPU والعمليات القائمة على الذكاء الاصطناعي. ويعزز تضمين NPU استدلال الذكاء الاصطناعي على الجهاز، مما يتيح تعلّم الآلة ومعالجة البيانات بسرعة وكفاءة أعلى عبر مجموعة واسعة من التطبيقات.

تضم عائلة Core Ultra™ طُرزًا متنوعة مصممة لتلبية احتياجات الأداء المختلفة، مع خيارات تتراوح بين التصاميم الموفرة للطاقة والطرز عالية القدرة التي تحمل الرمز «H»، وهي مثالية لأجهزة الكمبيوتر المحمولة والتصاميم المدمجة التي تتطلب قدرة حوسبة كبيرة. ويستفيد المستخدمون في جميع طرز السلسلة من تكامل CPU وGPU وNPU، بما يوفر كفاءة واستجابة وقدرات تعدد مهام ملحوظة.

باعتبارها جزءًا من الابتكار المستمر لدى Intel، تضع سلسلة Core Ultra™ معيارًا جديدًا للحوسبة المُهيأة للمستقبل. ومع توفر طرز متعددة وظهور المزيد منها لاحقًا، تؤكد هذه السلسلة التزام Intel بتقديم حلول متطورة للجيل التالي من الأجهزة الذكية المعززة بالذكاء الاصطناعي.

أُجريت القياسات أدناه على Intel® Core™ Ultra™ X7 358H وIntel® Core™ Ultra™ 7 258V وIntel® Core™ Ultra™ 7 155H بدقة FP32 وFP16 وINT8.

Intel® Core™ Ultra™ X7 358H#

معايير الأداء
Intel Core Ultra GPU benchmarks
نتائج القياس التفصيلية
النموذجالتنسيقالدقةالحالةالحجم (MB)metrics/mAP50-95(B)وقت الاستدلال (ms/im)
YOLO26nPyTorch (CPU)FP32✅5.30.476529.28
YOLO26nOpenVINOFP32✅9.70.47624.09
YOLO26nOpenVINOFP16✅5.10.47624.03
YOLO26nOpenVINOINT8✅3.20.46344.24
YOLO26sPyTorch (CPU)FP32✅19.50.570359.32
YOLO26sOpenVINOFP32✅36.70.56165.08
YOLO26sOpenVINOFP16✅18.70.56165.14
YOLO26sOpenVINOINT8✅10.00.54624.47
YOLO26mPyTorch (CPU)FP32✅42.20.6196143.21
YOLO26mOpenVINOFP32✅78.40.61667.1
YOLO26mOpenVINOFP16✅39.50.61667.06
YOLO26mOpenVINOINT8✅20.60.60555.61
YOLO26lPyTorch (CPU)FP32✅50.70.6215181.16
YOLO26lOpenVINOFP32✅95.30.62058.45
YOLO26lOpenVINOFP16✅48.10.62058.49
YOLO26lOpenVINOINT8✅25.20.59386.25
YOLO26xPyTorch (CPU)FP32✅113.20.6512379.75
YOLO26xOpenVINOFP32✅213.30.656813.03
YOLO26xOpenVINOFP16✅107.10.656812.98
YOLO26xOpenVINOINT8✅54.80.63858.74

Intel® Core™ Ultra™ 7 258V#

معايير الأداء
Intel Core Ultra GPU benchmarks
نتائج القياس التفصيلية
النموذجالتنسيقالدقةالحالةالحجم (MB)metrics/mAP50-95(B)وقت الاستدلال (ms/im)
YOLO26nPyTorch (CPU)FP32✅5.30.476527.33
YOLO26nOpenVINOFP32✅9.60.47643.33
YOLO26nOpenVINOFP16✅5.10.47643.34
YOLO26nOpenVINOINT8✅3.20.46343.46
YOLO26sPyTorch (CPU)FP32✅19.50.570360.2
YOLO26sOpenVINOFP32✅36.70.56164.66
YOLO26sOpenVINOFP16✅18.60.56164.65
YOLO26sOpenVINOINT8✅10.00.54623.99
YOLO26mPyTorch (CPU)FP32✅42.20.6196152.87
YOLO26mOpenVINOFP32✅78.40.61689.03
YOLO26mOpenVINOFP16✅39.50.61688.98
YOLO26mOpenVINOINT8✅20.60.60555.7
YOLO26lPyTorch (CPU)FP32✅50.70.6215201.57
YOLO26lOpenVINOFP32✅95.30.620311.32
YOLO26lOpenVINOFP16✅48.10.620311.36
YOLO26lOpenVINOINT8✅25.20.59387.45
YOLO26xPyTorch (CPU)FP32✅113.20.6512431.04
YOLO26xOpenVINOFP32✅213.20.656819.08
YOLO26xOpenVINOFP16✅107.10.656819.63
YOLO26xOpenVINOINT8✅54.80.638513.69

Intel® Core™ Ultra™ 7 155H#

معايير الأداء
Intel Core Ultra GPU benchmarks
نتائج القياس التفصيلية
النموذجالتنسيقالدقةالحالةالحجم (MB)metrics/mAP50-95(B)وقت الاستدلال (ms/im)
YOLO26nPyTorch (CPU)FP32✅5.30.476533.19
YOLO26nOpenVINOFP32✅9.60.47589.13
YOLO26nOpenVINOFP16✅5.10.47589.07
YOLO26nOpenVINOINT8✅3.20.45735.79
YOLO26sPyTorch (CPU)FP32✅19.50.570370.92
YOLO26sOpenVINOFP32✅36.70.561616.37
YOLO26sOpenVINOFP16✅18.60.561616.65
YOLO26sOpenVINOINT8✅10.00.5459.27
YOLO26mPyTorch (CPU)FP32✅42.20.6196192.45
YOLO26mOpenVINOFP32✅78.40.616734.47
YOLO26mOpenVINOFP16✅39.50.616735.71
YOLO26mOpenVINOINT8✅20.60.603915.46
YOLO26lPyTorch (CPU)FP32✅50.70.6215239.19
YOLO26lOpenVINOFP32✅95.30.62143.24
YOLO26lOpenVINOFP16✅48.10.62143.4
YOLO26lOpenVINOINT8✅25.20.599919.72
YOLO26xPyTorch (CPU)FP32✅113.20.6512511.89
YOLO26xOpenVINOFP32✅213.20.655279.49
YOLO26xOpenVINOFP16✅107.10.655279.45
YOLO26xOpenVINOINT8✅54.80.64234.66

إعادة إنتاج نتائجنا#

لإعادة إجراء اختبارات الأداء التي أجرتها Ultralytics أعلاه على جميع تنسيقات التصدير، شغّل هذا الرمز:

مثال
from ultralytics import YOLO

# ⁨تحميل نموذج YOLO26n بصيغة PyTorch⁩
model = YOLO("yolo26n.pt")

# ⁨اختبر سرعة YOLO26n ودقته على مجموعة البيانات COCO128 بجميع تنسيقات التصدير⁩
results = model.benchmark(data="coco128.yaml")

لاحظ أن نتائج القياس قد تختلف وفقًا لتكوين الأجهزة والبرامج الدقيق للنظام، وكذلك عبء العمل الحالي على النظام عند إجراء القياسات. للحصول على نتائج موثوقة قدر الإمكان، استخدم مجموعة بيانات تضم عددًا كبيرًا من الصور، مثل data='coco.yaml' (5000 صورة تحقق).

الخلاصة#

تُظهر نتائج قياس الأداء بوضوح فوائد تصدير نموذج YOLO26 إلى تنسيق OpenVINO. وعبر مختلف النماذج ومنصات الأجهزة، يتفوق تنسيق OpenVINO باستمرار على التنسيقات الأخرى من حيث سرعة الاستدلال، مع الحفاظ على دقة مماثلة.

تؤكد نتائج القياس فعالية OpenVINO كأداة لنشر نماذج التعلّم العميق. فمن خلال تحويل النماذج إلى تنسيق OpenVINO، يستطيع المطورون تحقيق تحسينات كبيرة في الأداء، مما يسهّل نشر هذه النماذج في التطبيقات الواقعية.

للاطلاع على مزيد من المعلومات التفصيلية والتعليمات حول استخدام OpenVINO، راجع الوثائق الرسمية لـ OpenVINO.

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

  • يمكن أن يعزز تصدير نماذج YOLO26 إلى تنسيق OpenVINO سرعة CPU بشكل كبير، ويتيح تسريع GPU وNPU على أجهزة Intel. لإجراء التصدير، يمكنك استخدام Python أو CLI كما هو موضح أدناه:

    مثال
    from ultralytics import YOLO
    
    # ⁨تحميل نموذج YOLO26n بصيغة PyTorch⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨صدّر النموذج⁩
    model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

    لمزيد من المعلومات، راجع وثائق تنسيقات التصدير.

  • يوفر استخدام مجموعة أدوات OpenVINO من Intel مع نماذج YOLO26 عدة فوائد:

    1. الأداء: تحقيق تسريع يصل إلى 3 أضعاف في استدلال CPU والاستفادة من وحدات GPU وNPU من Intel للتسريع.
    2. مُحسِّن النماذج: تحويل النماذج وتحسينها وتنفيذها من أُطر العمل الشائعة مثل PyTorch وTensorFlow وONNX.
    3. سهولة الاستخدام: تتوفر مجموعة كبيرة من دفاتر الملاحظات التعليمية لمساعدة المستخدمين على البدء، بما في ذلك دفاتر خاصة بـ YOLO26.
    4. التنفيذ غير المتجانس: نشر النماذج على أجهزة Intel متنوعة باستخدام API موحد.

    للاطلاع على مقارنات مفصلة للأداء، تفضل بزيارة قسم قياسات الأداء.

  • بعد تصدير نموذج YOLO26n إلى تنسيق OpenVINO، يمكنك تشغيل الاستدلال باستخدام Python أو CLI:

    مثال
    from ultralytics import YOLO
    
    # ⁨حمّل نموذج OpenVINO المُصدَّر⁩
    ov_model = YOLO("yolo26n_openvino_model/")
    
    # ⁨تنفيذ الاستدلال⁩
    results = ov_model("https://ultralytics.com/images/bus.jpg")

    راجع وثائق وضع التنبؤ لمزيد من التفاصيل.

  • تم تحسين Ultralytics YOLO26 لاكتشاف الكائنات في الوقت الفعلي بدقة وسرعة عاليتين. وعلى وجه التحديد، عند استخدام YOLO26 مع OpenVINO، فإنه يوفر:

    • تسريعًا يصل إلى 3 أضعاف على وحدات CPU من Intel
    • نشرًا سلسًا على وحدات GPU وNPU من Intel
    • دقة متسقة ومماثلة عبر تنسيقات التصدير المختلفة

    لتحليل معمق للأداء، اطّلع على قياسات YOLO26 المفصلة على أجهزة مختلفة.

  • نعم، يمكنك قياس أداء نماذج YOLO26 بتنسيقات متنوعة، منها PyTorch وTorchScript وONNX وOpenVINO. استخدم مقتطف الشيفرة التالي لإجراء القياس على مجموعة البيانات التي تختارها:

    مثال
    from ultralytics import YOLO
    
    # ⁨تحميل نموذج YOLO26n بصيغة PyTorch⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨قياس سرعة YOLO26n ودقته على مجموعة بيانات COCO8 بجميع تنسيقات التصدير⁩
    results = model.benchmark(data="coco8.yaml")

    للاطلاع على نتائج قياس الأداء التفصيلية، راجع قسم قياسات الأداء ووثائق تنسيقات التصدير.

التعليقات