نموذج المقارنة المعيارية مع 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.
مثل
الحجج
وسيطات مثل 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:
مثل
لمزيد من التفاصيل حول الوسائط القياسية، راجع قسم الوسائط.
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").
- مطول: التحكم في مستوى تفاصيل التسجيل. للحصول على قائمة كاملة بالوسائط، راجع قسم الوسيطات.