التحقق من صحة النموذج باستخدام Ultralytics YOLO
مقدمة
يُعد التحقق من الصحة خطوة حاسمة في مسار التعلم الآلي، مما يسمح لك بتقييم جودة نماذجك المدربة. يوفر وضع التحقق من الصحة في Ultralytics YOLO11 مجموعة قوية من الأدوات والمقاييس لتقييم أداء نماذج اكتشاف الكائنات الخاصة بك. يُعد هذا الدليل بمثابة مورد كامل لفهم كيفية استخدام وضع التحقق من الصحة بفعالية لضمان دقة وموثوقية نماذجك.
شاهد: Ultralytics البرنامج التعليمي للأوضاع: التحقق من الصحة
لماذا التحقق من الصحة باستخدام Ultralytics YOLO ؟
إليك السبب الذي يجعل استخدام وضع فال YOLO11 مفيدًا:
- الدقة: احصل على مقاييس دقيقة مثل mAP50 و mAP75 و mAP50-95 لتقييم نموذجك بشكل شامل.
- سهولة الاستخدام: استفد من الميزات المدمجة التي تتذكر إعدادات التدريب، مما يسهل عملية التحقق من الصحة.
- المرونة: تحقق من صحة النموذج الخاص بك باستخدام نفس مجموعات البيانات وأحجام الصور أو بأحجام مختلفة.
- ضبط المقياس الفائق: استخدم مقاييس التحقق من الصحة لضبط النموذج الخاص بك للحصول على أداء أفضل.
الميزات الرئيسية لوضع فال
هذه هي الوظائف البارزة التي يوفرها وضع فال YOLO11:
- الإعدادات الآلية: تتذكر النماذج تكوينات التدريب الخاصة بها للتحقق المباشر من صحتها.
- دعم متعدد المقاييس: قم بتقييم نموذجك بناءً على مجموعة من مقاييس الدقة.
- CLI و Python API: اختر من بين واجهة سطر الأوامر أو واجهة برمجة التطبيقات Python بناءً على تفضيلك للتحقق من الصحة.
- توافق البيانات: يعمل بسلاسة مع مجموعات البيانات المستخدمة أثناء مرحلة التدريب بالإضافة إلى مجموعات البيانات المخصصة.
نصيحة
- YOLO11 تتذكّر النماذج إعدادات التدريب الخاصة بها تلقائيًا، لذا يمكنك التحقق من صحة النموذج بنفس حجم الصورة وعلى مجموعة البيانات الأصلية بسهولة باستخدام
yolo val model=yolo11n.pt
أوmodel('yolo11n.pt').val()
أمثلة على الاستخدام
التحقق من صحة نموذج YOLO11n المدرّب الدقة على مجموعة بيانات COCO8. لا حاجة لوسائط لأن model
تحتفظ بتدريبها data
والوسائط كسمات نموذجية. انظر قسم الوسيطات أدناه للحصول على قائمة كاملة بوسائط التصدير.
مثال على ذلك
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.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
عند التحقق من صحة نماذج YOLO ، يمكن ضبط العديد من الوسيطات لتحسين عملية التقييم. تتحكم هذه الوسيطات في جوانب مثل حجم صورة الإدخال ومعالجة الدُفعات وعتبات الأداء. فيما يلي تفصيل مفصل لكل وسيطة لمساعدتك في تخصيص إعدادات التحقق من الصحة بشكل فعال.
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
data |
str |
None |
يحدد المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال, coco8.yaml ). يتضمن هذا الملف مسارات إلى بيانات التحقق من الصحةوأسماء الفصول، وعدد الفصول. |
imgsz |
int |
640 |
يحدد حجم الصور المدخلة. يتم تغيير حجم جميع الصور إلى هذا البعد قبل المعالجة. |
batch |
int |
16 |
تعيين عدد الصور لكل دفعة. الاستخدام -1 للدفعات التلقائية، والتي يتم ضبطها تلقائيًا بناءً على توفر الذاكرة GPU . |
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 إلخ). يتيح المرونة في استخدام الموارد CPU أو GPU . |
dnn |
bool |
False |
إذا كان True يستخدم OpenCV وحدة DNN للاستدلال على النماذج ONNX ، مما يوفر بديلاً عن PyTorch طرق الاستدلال. |
plots |
bool |
False |
عند ضبطها على True ينشئ ويحفظ مخططات للتنبؤات مقابل الحقيقة الأرضية للتقييم البصري لأداء النموذج. |
rect |
bool |
True |
إذا كان True يستخدم الاستدلال المستطيلي للتجميع، مما يقلل من الحشو ويزيد من السرعة والكفاءة. |
split |
str |
val |
يحدد تقسيم مجموعة البيانات المراد استخدامها للتحقق من الصحة (val , test أو train ). يتيح المرونة في اختيار شريحة البيانات لتقييم الأداء. |
project |
str |
None |
اسم دليل المشروع حيث يتم حفظ مخرجات التحقق من الصحة. |
name |
str |
None |
اسم عملية تشغيل التحقق من الصحة. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التحقق من الصحة. |
يلعب كل من هذه الإعدادات دورًا حيويًا في عملية التحقق من الصحة، مما يسمح بإجراء تقييم قابل للتخصيص وفعال لنماذج YOLO . يمكن أن يساعد ضبط هذه المعلمات وفقًا لاحتياجاتك ومواردك الخاصة في تحقيق أفضل توازن بين الدقة والأداء.
مثال على التحقق من صحة الحجج
تعرض الأمثلة أدناه التحقق من صحة النموذج YOLO مع وسيطات مخصصة في Python و CLI.
مثال على ذلك
الأسئلة الشائعة
كيف يمكنني التحقق من صحة نموذج YOLO11 الخاص بي باستخدام Ultralytics ؟
للتحقق من صحة نموذجك YOLO11 ، يمكنك استخدام وضع Val الذي يوفره Ultralytics. على سبيل المثال، باستخدام واجهة برمجة التطبيقات Python ، يمكنك تحميل نموذج وتشغيل التحقق من الصحة باستخدام:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # map50-95
بدلاً من ذلك، يمكنك استخدام واجهة سطر الأوامر (CLI):
لمزيد من التخصيص، يمكنك ضبط وسيطات مختلفة مثل imgsz
, batch
و conf
في الوضعين Python و CLI . تحقق من الحجج الخاصة بالتحقق من صحة النموذج YOLO للاطلاع على القائمة الكاملة للمعلمات.
ما المقاييس التي يمكنني الحصول عليها من التحقق من صحة النموذج YOLO11 ؟
YOLO11 يوفر التحقق من صحة النموذج عدة مقاييس رئيسية لتقييم أداء النموذج. وتشمل هذه المقاييس ما يلي:
- mAP50 (متوسط متوسط الدقة عند عتبة وحدة القياس الدولية 0.5)
- mAP75 (متوسط متوسط الدقة عند عتبة وحدة القياس الدولية 0.75)
- mAP50-95 (متوسط متوسط الدقة عبر عتبات IoU المتعددة من 0.5 إلى 0.95)
باستخدام واجهة برمجة التطبيقات Python ، يمكنك الوصول إلى هذه المقاييس على النحو التالي:
metrics = model.val() # assumes `model` has been loaded
print(metrics.box.map) # mAP50-95
print(metrics.box.map50) # mAP50
print(metrics.box.map75) # mAP75
print(metrics.box.maps) # list of mAP50-95 for each category
لإجراء تقييم كامل للأداء، من الضروري مراجعة جميع هذه المقاييس. لمزيد من التفاصيل، راجع الميزات الرئيسية لوضع فال.
ما هي مزايا استخدام Ultralytics YOLO للتحقق من الصحة؟
يوفر استخدام Ultralytics YOLO للتحقق من الصحة عدة مزايا:
- الدقة: YOLO11 تقدم مقاييس أداء دقيقة بما في ذلك mAP50 و mAP75 و mAP50-95.
- الملاءمة: تتذكر النماذج إعدادات التدريب الخاصة بها، مما يجعل التحقق من صحتها أمراً سهلاً ومباشراً.
- المرونة: يمكنك التحقق من الصحة مقابل نفس مجموعات البيانات وأحجام الصور أو مجموعات بيانات مختلفة.
- ضبط المقياس الفائق: تساعد مقاييس التحقق من الصحة في ضبط النماذج لتحسين الأداء.
تضمن هذه المزايا أن يتم تقييم نماذجك بدقة ويمكن تحسينها للحصول على نتائج فائقة. تعرف على المزيد حول هذه المزايا في قسم لماذا التحقق من الصحة باستخدام Ultralytics YOLO .
هل يمكنني التحقق من صحة نموذج YOLO11 الخاص بي باستخدام مجموعة بيانات مخصصة؟
نعم، يمكنك التحقق من صحة نموذج YOLO11 الخاص بك باستخدام نموذج باستخدام مجموعة بيانات مخصصة. حدد data
الوسيطة بالمسار إلى ملف تكوين مجموعة البيانات. يجب أن يتضمن هذا الملف مسارات إلى بيانات التحقق من الصحةوأسماء الفصول والتفاصيل الأخرى ذات الصلة.
مثال في Python:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Validate with a custom dataset
metrics = model.val(data="path/to/your/custom_dataset.yaml")
print(metrics.box.map) # map50-95
مثال باستخدام CLI:
للمزيد من الخيارات القابلة للتخصيص أثناء التحقق من الصحة، راجع قسم مثال التحقق من الصحة بالحجج.
كيف يمكنني حفظ نتائج التحقق من الصحة في ملف JSON في YOLO11 ؟
لحفظ نتائج التحقق من الصحة في ملف JSON، يمكنك تعيين save_json
حجة لـ True
عند تشغيل التحقق من الصحة. يمكن القيام بذلك في كل من Python API و CLI.
مثال في Python:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Save validation results to JSON
metrics = model.val(save_json=True)
مثال باستخدام CLI:
هذه الوظيفة مفيدة بشكل خاص لمزيد من التحليل أو التكامل مع أدوات أخرى. راجع الحجج الخاصة بالتحقق من صحة النموذج YOLO لمزيد من التفاصيل.