قياس أداء النموذج باستخدام Ultralytics YOLO
تصور المقارنة المعيارية
تحديث المتصفح
قد تحتاج إلى تحديث الصفحة لعرض الرسوم البيانية بشكل صحيح بسبب مشكلات محتملة في ملفات تعريف الارتباط.
مقدمة
بمجرد تدريب النموذج الخاص بك والتحقق من صحته، فإن الخطوة المنطقية التالية هي تقييم أدائه في سيناريوهات العالم الحقيقي المختلفة. يخدم وضع القياس المعياري في Ultralytics YOLO11 هذا الغرض من خلال توفير إطار عمل قوي لتقييم السرعة و الدقة لنموذجك عبر مجموعة من تنسيقات التصدير.
شاهد: نماذج Ultralytics YOLO11 المعيارية | كيف تقارن أداء النموذج على أجهزة مختلفة؟
لماذا تعتبر المقارنة المعيارية حاسمة؟
- قرارات مستنيرة: اكتسب رؤى حول المفاضلات بين السرعة والدقة.
- تخصيص الموارد: فهم كيفية أداء تنسيقات التصدير المختلفة على أجهزة مختلفة.
- التحسين: تعرف على تنسيق التصدير الذي يوفر أفضل أداء لحالة الاستخدام المحددة الخاصة بك.
- كفاءة التكلفة: حقق استخدامًا أكثر كفاءة لموارد الأجهزة بناءً على نتائج القياس.
المقاييس الرئيسية في وضع المقارنة المعيارية
- mAP50-95: لـ الكشف عن الكائنات، والتجزئة، وتقدير الوضع.
- accuracy_top5: لـ تصنيف الصور.
- وقت الاستدلال: الوقت المستغرق لكل صورة بالمللي ثانية.
تنسيقات التصدير المدعومة
- 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: التحكم في مستوى تفاصيل التسجيل.
للحصول على قائمة كاملة بالوسائط، ارجع إلى قسم الوسائط.