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

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

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

مقدمة

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



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

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

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

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

  • mAP50-95: للكشف عن الكائن وتقسيمه وتقدير الوضع.
  • accuracy_top5: لتصنيف الصور.
  • وقت الاستدلال: الوقت المستغرق لكل صورة بالمللي ثانية.

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

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

بقشيش

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

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

ركض YOLOv8n معايير لجميع تنسيقات التصدير المدعومة بما في ذلك ONNX, TensorRT الخ. راجع قسم الوسيطات أدناه للحصول على قائمة كاملة بوسيطات التصدير.

مثل

from ultralytics.utils.benchmarks import benchmark

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

الحجج

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

مفتاح القيمة الافتراضية وصف
model None يحدد المسار إلى ملف النموذج. يقبل كليهما .pt و .yaml التنسيقات ، على سبيل المثال ، "yolov8n.pt" للنماذج أو ملفات التكوين المدربة مسبقا.
data None المسار إلى ملف YAML الذي يحدد مجموعة البيانات لقياس الأداء، وعادة ما يتضمن المسارات والإعدادات لبيانات التحقق من الصحة. مثل: "coco128.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" لإعدادات وحدات معالجة الرسومات المتعددة.
verbose False يتحكم في مستوى التفاصيل في تسجيل الإخراج. قيمة منطقية جبر verbose=True للسجلات التفصيلية أو تعويم لأخطاء العتبة.

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

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

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

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



تم إنشاؤه في 2023-11-12, اخر تحديث 2024-03-01
المؤلفون: جلين جوشر (10) ، chr043416@gmail.com (1) ، يضحك س (1) ، مايانوميروسكي (1)

التعليقات