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

संरूपण

YOLO सेटिंग्स और हाइपरपैरामीटर मॉडल के प्रदर्शन, गति और सटीकता में महत्वपूर्ण भूमिका निभाते हैं। ये सेटिंग्स और हाइपरपैरामीटर प्रशिक्षण, सत्यापन और भविष्यवाणी सहित मॉडल विकास प्रक्रिया के विभिन्न चरणों में मॉडल के व्यवहार को प्रभावित कर सकते हैं।



सतर्कता: माहिर Ultralytics YOLOv8:संरूपण

Ultralytics आदेश निम्न सिंटैक्स का उपयोग करते हैं:

उदाहरण

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLOv8 model from a pre-trained weights file
model = YOLO("yolov8n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

कहां:

चूक ARG मान इस पृष्ठ पर cfg/defaults.yaml रेती.

कार्य

YOLO मॉडल का उपयोग विभिन्न प्रकार के कार्यों के लिए किया जा सकता है, जिसमें पहचान, विभाजन, वर्गीकरण और मुद्रा शामिल हैं। ये कार्य उनके द्वारा उत्पादित आउटपुट के प्रकार और उस विशिष्ट समस्या में भिन्न होते हैं जिसे वे हल करने के लिए डिज़ाइन किए गए हैं।

  • पता लगाना: किसी छवि या वीडियो में वस्तुओं या रुचि के क्षेत्रों की पहचान करने और स्थानीयकरण करने के लिए।
  • सेगमेंट: किसी छवि या वीडियो को उन क्षेत्रों या पिक्सेल में विभाजित करने के लिए जो विभिन्न वस्तुओं या वर्गों के अनुरूप हैं।
  • वर्गीकृत करें: इनपुट छवि के वर्ग लेबल की भविष्यवाणी करने के लिए।
  • मुद्रा: वस्तुओं की पहचान करने और किसी छवि या वीडियो में उनके मुख्य बिंदुओं का अनुमान लगाने के लिए।
  • OBB: उपग्रह या चिकित्सा इमेजरी के लिए उपयुक्त ओरिएंटेड (यानी घुमाए गए) बाउंडिंग बॉक्स।
युक्ति चूक या क़िस्‍म
task 'detect' निर्दिष्ट करता है YOLO निष्पादित किया जाने वाला कार्य। विकल्पों में शामिल हैं detect वस्तु का पता लगाने के लिए, segment विभाजन के लिए, classify वर्गीकरण के लिए, pose मुद्रा अनुमान के लिए और OBB उन्मुख बाउंडिंग बॉक्स के लिए। प्रत्येक कार्य छवि और वीडियो विश्लेषण के भीतर विशिष्ट प्रकार के आउटपुट और समस्याओं के अनुरूप है।

कार्य मार्गदर्शिका

मोड

YOLO आप जिस विशिष्ट समस्या को हल करने का प्रयास कर रहे हैं, उसके आधार पर मॉडल का उपयोग विभिन्न मोड में किया जा सकता है। इन मोड में शामिल हैं:

  • ट्रेन: प्रशिक्षण के लिए एक YOLOv8 कस्टम डेटासेट पर मॉडल।
  • वैल: एक मान्य करने के लिए YOLOv8 प्रशिक्षित होने के बाद मॉडल।
  • भविष्यवाणी करें: एक प्रशिक्षित का उपयोग करके भविष्यवाणियां करने के लिए YOLOv8 नई छवियों या वीडियो पर मॉडल।
  • निर्यात: निर्यात के लिए YOLOv8 एक प्रारूप के लिए मॉडल जिसे परिनियोजन के लिए उपयोग किया जा सकता है।
  • ट्रैक: वास्तविक समय में वस्तुओं को ट्रैक करने के लिए YOLOv8 को गढ़ना।
  • बेंचमार्क: बेंचमार्किंग के लिए YOLOv8 निर्यात (ONNX, TensorRT, आदि) गति और सटीकता।
युक्ति चूक या क़िस्‍म
mode 'train' उस मोड को निर्दिष्ट करता है जिसमें YOLO मॉडल संचालित होता है। विकल्प हैं train मॉडल प्रशिक्षण के लिए, val सत्यापन के लिए, predict नए डेटा पर अनुमान के लिए, export परिनियोजन प्रारूपों में मॉडल रूपांतरण के लिए, track ऑब्जेक्ट ट्रैकिंग के लिए, और benchmark प्रदर्शन मूल्यांकन के लिए। प्रत्येक मोड को मॉडल जीवनचक्र के विभिन्न चरणों के लिए डिज़ाइन किया गया है, विकास से लेकर परिनियोजन तक।

मोड गाइड

ट्रेन सेटिंग्स

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

युक्ति चूक या क़िस्‍म
model None प्रशिक्षण के लिए मॉडल फ़ाइल निर्दिष्ट करता है। या तो एक पथ स्वीकार करता है .pt पूर्व-प्रशिक्षित मॉडल या एक .yaml कॉन्फ़िगरेशन फ़ाइल। मॉडल संरचना को परिभाषित करने या वजन शुरू करने के लिए आवश्यक।
data None डेटासेट कॉन्फ़िगरेशन फ़ाइल का पथ (उदा। coco8.yaml). इस फ़ाइल में डेटासेट-विशिष्ट पैरामीटर हैं, जिसमें प्रशिक्षण और सत्यापन डेटा के पथ, कक्षा के नाम और कक्षाओं की संख्या शामिल है।
epochs 100 प्रशिक्षण युगों की कुल संख्या। प्रत्येक युग पूरे डेटासेट पर एक पूर्ण पास का प्रतिनिधित्व करता है। इस मान को समायोजित करने से प्रशिक्षण अवधि और मॉडल प्रदर्शन प्रभावित हो सकता है।
time None घंटों में अधिकतम प्रशिक्षण समय। यदि सेट किया गया है, तो यह epochs तर्क, निर्दिष्ट अवधि के बाद प्रशिक्षण को स्वचालित रूप से बंद करने की अनुमति देता है। समय-विवश प्रशिक्षण परिदृश्यों के लिए उपयोगी।
patience 100 प्रशिक्षण को जल्दी रोकने से पहले सत्यापन मेट्रिक्स में सुधार के बिना प्रतीक्षा करने के लिए युगों की संख्या। प्रदर्शन पठारों पर प्रशिक्षण रोककर ओवरफिटिंग को रोकने में मदद करता है।
batch 16 Batch size, with three modes: set as an integer (e.g., batch=16), auto mode for 60% GPU memory utilization (batch=-1), or auto mode with specified utilization fraction (batch=0.70).
imgsz 640 प्रशिक्षण के लिए छवि आकार लक्षित करें। मॉडल में खिलाए जाने से पहले सभी छवियों को इस आयाम में आकार दिया जाता है। मॉडल सटीकता और कम्प्यूटेशनल जटिलता को प्रभावित करता है।
save True प्रशिक्षण चौकियों और अंतिम मॉडल वजन की बचत को सक्षम बनाता है। प्रशिक्षण या मॉडल परिनियोजन को फिर से शुरू करने के लिए उपयोगी।
save_period -1 युगों में निर्दिष्ट मॉडल चौकियों को बचाने की आवृत्ति। -1 का मान इस सुविधा को अक्षम कर देता है। लंबे प्रशिक्षण सत्रों के दौरान अंतरिम मॉडल को बचाने के लिए उपयोगी।
cache False स्मृति में डेटासेट छवियों की कैशिंग सक्षम करता है (True/ram), डिस्क पर (disk), या इसे अक्षम करता है (False). बढ़ी हुई मेमोरी उपयोग की कीमत पर डिस्क I/O को कम करके प्रशिक्षण की गति में सुधार करता है।
device None प्रशिक्षण के लिए कम्प्यूटेशनल डिवाइस (ओं) को निर्दिष्ट करता है: एक एकल GPU (device=0), एकाधिक GPU (device=0,1), सीपीयू (device=cpu), या Apple सिलिकॉन के लिए MPS (device=mps).
workers 8 डेटा लोडिंग के लिए कार्यकर्ता थ्रेड्स की संख्या (प्रति RANK यदि मल्टी-जीपीयू प्रशिक्षण)। डेटा प्रीप्रोसेसिंग और मॉडल में फीडिंग की गति को प्रभावित करता है, विशेष रूप से मल्टी-जीपीयू सेटअप में उपयोगी है।
project None परियोजना निर्देशिका का नाम जहाँ प्रशिक्षण आउटपुट सहेजे जाते हैं. विभिन्न प्रयोगों के संगठित भंडारण के लिए अनुमति देता है।
name None चलाए गए प्रशिक्षण का नाम। प्रोजेक्ट फ़ोल्डर के भीतर एक उपनिर्देशिका बनाने के लिए उपयोग किया जाता है, जहां प्रशिक्षण लॉग और आउटपुट संग्रहीत होते हैं।
exist_ok False यदि सही है, तो मौजूदा प्रोजेक्ट/नाम निर्देशिका के ओवरराइटिंग की अनुमति देता है। पिछले आउटपुट को मैन्युअल रूप से साफ़ करने की आवश्यकता के बिना पुनरावृत्त प्रयोग के लिए उपयोगी।
pretrained True निर्धारित करता है कि पूर्व-प्रशिक्षित मॉडल से प्रशिक्षण शुरू करना है या नहीं। एक बूलियन मान या एक विशिष्ट मॉडल के लिए एक स्ट्रिंग पथ हो सकता है जिससे वजन लोड करना है। प्रशिक्षण दक्षता और मॉडल प्रदर्शन को बढ़ाता है।
optimizer 'auto' प्रशिक्षण के लिए अनुकूलक का विकल्प। विकल्पों में शामिल हैं SGD, Adam, AdamW, NAdam, RAdam, RMSProp आदि, या auto मॉडल कॉन्फ़िगरेशन के आधार पर स्वचालित चयन के लिए। अभिसरण गति और स्थिरता को प्रभावित करता है।
verbose False प्रशिक्षण के दौरान वर्बोज़ आउटपुट सक्षम करता है, विस्तृत लॉग और प्रगति अपडेट प्रदान करता है। डिबगिंग और प्रशिक्षण प्रक्रिया की बारीकी से निगरानी के लिए उपयोगी।
seed 0 प्रशिक्षण के लिए यादृच्छिक बीज सेट करता है, एक ही विन्यास के साथ रन भर में परिणामों की प्रजनन क्षमता सुनिश्चित करता है।
deterministic True नियतात्मक एल्गोरिथ्म उपयोग को बल देता है, प्रजनन क्षमता सुनिश्चित करता है लेकिन गैर-नियतात्मक एल्गोरिदम पर प्रतिबंध के कारण प्रदर्शन और गति को प्रभावित कर सकता है।
single_cls False प्रशिक्षण के दौरान बहु-श्रेणी डेटासेट में सभी वर्गों को एकल वर्ग के रूप में मानता है। बाइनरी वर्गीकरण कार्यों के लिए उपयोगी या वर्गीकरण के बजाय वस्तु उपस्थिति पर ध्यान केंद्रित करते समय।
rect False आयताकार प्रशिक्षण सक्षम करता है, न्यूनतम पैडिंग के लिए बैच संरचना का अनुकूलन। दक्षता और गति में सुधार कर सकते हैं लेकिन मॉडल सटीकता को प्रभावित कर सकते हैं।
cos_lr False एक कोसाइन सीखने की दर अनुसूचक का उपयोग करता है, युगों पर एक कोसाइन वक्र के बाद सीखने की दर को समायोजित करता है। बेहतर अभिसरण के लिए सीखने की दर के प्रबंधन में मदद करता है।
close_mosaic 10 पूरा होने से पहले प्रशिक्षण को स्थिर करने के लिए अंतिम एन युगों में मोज़ेक डेटा वृद्धि को अक्षम करता है। 0 पर सेट करने से यह सुविधा अक्षम हो जाती है।
resume False अंतिम सहेजे गए चेकपॉइंट से प्रशिक्षण फिर से शुरू करता है। स्वचालित रूप से मॉडल वजन, अनुकूलक स्थिति और युग गणना लोड करता है, प्रशिक्षण को निर्बाध रूप से जारी रखता है।
amp True स्वचालित मिश्रित परिशुद्धता (एएमपी) प्रशिक्षण को सक्षम करता है, स्मृति उपयोग को कम करता है और संभवतः सटीकता पर न्यूनतम प्रभाव के साथ प्रशिक्षण को तेज करता है।
fraction 1.0 प्रशिक्षण के लिए उपयोग करने के लिए डेटासेट के अंश को निर्दिष्ट करता है। पूर्ण डेटासेट के सबसेट पर प्रशिक्षण की अनुमति देता है, प्रयोगों के लिए उपयोगी है या जब संसाधन सीमित होते हैं।
profile False की रूपरेखा सक्षम करता है ONNX और TensorRT प्रशिक्षण के दौरान गति, मॉडल परिनियोजन के अनुकूलन के लिए उपयोगी।
freeze None मॉडल की पहली एन परतों या सूचकांक द्वारा निर्दिष्ट परतों को जमा देता है, जिससे प्रशिक्षण योग्य मापदंडों की संख्या कम हो जाती है। फाइन-ट्यूनिंग या ट्रांसफर लर्निंग के लिए उपयोगी।
lr0 0.01 प्रारंभिक सीखने की दर (यानी) SGD=1E-2, Adam=1E-3) . इस मान को समायोजित करना अनुकूलन प्रक्रिया के लिए महत्वपूर्ण है, जिससे प्रभावित होता है कि मॉडल भार कितनी तेज़ी से अपडेट किए जाते हैं।
lrf 0.01 प्रारंभिक दर के अंश के रूप में अंतिम अधिगम दर = (lr0 * lrf), समय के साथ सीखने की दर को समायोजित करने के लिए शेड्यूलर के साथ संयोजन में उपयोग किया जाता है।
momentum 0.937 एडम ऑप्टिमाइज़र के लिए SGD या beta1 के लिए मोमेंटम फैक्टर, वर्तमान अपडेट में पिछले ग्रेडिएंट को शामिल करने को प्रभावित करता है।
weight_decay 0.0005 L2 नियमितीकरण अवधि, ओवरफिटिंग को रोकने के लिए बड़े वजन को दंडित करना।
warmup_epochs 3.0 सीखने की दर वार्मअप के लिए युगों की संख्या, धीरे-धीरे प्रशिक्षण को जल्दी स्थिर करने के लिए सीखने की दर को कम मूल्य से प्रारंभिक सीखने की दर तक बढ़ाना।
warmup_momentum 0.8 वार्मअप चरण के लिए प्रारंभिक गति, धीरे-धीरे वार्मअप अवधि में निर्धारित गति को समायोजित करना।
warmup_bias_lr 0.1 वार्मअप चरण के दौरान पूर्वाग्रह मापदंडों के लिए सीखने की दर, प्रारंभिक युगों में मॉडल प्रशिक्षण को स्थिर करने में मदद करती है।
box 7.5 हानि समारोह में बॉक्स हानि घटक का वजन, यह प्रभावित करता है कि बाउंडिंग बॉक्स निर्देशांक की सटीक भविष्यवाणी करने पर कितना जोर दिया जाता है।
cls 0.5 कुल हानि समारोह में वर्गीकरण हानि का वजन, अन्य घटकों के सापेक्ष सही वर्ग भविष्यवाणी के महत्व को प्रभावित करता है।
dfl 1.5 वितरण फोकल लॉस का वजन, कुछ में उपयोग किया जाता है YOLO बारीक वर्गीकरण के लिए संस्करण।
pose 12.0 मुद्रा अनुमान के लिए प्रशिक्षित मॉडल में मुद्रा हानि का वजन, मुद्रा कीपॉइंट्स की सटीक भविष्यवाणी करने पर जोर को प्रभावित करता है।
kobj 2.0 मुद्रा अनुमान मॉडल में कीपॉइंट ऑब्जेक्टनेस लॉस का वजन, मुद्रा सटीकता के साथ पहचान आत्मविश्वास को संतुलित करना।
label_smoothing 0.0 लेबल चौरसाई लागू करता है, लक्ष्य लेबल के मिश्रण के लिए हार्ड लेबल को नरम करता है और लेबल पर एक समान वितरण, सामान्यीकरण में सुधार कर सकता है।
nbs 64 नुकसान के सामान्यीकरण के लिए नाममात्र बैच आकार।
overlap_mask True निर्धारित करता है कि क्या विभाजन मास्क प्रशिक्षण के दौरान ओवरलैप चाहिए, उदाहरण विभाजन कार्यों में लागू.
mask_ratio 4 विभाजन मास्क के लिए डाउनसैम्पल अनुपात, प्रशिक्षण के दौरान उपयोग किए जाने वाले मास्क के संकल्प को प्रभावित करता है।
dropout 0.0 वर्गीकरण कार्यों में नियमितीकरण के लिए ड्रॉपआउट दर, प्रशिक्षण के दौरान इकाइयों को बेतरतीब ढंग से छोड़कर ओवरफिटिंग को रोकना।
val True प्रशिक्षण के दौरान सत्यापन को सक्षम करता है, एक अलग डेटासेट पर मॉडल प्रदर्शन के आवधिक मूल्यांकन की अनुमति देता है।
plots False प्रशिक्षण और सत्यापन मेट्रिक्स के भूखंडों को उत्पन्न करता है और बचाता है, साथ ही भविष्यवाणी के उदाहरण, मॉडल प्रदर्शन और सीखने की प्रगति में दृश्य अंतर्दृष्टि प्रदान करता है।

