تخطي إلى المحتوى

قياس أداء النموذج باستخدام Ultralytics YOLO

النظام البيئي Ultralytics YOLO وعمليات التكامل

تصور المقارنة المعيارية

تحديث المتصفح

قد تحتاج إلى تحديث الصفحة لعرض الرسوم البيانية بشكل صحيح بسبب مشكلات محتملة في ملفات تعريف الارتباط.

مقدمة

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



شاهد: اختبار أداء نماذج Ultralytics YOLO26 | كيفية مقارنة أداء النموذج على أجهزة مختلفة؟

لماذا تعتبر المقارنة المعيارية حاسمة؟

  • قرارات مستنيرة: اكتسب رؤى حول المفاضلات بين السرعة والدقة.
  • تخصيص الموارد: فهم كيفية أداء تنسيقات التصدير المختلفة على أجهزة مختلفة.
  • التحسين: تعرف على تنسيق التصدير الذي يوفر أفضل أداء لحالة الاستخدام المحددة الخاصة بك.
  • كفاءة التكلفة: حقق استخدامًا أكثر كفاءة لموارد الأجهزة بناءً على نتائج القياس.

المقاييس الرئيسية في وضع المقارنة المعيارية

  • mAP50-95: لـ object detect و segmentation وتقدير الوضع.
  • accuracy_top5: لـ تصنيف الصور.
  • وقت الاستدلال: الوقت المستغرق لكل صورة بالمللي ثانية.

تنسيقات التصدير المدعومة

  • ONNX: للحصول على الأداء الأمثل لوحدة المعالجة المركزية CPU
  • TensorRT: لتحقيق أقصى قدر من كفاءة وحدة معالجة الرسومات GPU
  • OpenVINO: لتحسين أجهزة Intel
  • CoreML و TensorFlow SavedModel والمزيد: لتلبية احتياجات نشر متنوعة.

نصيحة

  • يمكنك التصدير إلى ONNX أو OpenVINO للحصول على تسريع يصل إلى 3x لوحدة المعالجة المركزية CPU.
  • يمكنك التصدير إلى TensorRT للحصول على تسريع يصل إلى 5x لوحدة معالجة الرسوميات GPU.

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

شغّل اختبارات أداء YOLO26n عبر جميع صيغ التصدير المدعومة (ONNX، TensorRT، إلخ.). راجع قسم الوسائط أدناه للحصول على قائمة كاملة بخيارات التصدير.

مثال

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 format=onnx

الوسائط

وسائط مثل model, data, imgsz, half, device, verbose و format تمنح المستخدمين المرونة اللازمة لضبط المعايير بدقة لتلبية احتياجاتهم الخاصة ومقارنة أداء تنسيقات التصدير المختلفة بسهولة.

مفتاحالقيمة الافتراضيةالوصف
modelNoneيحدد مسار ملف النموذج. يقبل كلاً من .pt و .yaml تنسيقات، على سبيل المثال، "yolo26n.pt" للنماذج المدربة مسبقًا أو ملفات التكوين.
dataNoneمسار إلى ملف YAML يحدد مجموعة البيانات المستخدمة في القياس، ويتضمن عادةً مسارات وإعدادات لـ بيانات التحقق. مثال: "coco8.yaml".
imgsz640حجم الصورة المدخلة للنموذج. يمكن أن يكون عددًا صحيحًا واحدًا للصور المربعة أو صفًا (width, height) للصور غير المربعة، على سبيل المثال، (640, 480).
halfFalseتمكين الاستدلال FP16 (نصف الدقة)، مما يقلل من استخدام الذاكرة وربما يزيد السرعة على الأجهزة المتوافقة. استخدم half=True لتمكين.
int8Falseتفعيل تحديد كمية INT8 لتحسين الأداء بشكل أكبر على الأجهزة المدعومة، وهو مفيد بشكل خاص للأجهزة الطرفية. اضبط int8=True للاستخدام.
deviceNoneيحدد جهاز (أجهزة) الحساب المستخدمة في القياس، مثل "cpu" أو "cuda:0".
verboseFalseيتحكم في مستوى التفاصيل في إخراج التسجيل. اضبط verbose=True للحصول على سجلات مفصلة.
format''تقوم معايير الأداء بتقييم تنسيق التصدير المحدد فقط (على سبيل المثال، format=onnx). اتركه فارغًا لاختبار كل تنسيق مدعوم تلقائيًا.

صيغ التصدير

