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

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

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

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

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

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

مقدمة

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



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

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

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

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

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

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

نصيحة

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

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

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

مثال

from ultralytics.utils.benchmarks import benchmark

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

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

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

الوسائط

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

مفتاحالقيمة الافتراضيةالوصف
modelNoneيحدد مسار ملف النموذج. يقبل كلاً من .pt و .yaml تنسيقات، على سبيل المثال، "yolo11n.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-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo11n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo11n.pbimgsz, batch, device
TF Litetfliteyolo11n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo11n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo11n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch, device
MNNmnnyolo11n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo11n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo11n_rknn_model/imgsz, batch, name, device
إكسيكوتورشexecutorchyolo11n_executorch_model/imgsz, device

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

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

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

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

مثال

from ultralytics.utils.benchmarks import benchmark

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

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

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

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

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

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

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

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

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

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

ما هي تنسيقات التصدير التي يدعمها YOLO11، وما هي مزاياها؟

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

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

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

ما هي الحجج التي يمكنني استخدامها لضبط معايير YOLO11 الخاصة بي؟

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

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

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



📅 تم إنشاؤها منذ 2 سنوات مضت ✏️ تم التحديث منذ 3 أيام
glenn-jocherBurhan-Qambitious-octopuslakshanthadRizwanMunawarY-T-GUltralyticsAssistantjk4eMatthewNoyceLaughing-q

تعليقات