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

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

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

التصور المعياري

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

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











مقدمة

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



شاهد: Ultralytics برنامج تعليمي للأوضاع: المعيار

ما أهمية المقارنة المعيارية؟

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

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

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

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

نصيحة

  • التصدير إلى ONNX أو OpenVINO لتسريع يصل إلى 3 أضعاف CPU .
  • التصدير إلى TensorRT لتسريع يصل إلى 5 أضعاف 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)
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 المسار إلى ملف YAML الذي يحدد مجموعة البيانات للقياس، وعادةً ما يتضمن مسارات وإعدادات بيانات التحقق من الصحة. مثال: "coco8.yaml".
imgsz 640 حجم الصورة المدخلة للنموذج. يمكن أن يكون عددًا صحيحًا واحدًا للصور المربعة أو مجموعة من الأعداد الصحيحة (width, height) لغير المربع، على سبيل المثال, (640, 480).
half False تمكين الاستدلال FP16 (نصف دقة)، مما يقلل من استخدام الذاكرة وربما يزيد من السرعة على الأجهزة المتوافقة. استخدام half=True للتمكين.
int8 False ينشط تكميم INT8 لمزيد من الأداء المحسّن على الأجهزة المدعومة، وهو مفيد بشكل خاص للأجهزة المتطورة. تعيين int8=True للاستخدام.
device None يحدد جهاز (أجهزة) الحوسبة للقياس، مثل "cpu" أو "cuda:0".
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.js tfjs yolo11n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
MNN mnn yolo11n.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch
IMX500 imx yolov8n_imx_model/ imgsz, int8

انظر بالكامل 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

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

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

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

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

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

تعتبر المقارنة المعيارية لنماذج YOLO11 ضرورية لعدة أسباب:

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

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

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

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

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

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

  • النموذج: المسار إلى ملف النموذج (على سبيل المثال، "yolo11n.pt").
  • البيانات: المسار إلى ملف YAML الذي يحدد مجموعة البيانات (على سبيل المثال، "coco8.yaml").
  • imgsz: حجم الصورة المُدخَلة، إما كعدد صحيح واحد أو كمجموعة أعداد صحيحة.
  • النصف: تمكين استدلال FP16 للحصول على أداء أفضل.
  • int8: تنشيط التكميم INT8 لأجهزة الحافة.
  • الجهاز: حدد جهاز الحساب (على سبيل المثال، "cpu"، "cuda:0").
  • مطول: التحكم في مستوى تفاصيل التسجيل. للحصول على قائمة كاملة بالوسائط، راجع قسم الوسيطات.
📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 2 أيام

التعليقات