Note on Batch-size Settings

वही batch argument can be configured in three ways:

  • Fixed Batch Size: Set an integer value (e.g., batch=16), specifying the number of images per batch directly.
  • Auto Mode (60% GPU Memory): Use batch=-1 to automatically adjust batch size for approximately 60% CUDA memory utilization.
  • Auto Mode with Utilization Fraction: Set a fraction value (e.g., batch=0.70) to adjust batch size based on the specified fraction of GPU memory usage.

ट्रेन गाइड

सेटिंग्स की भविष्यवाणी करें

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

अनुमान तर्क:

युक्ति प्रकार चूक या क़िस्‍म
source str 'ultralytics/assets' अनुमान के लिए डेटा स्रोत निर्दिष्ट करता है. लाइव फ़ीड के लिए एक छवि पथ, वीडियो फ़ाइल, निर्देशिका, URL या डिवाइस आईडी हो सकती है। प्रारूपों और स्रोतों की एक विस्तृत श्रृंखला का समर्थन करता है, विभिन्न प्रकार के इनपुट में लचीले अनुप्रयोग को सक्षम करता है।
conf float 0.25 पता लगाने के लिए न्यूनतम विश्वास सीमा निर्धारित करता है। इस सीमा से नीचे विश्वास के साथ पता लगाई गई वस्तुओं की अवहेलना की जाएगी। इस मान को समायोजित करने से झूठी सकारात्मकता को कम करने में मदद मिल सकती है।
iou float 0.7 गैर-अधिकतम दमन (NMS) के लिए संघ (IoU) सीमा पर चौराहा। कम मूल्यों के परिणामस्वरूप ओवरलैपिंग बॉक्स को समाप्त करके कम पता लगाया जाता है, जो डुप्लिकेट को कम करने के लिए उपयोगी होता है।
imgsz int or tuple 640 अनुमान के लिए छवि आकार को परिभाषित करता है। एकल पूर्णांक हो सकता है 640 वर्ग आकार बदलने या एक (ऊंचाई, चौड़ाई) टपल के लिए। उचित आकार पता लगाने की सटीकता और प्रसंस्करण गति में सुधार कर सकता है।
half bool False अर्ध-परिशुद्धता (FP16) अनुमान सक्षम करता है, जो सटीकता पर न्यूनतम प्रभाव के साथ समर्थित GPU पर मॉडल अनुमान को गति दे सकता है।
device str None अनुमान के लिए डिवाइस को निर्दिष्ट करता है (उदाहरण के लिए, cpu, cuda:0 नहीं तो 0). उपयोगकर्ताओं को मॉडल निष्पादन के लिए CPU, एक विशिष्ट GPU या अन्य गणना उपकरणों के बीच चयन करने की अनुमति देता है।
max_det int 300 प्रति छवि अनुमत डिटेक्शन की अधिकतम संख्या। उन वस्तुओं की कुल संख्या को सीमित करता है जिन्हें मॉडल एक ही अनुमान में पहचान सकता है, घने दृश्यों में अत्यधिक आउटपुट को रोकता है।
vid_stride int 1 वीडियो इनपुट के लिए फ़्रेम स्ट्राइड। अस्थायी संकल्प की कीमत पर प्रसंस्करण को गति देने के लिए वीडियो में फ्रेम लंघन की अनुमति देता है। 1 का मान प्रत्येक फ्रेम को संसाधित करता है, उच्च मान फ्रेम को छोड़ देते हैं।
stream_buffer bool False निर्धारित करता है कि वीडियो स्ट्रीम संसाधित करते समय सभी फ़्रेमों को बफ़र किया जाना चाहिए (True), या यदि मॉडल को सबसे हाल का फ्रेम वापस करना चाहिए (False). वास्तविक समय अनुप्रयोगों के लिए उपयोगी।
visualize bool False अनुमान के दौरान मॉडल सुविधाओं के विज़ुअलाइज़ेशन को सक्रिय करता है, जो मॉडल "देख" रहा है, इस बारे में अंतर्दृष्टि प्रदान करता है। डिबगिंग और मॉडल व्याख्या के लिए उपयोगी।
augment bool False भविष्यवाणियों के लिए परीक्षण-समय वृद्धि (टीटीए) को सक्षम करता है, संभावित रूप से अनुमान गति की कीमत पर पहचान की मजबूती में सुधार करता है।
agnostic_nms bool False वर्ग-अज्ञेयवादी गैर-अधिकतम दमन (एनएमएस) को सक्षम करता है, जो विभिन्न वर्गों के अतिव्यापी बक्से को विलीन करता है। बहु-वर्ग का पता लगाने वाले परिदृश्यों में उपयोगी जहां वर्ग ओवरलैप आम है।
classes list[int] None पूर्वानुमानों को वर्ग ID के सेट में फ़िल्टर करता है. केवल निर्दिष्ट वर्गों से संबंधित डिटेक्शन वापस किए जाएंगे। बहु-वर्ग का पता लगाने वाले कार्यों में प्रासंगिक वस्तुओं पर ध्यान केंद्रित करने के लिए उपयोगी।
retina_masks bool False मॉडल में उपलब्ध होने पर उच्च-रिज़ॉल्यूशन सेगमेंटेशन मास्क का उपयोग करता है। यह विभाजन कार्यों के लिए मुखौटा गुणवत्ता को बढ़ा सकता है, बेहतर विवरण प्रदान कर सकता है।
embed list[int] None उन परतों को निर्दिष्ट करता है जिनसे फीचर वैक्टर या एम्बेडिंग निकालना है। क्लस्टरिंग या समानता खोज जैसे डाउनस्ट्रीम कार्यों के लिए उपयोगी।

