انتقل إلى المحتوى

نموذج المقارنة المعيارية مع Ultralytics YOLO

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

مقدمة

Once your model is trained and validated, the next logical step is to evaluate its performance in various real-world scenarios. Benchmark mode in Ultralytics YOLO11 serves this purpose by providing a robust framework for assessing the speed and accuracy of your model across a range of export formats.



شاهد: Ultralytics وسائط البرنامج التعليمي: المعيار

لماذا تعتبر المقارنة المعيارية أمرا بالغ الأهمية؟

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

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

  • mAP50-95: For object detection, segmentation, and pose estimation.
  • accuracy_top5: For image classification.
  • وقت الاستدلال: الوقت المستغرق لكل صورة بالمللي ثانية.

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

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

بقشيش

  • التصدير إلى ONNX أو OpenVINO لتسريع يصل إلى 3 أضعاف CPU .
  • التصدير إلى TensorRT لتسريع يصل إلى 5 أضعاف GPU .

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

Run YOLO11n benchmarks on all supported export formats including ONNX, TensorRT etc. See Arguments section below for a full list of export arguments.

مثل

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

الحجج

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

مفتاح القيمة الافتراضية وصف
model None يحدد المسار إلى ملف النموذج. يقبل كليهما .pt و .yaml التنسيقات ، على سبيل المثال ، "yolo11n.pt" للنماذج أو ملفات التكوين المدربة مسبقا.
data None Path to a YAML file defining the dataset for benchmarking, typically including paths and settings for validation data. Example: "coco8.yaml".
imgsz 640 حجم صورة الإدخال للنموذج. يمكن أن يكون عددا صحيحا واحدا للصور المربعة أو مجموعة (width, height) لغير مربع ، على سبيل المثال ، (640, 480).
half False تمكين الاستدلال FP16 (نصف الدقة) ، مما يقلل من استخدام الذاكرة وربما يزيد السرعة على الأجهزة المتوافقة. استخدام half=True لتمكين.
int8 False ينشط تكميم INT8 لمزيد من الأداء المحسن على الأجهزة المدعومة ، وهو مفيد بشكل خاص لأجهزة الحافة. جبر int8=True للاستخدام.
device None يحدد جهاز (أجهزة) الحساب لقياس الأداء، مثل "cpu", "cuda:0"، أو قائمة بالأجهزة مثل "cuda:0,1" لإعدادات متعددةGPU .
verbose False يتحكم في مستوى التفاصيل في تسجيل الإخراج. قيمة منطقية جبر verbose=True للسجلات التفصيلية أو تعويم لأخطاء العتبة.

تنسيقات التصدير

ستحاول المعايير التشغيل تلقائيا على جميع تنسيقات التصدير الممكنة أدناه.

تنسيق format جدال نموذج البيانات الوصفية الحجج
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, optimize, batch
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb imgsz, batch
TF لايت tflite yolo11n.tflite imgsz, half, int8, batch
TF حافة TPU edgetpu yolo11n_edgetpu.tflite imgsz
TF.شبيبه tfjs yolo11n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch

شاهد التفاصيل export التفاصيل في تصدير صفحة.

الأسئلة المتداولة

How do I benchmark my YOLO11 model's performance using Ultralytics?

Ultralytics YOLO11 offers a Benchmark mode to assess your model's performance across different export formats. This mode provides insights into key metrics such as mean Average Precision (mAP50-95), accuracy, and inference time in milliseconds. To run benchmarks, you can use either Python or CLI commands. For example, to benchmark on a 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

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

What are the benefits of exporting YOLO11 models to different formats?

Exporting YOLO11 models to different formats such as ONNX, TensorRT, and OpenVINO allows you to optimize performance based on your deployment environment. For instance:

  • ONNX: يوفر سرعة تصل إلى 3 أضعاف CPU .
  • TensorRT: يوفر سرعة تصل إلى 5 أضعاف GPU .
  • OpenVINO: محسّنة خصيصًا للأجهزة Intel . تعمل هذه التنسيقات على تحسين سرعة ودقة النماذج الخاصة بك، مما يجعلها أكثر كفاءة لمختلف التطبيقات الواقعية. قم بزيارة صفحة التصدير للحصول على التفاصيل الكاملة.

Why is benchmarking crucial in evaluating YOLO11 models?

Benchmarking your YOLO11 models is essential for several reasons:

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

Which export formats are supported by YOLO11, and what are their advantages?

YOLO11 supports a variety of export formats, each tailored for specific hardware and use cases:

  • ONNX: الأفضل للأداء CPU
  • TensorRT: مثالية للكفاءة GPU
  • OpenVINO: مُحسّن للأجهزة Intel .
  • CoreML & TensorFlow: Useful for iOS and general ML applications. For a complete list of supported formats and their respective advantages, check out the Supported Export Formats section.

What arguments can I use to fine-tune my YOLO11 benchmarks?

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

  • model: Path to the model file (e.g., "yolo11n.pt").
  • البيانات: المسار إلى ملف YAML الذي يحدد مجموعة البيانات (على سبيل المثال، "coco8.yaml").
  • imgsz: حجم الصورة المدخلة، إما كعدد صحيح واحد أو كمجموعة أعداد صحيحة.
  • النصف: تمكين استدلال FP16 للحصول على أداء أفضل.
  • int8: تنشيط التكميم INT8 لأجهزة الحافة.
  • الجهاز: حدد جهاز الحساب (على سبيل المثال، "cpu"، "cuda:0").
  • مطول: التحكم في مستوى تفاصيل التسجيل. للحصول على قائمة كاملة بالوسائط، راجع قسم الوسيطات.

📅 Created 11 months ago ✏️ Updated 13 days ago

التعليقات