सामग्री पर जाएं

मॉडल सत्यापन के साथ Ultralytics YOLO

Ultralytics YOLO पारिस्थितिकी तंत्र और एकीकरण

परिचय

मशीन लर्निंग पाइपलाइन में सत्यापन एक महत्वपूर्ण कदम है, जिससे आप अपने प्रशिक्षित मॉडल की गुणवत्ता का आकलन कर सकते हैं। वैल मोड में Ultralytics YOLOv8 आपके ऑब्जेक्ट डिटेक्शन मॉडल के प्रदर्शन का मूल्यांकन करने के लिए टूल और मेट्रिक्स का एक मजबूत सूट प्रदान करता है। यह मार्गदर्शिका यह समझने के लिए एक संपूर्ण संसाधन के रूप में कार्य करती है कि वैल मोड का प्रभावी ढंग से उपयोग कैसे करें ताकि यह सुनिश्चित हो सके कि आपके मॉडल सटीक और विश्वसनीय दोनों हैं।



सतर्कता: Ultralytics मोड ट्यूटोरियल: सत्यापन

के साथ मान्य क्यों करें Ultralytics YOLO?

यहाँ क्यों उपयोग कर रहा है YOLOv8वैल मोड फायदेमंद है:

  • यथार्थता: अपने मॉडल का व्यापक मूल्यांकन करने के लिए mAP50, mAP75, और mAP50-95 जैसे सटीक मीट्रिक प्राप्त करें।
  • सुविधा: अंतर्निहित सुविधाओं का उपयोग करें जो प्रशिक्षण सेटिंग्स को याद रखती हैं, सत्यापन प्रक्रिया को सरल बनाती हैं।
  • लचीलापन: अपने मॉडल को समान या अलग-अलग डेटासेट और छवि आकारों के साथ मान्य करें।
  • हाइपरपैरामीटर ट्यूनिंग: बेहतर प्रदर्शन के लिए अपने मॉडल को फ़ाइन-ट्यून करने के लिए सत्यापन मीट्रिक का उपयोग करें.

वैल मोड की मुख्य विशेषताएं

ये द्वारा प्रदान की जाने वाली उल्लेखनीय कार्यक्षमताएं हैं YOLOv8वैल मोड:

  • स्वचालित सेटिंग्स: मॉडल सीधे सत्यापन के लिए अपने प्रशिक्षण विन्यास को याद करते हैं।
  • बहु-मीट्रिक समर्थन: सटीकता मीट्रिक की एक श्रृंखला के आधार पर अपने मॉडल का मूल्यांकन करें।
  • CLI और Python API: कमांड-लाइन इंटरफ़ेस में से चुनें या Python सत्यापन के लिए आपकी प्राथमिकता के आधार पर एपीआई।
  • डेटा संगतता: प्रशिक्षण चरण के साथ-साथ कस्टम डेटासेट के दौरान उपयोग किए जाने वाले डेटासेट के साथ निर्बाध रूप से काम करता है।

नोक

  • YOLOv8 मॉडल स्वचालित रूप से अपनी प्रशिक्षण सेटिंग्स को याद रखते हैं, इसलिए आप एक मॉडल को समान छवि आकार में और मूल डेटासेट पर आसानी से सत्यापित कर सकते हैं yolo val model=yolov8n.pt नहीं तो model('yolov8n.pt').val()

उपयोग के उदाहरण

प्रशिक्षित मान्य करें YOLOv8n COCO128 डेटासेट पर मॉडल सटीकता। किसी तर्क को पारित करने की आवश्यकता नहीं है 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 डेटासेट कॉन्फ़िगरेशन फ़ाइल का पथ निर्दिष्ट करता है (उदा। coco128.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 गैर-अधिकतम दमन (NMS) के लिए चौराहे को संघ (IoU) सीमा पर सेट करता है। डुप्लिकेट डिटेक्शन को कम करने में मदद करता है।
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 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-03-03
लेखक: ग्लेन-जोचर (8), बुरहान-क्यू (1), chr043416@gmail.com (1)

टिप्पणियाँ