विज़ुअलाइज़ेशन तर्क:

युक्ति प्रकार चूक या क़िस्‍म
show bool False अगर True, एक विंडो में एनोटेट की गई छवियों या वीडियो को प्रदर्शित करता है। विकास या परीक्षण के दौरान तत्काल दृश्य प्रतिक्रिया के लिए उपयोगी।
save bool False फ़ाइल करने के लिए एनोटेट छवियों या वीडियो की बचत सक्षम करता है। दस्तावेज़ीकरण, आगे के विश्लेषण या परिणामों को साझा करने के लिए उपयोगी।
save_frames bool False वीडियो संसाधित करते समय, अलग-अलग फ़्रेमों को छवियों के रूप में सहेजता है। विशिष्ट फ्रेम निकालने या विस्तृत फ्रेम-दर-फ्रेम विश्लेषण के लिए उपयोगी है।
save_txt bool False प्रारूप का पालन करते हुए, पाठ फ़ाइल में पता लगाने के परिणामों को सहेजता है [class] [x_center] [y_center] [width] [height] [confidence]. अन्य विश्लेषण उपकरणों के साथ एकीकरण के लिए उपयोगी।
save_conf bool False सहेजी गई पाठ फ़ाइलों में विश्वास स्कोर शामिल करता है। पोस्ट-प्रोसेसिंग और विश्लेषण के लिए उपलब्ध विवरण को बढ़ाता है।
save_crop bool False पता लगाने की फसली छवियों को बचाता है। डेटासेट वृद्धि, विश्लेषण या विशिष्ट वस्तुओं के लिए केंद्रित डेटासेट बनाने के लिए उपयोगी।
show_labels bool True दृश्य आउटपुट में प्रत्येक पहचान के लिए लेबल प्रदर्शित करता है। पता लगाई गई वस्तुओं की तत्काल समझ प्रदान करता है।
show_conf bool True लेबल के साथ प्रत्येक पहचान के लिए विश्वास स्कोर प्रदर्शित करता है. प्रत्येक पहचान के लिए मॉडल की निश्चितता में अंतर्दृष्टि देता है।
show_boxes bool True पता लगाए गए ऑब्जेक्ट्स के चारों ओर बाउंडिंग बॉक्स खींचता है। छवियों या वीडियो फ्रेम में वस्तुओं की दृश्य पहचान और स्थान के लिए आवश्यक।
line_width None or int None बाउंडिंग बॉक्स की रेखा चौड़ाई निर्दिष्ट करता है। अगर None, छवि आकार के आधार पर लाइन की चौड़ाई स्वचालित रूप से समायोजित की जाती है। स्पष्टता के लिए दृश्य अनुकूलन प्रदान करता है।