ستحاول القياسات التشغيل تلقائيًا على جميع تنسيقات التصدير الممكنة المدرجة أدناه. بدلاً من ذلك، يمكنك تشغيل القياسات لتنسيق معين باستخدام format الوسيطة، التي تقبل أيًا من التنسيقات المذكورة أدناه.

التنسيقformat الوسيطةالنموذجالبيانات الوصفيةالوسائط
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

اطلع على التفاصيل الكاملة export التفاصيل في تصدير التنبؤ.

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

كيف أقوم بقياس أداء نموذج YOLO26 الخاص بي باستخدام Ultralytics؟

توفر Ultralytics YOLO26 وضع اختبار الأداء لتقييم أداء نموذجك عبر صيغ تصدير مختلفة. يوفر هذا الوضع رؤى حول المقاييس الرئيسية مثل متوسط الدقة المتوسطة (mAP50-95)، والدقة، ووقت الاستدلال بالمللي ثانية. لتشغيل اختبارات الأداء، يمكنك استخدام أوامر python أو CLI. على سبيل المثال، لاختبار الأداء على GPU:

مثال

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo26n.pt data='coco8.yaml' imgsz=640 half=False device=0

لمزيد من التفاصيل حول وسائط القياس، قم بزيارة قسم الوسائط Arguments.

ما هي فوائد تصدير نماذج YOLO26 إلى تنسيقات مختلفة؟

يسمح لك تصدير نماذج YOLO26 إلى صيغ مختلفة مثل ONNX و TensorRT و OpenVINO بتحسين الأداء بناءً على بيئة النشر الخاصة بك. على سبيل المثال:

  • ONNX: يوفر تسريعًا لوحدة المعالجة المركزية CPU يصل إلى 3x.
  • TensorRT: يوفر تسريعًا لوحدة معالجة الرسوميات GPU يصل إلى 5x.
  • OpenVINO: مُحسَّن خصيصًا لأجهزة Intel.

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

لماذا يعد قياس الأداء أمرًا بالغ الأهمية في تقييم نماذج YOLO26؟

يعد تقييم أداء نماذج YOLO26 الخاصة بك أمرًا ضروريًا لعدة أسباب:

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

تساعد المقاييس الرئيسية مثل mAP50-95 ودقة Top-5 ووقت الاستدلال في إجراء هذه التقييمات. راجع قسم Key Metrics لمزيد من المعلومات.

ما هي صيغ التصدير المدعومة بواسطة YOLO26، وما هي مزاياها؟

يدعم YOLO26 مجموعة متنوعة من تنسيقات التصدير، كل منها مصمم خصيصًا لأجهزة وحالات استخدام معينة:

  • ONNX: الأفضل لأداء وحدة المعالجة المركزية CPU.
  • TensorRT: مثالي لكفاءة وحدة معالجة الرسوميات GPU.
  • OpenVINO: مُحسَّن لأجهزة Intel.
  • CoreML و TensorFlow: مفيدة لتطبيقات iOS وتطبيقات تعلم الآلة العامة.

للحصول على قائمة كاملة بالتنسيقات المدعومة ومزاياها، تحقق من قسم تنسيقات التصدير المدعومة.

ما هي الوسائط التي يمكنني استخدامها لضبط اختبارات أداء YOLO26 الخاصة بي بدقة؟

عند تشغيل المعايير، يمكن تخصيص العديد من الحجج لتناسب الاحتياجات المحددة:

  • النموذج: المسار إلى ملف النموذج (على سبيل المثال، "yolo26n.pt").
  • البيانات: مسار إلى ملف YAML يحدد مجموعة البيانات (على سبيل المثال، "coco8.yaml").
  • imgsz: حجم الصورة المدخلة، إما كعدد صحيح واحد أو كصف.
  • half: تمكين استنتاج FP16 لتحسين الأداء.
  • int8: تفعيل تحديد الكميات INT8 للأجهزة الطرفية.
  • device: حدد جهاز الحساب (على سبيل المثال، "cpu"، "cuda:0").
  • verbose: التحكم في مستوى تفاصيل التسجيل.

للحصول على قائمة كاملة بالوسائط، ارجع إلى قسم الوسائط.



📅 تم الإنشاء قبل 2 أعوام ✏️ تم التحديث قبل 2 أيام
glenn-jocherRizwanMunawarBurhan-Qambitious-octopuspderrengerlakshanthadY-T-GUltralyticsAssistantjk4eMatthewNoyceRizwanMunawar

تعليقات