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

التحقق من صحة النموذج مع Ultralytics YOLO

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

مقدمة

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



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

لماذا التحقق من الصحة مع Ultralytics YOLO?

إليك سبب استخدام YOLOv8وضع Val مفيد:

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

الميزات الرئيسية لوضع Val

هذه هي الوظائف البارزة التي تقدمها YOLOv8وضع فال:

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

بقشيش

  • YOLOv8 تتذكر النماذج إعدادات التدريب الخاصة بها تلقائيا ، بحيث يمكنك التحقق من صحة نموذج بنفس حجم الصورة وعلى مجموعة البيانات الأصلية بسهولة باستخدام فقط yolo val model=yolov8n.pt أو model('yolov8n.pt').val()

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

التحقق من صحة المدربين YOLOv8n دقة النموذج على مجموعة بيانات COCO8. لا حاجة لتمرير أي حجة على أنها model يحتفظ بتدريبه data والحجج كسمات نموذجية. راجع قسم الوسيطات أدناه للحصول على قائمة كاملة بوسيطات التصدير.

مثل

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # a list contains map50-95 of each category
yolo detect val model=yolov8n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

الحجج ل YOLO التحقق من صحة النموذج

عند التحقق من الصحة YOLO النماذج ، يمكن ضبط العديد من الحجج لتحسين عملية التقييم. تتحكم هذه الوسيطات في جوانب مثل حجم صورة الإدخال ومعالجة الدفعات وعتبات الأداء. فيما يلي تحليل مفصل لكل وسيطة لمساعدتك في تخصيص إعدادات التحقق من الصحة بشكل فعال.

جدال نوع افتراضي وصف
data str None يحدد المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال، coco8.yaml). يتضمن هذا الملف مسارات لبيانات التحقق من الصحة وأسماء الفئات وعدد الفئات.
imgsz int 640 يحدد حجم الصور المدخلة. يتم تغيير حجم جميع الصور إلى هذا البعد قبل المعالجة.
batch int 16 يضبط عدد الصور لكل دفعة. استخدام -1 ل AutoBatch ، والذي يتم ضبطه تلقائيا بناء على توفر ذاكرة وحدة معالجة الرسومات.
save_json bool False لو True، يحفظ النتائج في ملف JSON لمزيد من التحليل أو التكامل مع الأدوات الأخرى.
save_hybrid bool False لو True، يحفظ إصدارا مختلطا من التسميات يجمع بين التعليقات التوضيحية الأصلية وتنبؤات النموذج الإضافية.
conf float 0.001 يعين الحد الأدنى للثقة للاكتشافات. يتم تجاهل الاكتشافات بثقة أقل من هذا الحد.
iou float 0.6 يضبط عتبة التقاطع عبر الاتحاد (IoU) للقمع غير الأقصى (NMS). يساعد في تقليل الاكتشافات المكررة.
max_det int 300 يحد من الحد الأقصى لعدد الاكتشافات لكل صورة. مفيد في المشاهد الكثيفة لمنع الاكتشافات المفرطة.
half bool True يتيح الحوسبة بنصف الدقة (FP16) ، مما يقلل من استخدام الذاكرة ويحتمل أن يزيد السرعة بأقل تأثير على الدقة.
device str None يحدد الجهاز للتحقق من صحته (cpu, cuda:0، وما إلى ذلك). يسمح بالمرونة في استخدام موارد وحدة المعالجة المركزية أو وحدة معالجة الرسومات.
dnn bool False لو True، يستخدم وحدة OpenCV DNN ل ONNX نموذج الاستدلال ، الذي يقدم بديلا ل PyTorch طرق الاستدلال.
plots bool False عند الضبط على True، يولد ويحفظ مخططات التنبؤات مقابل الحقيقة الأرضية للتقييم البصري لأداء النموذج.
rect bool False لو True، يستخدم الاستدلال المستطيل للتجميع وتقليل الحشو وربما زيادة السرعة والكفاءة.
split str val يحدد تقسيم مجموعة البيانات المراد استخدامه للتحقق من الصحة (val, testأو train). يتيح المرونة في اختيار شريحة البيانات لتقييم الأداء.

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

مثال على التحقق من الصحة باستخدام الوسيطات

تعرض الأمثلة أدناه YOLO التحقق من صحة النموذج باستخدام وسيطات مخصصة في Python و CLI.

مثل

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')

# Customize validation settings
validation_results = model.val(data='coco8.yaml',
                               imgsz=640,
                               batch=16,
                               conf=0.25,
                               iou=0.6,
                               device='0')
yolo val model=yolov8n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0


تم النشر في 2023-11-12, اخر تحديث 2024-04-18
المؤلفون: جلين جوشر (9) ، برهان كيو (1) ، رضوان منور (1)

التعليقات