भविष्यवाणी गाइड

सत्यापन सेटिंग्स

के लिए वैल (सत्यापन) सेटिंग्स 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 गैर-अधिकतम दमन (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 मॉडल विभिन्न वातावरणों या प्लेटफार्मों में उपयोग के लिए मॉडल को सहेजने या निर्यात करने से संबंधित कॉन्फ़िगरेशन और विकल्पों को शामिल करते हैं। ये सेटिंग्स विभिन्न प्रणालियों के साथ मॉडल के प्रदर्शन, आकार और संगतता को प्रभावित कर सकती हैं। मुख्य निर्यात सेटिंग्स में निर्यात किए गए मॉडल फ़ाइल स्वरूप शामिल हैं (उदा। ONNX, TensorFlow SavedModel), लक्ष्य डिवाइस (जैसे, सीपीयू, जीपीयू), और अतिरिक्त सुविधाएं जैसे मास्क या प्रति बॉक्स कई लेबल। निर्यात प्रक्रिया मॉडल के विशिष्ट कार्य और गंतव्य वातावरण या प्लेटफ़ॉर्म की आवश्यकताओं या बाधाओं से भी प्रभावित हो सकती है।

युक्ति प्रकार चूक या क़िस्‍म
format str 'torchscript' निर्यात किए गए मॉडल के लिए लक्ष्य प्रारूप, जैसे 'onnx', 'torchscript', 'tensorflow', या अन्य, विभिन्न परिनियोजन वातावरणों के साथ संगतता को परिभाषित करना।
imgsz int नहीं तो tuple 640 मॉडल इनपुट के लिए वांछित छवि आकार। वर्ग छवियों या एक टपल के लिए एक पूर्णांक हो सकता है (height, width) विशिष्ट आयामों के लिए।
keras bool False के लिए केरस प्रारूप में निर्यात सक्षम करता है TensorFlow SavedModel, के साथ संगतता प्रदान करना TensorFlow सेवारत और एपीआई।
optimize bool False निर्यात करते समय मोबाइल उपकरणों के लिए ऑप्टिमाइज़ेशन लागू करता है TorchScript, संभावित रूप से मॉडल के आकार को कम करने और प्रदर्शन में सुधार करने के लिए।
half bool False FP16 (अर्ध-परिशुद्धता) परिमाणीकरण को सक्षम करता है, मॉडल आकार को कम करता है और समर्थित हार्डवेयर पर संभावित रूप से अनुमान को तेज करता है।
int8 bool False INT8 परिमाणीकरण को सक्रिय करता है, मॉडल को और संपीड़ित करता है और न्यूनतम सटीकता हानि के साथ अनुमान को तेज करता है, मुख्य रूप से किनारे उपकरणों के लिए।
dynamic bool False के लिए गतिशील इनपुट आकार की अनुमति देता है ONNX और TensorRT निर्यात, अलग-अलग छवि आयामों को संभालने में लचीलापन बढ़ाना।
simplify bool False के लिए मॉडल ग्राफ को सरल करता है ONNX निर्यात, संभावित रूप से प्रदर्शन और संगतता में सुधार।
opset int None निर्दिष्ट करता है ONNX विभिन्न के साथ संगतता के लिए opset संस्करण ONNX पार्सर और रनटाइम। यदि सेट नहीं है, तो नवीनतम समर्थित संस्करण का उपयोग करता है।
workspace float 4.0 के लिए GB में अधिकतम कार्यस्थान आकार सेट करता है TensorRT अनुकूलन, स्मृति उपयोग और प्रदर्शन को संतुलित करना।
nms bool False गैर-अधिकतम दमन (NMS) जोड़ता है CoreML निर्यात, प्रसंस्करण के बाद सटीक और कुशल पहचान के लिए आवश्यक।

यह सुनिश्चित करने के लिए इन सेटिंग्स को सोच-समझकर कॉन्फ़िगर करना महत्वपूर्ण है कि निर्यात किया गया मॉडल इच्छित उपयोग के मामले के लिए अनुकूलित है और लक्ष्य वातावरण में प्रभावी ढंग से कार्य करता है।

निर्यात गाइड

वृद्धि सेटिंग्स

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

युक्ति प्रकार चूक श्रेणी या क़िस्‍म
hsv_h float 0.015 0.0 - 1.0 रंग पहिया के एक अंश द्वारा छवि के रंग को समायोजित करता है, रंग परिवर्तनशीलता का परिचय देता है। मॉडल को विभिन्न प्रकाश स्थितियों में सामान्यीकृत करने में मदद करता है।
hsv_s float 0.7 0.0 - 1.0 छवि की संतृप्ति को एक अंश से बदल देता है, जिससे रंगों की तीव्रता प्रभावित होती है। विभिन्न पर्यावरणीय परिस्थितियों का अनुकरण करने के लिए उपयोगी।
hsv_v float 0.4 0.0 - 1.0 छवि के मूल्य (चमक) को एक अंश से संशोधित करता है, जिससे मॉडल को विभिन्न प्रकाश स्थितियों के तहत अच्छा प्रदर्शन करने में मदद मिलती है।
degrees float 0.0 -180 - +180 निर्दिष्ट डिग्री सीमा के भीतर छवि को बेतरतीब ढंग से घुमाता है, विभिन्न झुकावों पर वस्तुओं को पहचानने की मॉडल की क्षमता में सुधार करता है।
translate float 0.1 0.0 - 1.0 छवि आकार के एक अंश से छवि को क्षैतिज और लंबवत रूप से अनुवाद करता है, आंशिक रूप से दिखाई देने वाली वस्तुओं का पता लगाने के लिए सीखने में सहायता करता है।
scale float 0.5 >=0.0 एक लाभ कारक द्वारा छवि को मापता है, कैमरे से अलग-अलग दूरी पर वस्तुओं का अनुकरण करता है।
shear float 0.0 -180 - +180 छवि को एक निर्दिष्ट डिग्री से हिलाता है, विभिन्न कोणों से देखी जा रही वस्तुओं के प्रभाव की नकल करता है।
perspective float 0.0 0.0 - 0.001 छवि में एक यादृच्छिक परिप्रेक्ष्य परिवर्तन लागू करता है, जिससे मॉडल की 3D स्थान में वस्तुओं को समझने की क्षमता बढ़ जाती है।
flipud float 0.0 0.0 - 1.0 निर्दिष्ट संभावना के साथ छवि को उल्टा फ़्लिप करता है, वस्तु की विशेषताओं को प्रभावित किए बिना डेटा परिवर्तनशीलता को बढ़ाता है।
fliplr float 0.5 0.0 - 1.0 निर्दिष्ट संभावना के साथ छवि को बाएं से दाएं फ़्लिप करता है, सममित वस्तुओं को सीखने और डेटासेट विविधता बढ़ाने के लिए उपयोगी है।
bgr float 0.0 0.0 - 1.0 निर्दिष्ट संभावना के साथ छवि चैनलों को RGB से BGR तक फ़्लिप करता है, जो गलत चैनल ऑर्डरिंग में मजबूती बढ़ाने के लिए उपयोगी है।
mosaic float 1.0 0.0 - 1.0 चार प्रशिक्षण छवियों को एक में जोड़ती है, विभिन्न दृश्य रचनाओं और ऑब्जेक्ट इंटरैक्शन का अनुकरण करती है। जटिल दृश्य समझ के लिए अत्यधिक प्रभावी।
mixup float 0.0 0.0 - 1.0 दो छवियों और उनके लेबल को मिश्रित करता है, एक समग्र छवि बनाता है। लेबल शोर और दृश्य परिवर्तनशीलता को पेश करके मॉडल की सामान्यीकरण करने की क्षमता को बढ़ाता है।
copy_paste float 0.0 0.0 - 1.0 एक छवि से वस्तुओं की प्रतिलिपि बनाता है और उन्हें दूसरे पर चिपकाता है, ऑब्जेक्ट उदाहरणों को बढ़ाने और ऑब्जेक्ट रोड़ा सीखने के लिए उपयोगी है।
auto_augment str randaugment - स्वचालित रूप से एक पूर्वनिर्धारित वृद्धि नीति लागू करता है (randaugment, autoaugment, augmix), दृश्य सुविधाओं में विविधता लाकर वर्गीकरण कार्यों के लिए अनुकूलन।
erasing float 0.4 0.0 - 0.9 वर्गीकरण प्रशिक्षण के दौरान छवि के एक हिस्से को बेतरतीब ढंग से मिटा देता है, जिससे मॉडल को मान्यता के लिए कम स्पष्ट विशेषताओं पर ध्यान केंद्रित करने के लिए प्रोत्साहित किया जाता है।
crop_fraction float 1.0 0.1 - 1.0 केंद्रीय विशेषताओं पर जोर देने और पृष्ठभूमि विकर्षणों को कम करने, ऑब्जेक्ट स्केल के अनुकूल होने के लिए वर्गीकरण छवि को उसके आकार के एक अंश में क्रॉप करता है।

इन सेटिंग्स को डेटासेट की विशिष्ट आवश्यकताओं और हाथ में कार्य को पूरा करने के लिए समायोजित किया जा सकता है। विभिन्न मूल्यों के साथ प्रयोग करने से इष्टतम वृद्धि रणनीति खोजने में मदद मिल सकती है जो सर्वोत्तम मॉडल प्रदर्शन की ओर ले जाती है।

लॉगिंग, चेकपॉइंट और प्लॉटिंग सेटिंग्स

लॉगिंग, चौकियों, साजिश रचना, और फ़ाइल प्रबंधन महत्वपूर्ण विचार हैं जब एक प्रशिक्षण YOLO को गढ़ना।

  • लॉगिंग: मॉडल की प्रगति को ट्रैक करने और उत्पन्न होने वाली किसी भी समस्या का निदान करने के लिए प्रशिक्षण के दौरान विभिन्न मीट्रिक और आँकड़ों को लॉग इन करना अक्सर सहायक होता है। यह एक लॉगिंग लाइब्रेरी जैसे TensorBoard का उपयोग करके या किसी फ़ाइल में लॉग संदेश लिखकर किया जा सकता है।
  • चौकियों: प्रशिक्षण के दौरान नियमित अंतराल पर मॉडल की चौकियों को सहेजना एक अच्छा अभ्यास है। यह आपको पिछले बिंदु से प्रशिक्षण फिर से शुरू करने की अनुमति देता है यदि प्रशिक्षण प्रक्रिया बाधित है या यदि आप विभिन्न प्रशिक्षण कॉन्फ़िगरेशन के साथ प्रयोग करना चाहते हैं।
  • प्लॉटिंग: मॉडल के प्रदर्शन और प्रशिक्षण प्रगति की कल्पना करना यह समझने में मददगार हो सकता है कि मॉडल कैसे व्यवहार कर रहा है और संभावित मुद्दों की पहचान कर रहा है। यह एक प्लॉटिंग लाइब्रेरी जैसे कि matplotlib का उपयोग करके या TensorBoard जैसे लॉगिंग लाइब्रेरी का उपयोग करके प्लॉट उत्पन्न करके किया जा सकता है।
  • फ़ाइल प्रबंधन: प्रशिक्षण प्रक्रिया के दौरान उत्पन्न विभिन्न फाइलों, जैसे मॉडल चेकपॉइंट्स, लॉग फाइल और प्लॉट्स को प्रबंधित करना चुनौतीपूर्ण हो सकता है। इन फ़ाइलों पर नज़र रखने के लिए एक स्पष्ट और संगठित फ़ाइल संरचना होना महत्वपूर्ण है और आवश्यकतानुसार उन तक पहुँचना और उनका विश्लेषण करना आसान बनाता है।

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

युक्ति चूक या क़िस्‍म
project 'runs' प्रशिक्षण रन सहेजने के लिए रूट निर्देशिका निर्दिष्ट करता है। प्रत्येक रन इस निर्देशिका के भीतर एक अलग उपनिर्देशिका में सहेजा जाएगा।
name 'exp' प्रयोग के नाम को परिभाषित करता है. यदि निर्दिष्ट नहीं है, YOLO स्वचालित रूप से प्रत्येक रन के लिए इस नाम को बढ़ाता है, उदा। exp, exp2, आदि, पिछले प्रयोगों को ओवरराइट करने से बचने के लिए।
exist_ok False निर्धारित करता है कि क्या मौजूदा प्रयोग निर्देशिका को अधिलेखित करना है यदि समान नाम वाला निर्देशिका पहले से मौजूद है। इसे सेट करना True ओवरराइटिंग की अनुमति देता है, जबकि False इसे रोकता है।
plots False प्रशिक्षण और सत्यापन भूखंडों की पीढ़ी और बचत को नियंत्रित करता है। पर सेट करें True नुकसान घटता, सटीक-याद घटता और नमूना भविष्यवाणियों जैसे भूखंडों को बनाने के लिए। समय के साथ मॉडल के प्रदर्शन को नेत्रहीन रूप से ट्रैक करने के लिए उपयोगी।
save False प्रशिक्षण चौकियों और अंतिम मॉडल वजन की बचत को सक्षम बनाता है। पर सेट करें True समय-समय पर मॉडल राज्यों को बचाने के लिए, इन चौकियों या मॉडलों से प्रशिक्षण को फिर से शुरू करने की अनुमति देना।


Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (17), fcakyon (2), Laughing-q (2), plashchynski (1), Burhan-Q (1), AyushExel (1), RizwanMunawar (1), tensorturtle (1)

टिप्पणियाँ