Link to this sectionقياس أداء النموذج باستخدام Ultralytics YOLO#
Link to this sectionتصور قياس الأداء#
قد تحتاج إلى تحديث الصفحة لعرض الرسوم البيانية بشكل صحيح بسبب مشاكل محتملة في ملفات تعريف الارتباط.
Link to this sectionمقدمة#
بمجرد تدريب نموذجك والتحقق منه، تكون الخطوة المنطقية التالية هي تقييم أدائه في سيناريوهات واقعية متنوعة. يخدم وضع قياس الأداء (Benchmark mode) في Ultralytics YOLO26 هذا الغرض من خلال توفير إطار عمل قوي لتقييم السرعة والدقة لنموذجك عبر مجموعة من تنسيقات التصدير.
Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?
Link to this sectionلماذا يعد قياس الأداء أمراً بالغ الأهمية؟#
- قرارات مستنيرة: احصل على رؤى حول المقايضات بين السرعة والدقة.
- تخصيص الموارد: افهم كيفية أداء تنسيقات التصدير المختلفة على أجهزة مختلفة.
- التحسين: تعرف على تنسيق التصدير الذي يوفر أفضل أداء لحالة الاستخدام المحددة الخاصة بك.
- كفاءة التكلفة: استفد بشكل أكثر كفاءة من موارد الأجهزة بناءً على نتائج قياس الأداء.
Link to this sectionالمقاييس الرئيسية في وضع قياس الأداء#
- mAP50-95: لـ اكتشاف الكائنات والتجزئة وتقدير الوضعية.
- accuracy_top1: لـ تصنيف الصور.
- وقت الاستدلال (Inference Time): الوقت المستغرق لكل صورة بالملي ثانية.
Link to this sectionتنسيقات التصدير المدعومة#
- ONNX: لأداء مثالي على CPU
- TensorRT: لأقصى كفاءة على GPU
- OpenVINO: لتحسين أداء أجهزة Intel
- CoreML وTensorFlow SavedModel والمزيد: لاحتياجات النشر المتنوعة.
- التصدير إلى ONNX أو OpenVINO للحصول على سرعة أكبر بـ 3 أضعاف على CPU.
- التصدير إلى TensorRT للحصول على سرعة أكبر بـ 5 أضعاف على GPU.
Link to this sectionأمثلة الاستخدام#
قم بتثبيت Ultralytics مع تبعيات التصدير قبل إجراء قياس الأداء لتجنب فقدان الحزم.
pip install ultralytics[export]قم بتشغيل قياسات أداء YOLO26n عبر جميع تنسيقات التصدير المدعومة (ONNX وTensorRT وغيرها). راجع قسم الوسائط أدناه للحصول على قائمة كاملة بخيارات التصدير.
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")Link to this sectionالوسائط (Arguments)#
تمنح الوسائط مثل model وdata وimgsz وhalf وdevice وverbose وformat المستخدمين المرونة لضبط قياسات الأداء وفقاً لاحتياجاتهم الخاصة ومقارنة أداء تنسيقات التصدير المختلفة بسهولة.
| المفتاح | القيمة الافتراضية | الوصف |
|---|---|---|
model | None | يحدد مسار ملف النموذج. يقبل تنسيقات .pt و.yaml، على سبيل المثال "yolo26n.pt" للنماذج المدربة مسبقاً أو ملفات التكوين. |
data | None | مسار إلى ملف YAML يحدد مجموعة البيانات لقياس الأداء، ويشمل عادةً المسارات والإعدادات الخاصة بـ بيانات التحقق. مثال: "coco8.yaml". |
imgsz | 640 | حجم الصورة المدخلة للنموذج. يجب أن يكون عدداً صحيحاً واحداً للصور المربعة (على سبيل المثال 640)؛ تدعم الدالة benchmark() أحجام الصور المربعة فقط. |
half | False | يفعل استدلال FP16 (نصف الدقة)، مما يقلل من استخدام الذاكرة وربما يزيد من السرعة على الأجهزة المتوافقة. استخدم half=True للتفعيل. |
int8 | False | يفعل تكميم INT8 للحصول على أداء محسّن إضافي على الأجهزة المدعومة، وهو مفيد بشكل خاص للأجهزة الطرفية (edge devices). اضبط int8=True للاستخدام. |
device | 'cpu' | يحدد جهاز (أجهزة) الحوسبة لقياس الأداء، مثل "cpu" أو "cuda:0". |
verbose | False | يتحكم في مستوى التفاصيل في مخرجات التسجيل. اضبط verbose=True للحصول على سجلات مفصلة. |
format | '' | يقيس أداء تنسيق التصدير المحدد فقط (على سبيل المثال format=onnx). اتركه فارغاً لاختبار كل تنسيق مدعوم تلقائياً. |
Link to this sectionتنسيقات التصدير#
ستحاول قياسات الأداء العمل تلقائياً على جميع تنسيقات التصدير الممكنة المدرجة أدناه. بدلاً من ذلك، يمكنك تشغيل قياسات الأداء لتنسيق معين باستخدام الوسيط format، الذي يقبل أي تنسيق من المذكورة أدناه.
| التنسيق | وسيط format | النموذج | البيانات الوصفية | الوسائط (Arguments) |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
راجع تفاصيل export الكاملة في صفحة التصدير (Export).
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف يمكنني قياس أداء نموذج YOLO26 الخاص بي باستخدام Ultralytics؟#
يوفر Ultralytics YOLO26 وضع قياس الأداء (Benchmark mode) لتقييم أداء نموذجك عبر تنسيقات تصدير مختلفة. يوفر هذا الوضع رؤى حول المقاييس الرئيسية مثل متوسط الدقة (mAP) (mAP50-95)، والدقة، ووقت الاستدلال بالملي ثانية. لتشغيل قياسات الأداء، يمكنك استخدام Python أو أوامر CLI. على سبيل المثال، للقياس على وحدة معالجة الرسومات (GPU):
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)لمزيد من التفاصيل حول وسائط قياس الأداء، قم بزيارة قسم الوسائط (Arguments).
Link to this sectionما هي فوائد تصدير نماذج YOLO26 إلى تنسيقات مختلفة؟#
يسمح لك تصدير نماذج YOLO26 إلى تنسيقات مختلفة مثل ONNX، وTensorRT، وOpenVINO بتحسين الأداء بناءً على بيئة النشر الخاصة بك. على سبيل المثال:
- ONNX: يوفر تسريعاً لوحدة المعالجة المركزية (CPU) يصل إلى 3 مرات.
- TensorRT: يوفر تسريعاً لوحدة معالجة الرسومات (GPU) يصل إلى 5 مرات.
- OpenVINO: مُحسَّن خصيصاً لأجهزة Intel.
تعمل هذه التنسيقات على تعزيز كل من السرعة والدقة لنماذجك، مما يجعلها أكثر كفاءة لمختلف التطبيقات الواقعية. تفضل بزيارة صفحة التصدير (Export) للحصول على التفاصيل الكاملة.
Link to this sectionلماذا يعد قياس الأداء (Benchmarking) أمراً بالغ الأهمية في تقييم نماذج YOLO26؟#
يعد قياس أداء نماذج YOLO26 الخاصة بك ضرورياً لعدة أسباب:
- اتخاذ قرارات مستنيرة: فهم المقايضات بين السرعة والدقة.
- تخصيص الموارد: قياس الأداء عبر خيارات الأجهزة المختلفة.
- التحسين: تحديد تنسيق التصدير الذي يوفر أفضل أداء لحالات استخدام معينة.
- كفاءة التكلفة: تحسين استخدام الأجهزة بناءً على نتائج قياس الأداء.
تساعد المقاييس الرئيسية مثل mAP50-95، ودقة Top-1، ووقت الاستنتاج في إجراء هذه التقييمات. راجع قسم المقاييس الرئيسية لمزيد من المعلومات.
Link to this sectionما هي تنسيقات التصدير المدعومة من قبل YOLO26، وما هي مزاياها؟#
يدعم YOLO26 مجموعة متنوعة من تنسيقات التصدير، كل منها مصمم خصيصاً لأجهزة وحالات استخدام محددة:
- ONNX: الأفضل لأداء وحدة المعالجة المركزية (CPU).
- TensorRT: مثالي لكفاءة وحدة معالجة الرسومات (GPU).
- OpenVINO: مُحسَّن لأجهزة Intel.
- CoreML و TensorFlow: مفيدان لتطبيقات iOS وتطبيقات التعلم الآلي العامة.
للحصول على قائمة كاملة بالتنسيقات المدعومة ومزاياها، راجع قسم تنسيقات التصدير المدعومة.
Link to this sectionما هي الوسائط (Arguments) التي يمكنني استخدامها لضبط قياسات أداء YOLO26 الخاصة بي؟#
عند تشغيل قياسات الأداء، يمكن تخصيص عدة وسائط لتناسب احتياجات معينة:
- model: المسار إلى ملف النموذج (على سبيل المثال، "yolo26n.pt").
- data: المسار إلى ملف YAML يحدد مجموعة البيانات (على سبيل المثال، "coco8.yaml").
- imgsz: حجم صورة الإدخال، إما كرقم صحيح واحد أو tuple.
- half: تمكين استدلال FP16 لأداء أفضل.
- int8: تفعيل تكميم INT8 لأجهزة الحافة (edge devices).
- device: تحديد جهاز الحوسبة (على سبيل المثال، "cpu"، "cuda:0").
- verbose: التحكم في مستوى تفاصيل التسجيل (logging).
للحصول على قائمة كاملة بالوسائط، راجع قسم الوسائط (Arguments).