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

قياس أداء النموذج باستخدام 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 وما إلى ذلك. راجع قسم الوسائط Arguments أدناه للحصول على قائمة كاملة بوسائط التصدير.

مثال

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 تمنح المستخدمين المرونة اللازمة لضبط المعايير بدقة لتلبية احتياجاتهم الخاصة ومقارنة أداء تنسيقات التصدير المختلفة بسهولة.

مفتاح القيمة الافتراضية الوصف
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 '' قياس أداء النموذج على تنسيق تصدير واحد. على سبيل المثال format=onnx

صيغ التصدير

ستحاول القياسات التشغيل تلقائيًا على جميع تنسيقات التصدير الممكنة المدرجة أدناه. بدلاً من ذلك، يمكنك تشغيل القياسات لتنسيق معين باستخدام format الوسيطة، التي تقبل أيًا من التنسيقات المذكورة أدناه.

التنسيق format الوسيطة النموذج البيانات الوصفية الوسائط
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, 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: التحكم في مستوى تفاصيل التسجيل.

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



📅 تم إنشاؤه منذ سنة واحدة ✏️ تم التحديث منذ شهر واحد

تعليقات