For the complete documentation index, see llms.txt. This page is also available as Markdown.

प्रशिक्षित मॉडलों का मूल्यांकन करें

अपने टेस्ट डेटासेट पर आपका मॉडल कैसा प्रदर्शन करता है, यह जानने के लिए मॉडल मूल्यांकन का उपयोग करें।

के बारे में

मॉडल मूल्यांकन दिखाते हैं:

  1. एक प्रोडक्शन मेट्रिक्स एक्सप्लोरर, जो आपको अपने मॉडल को चलाने के लिए उपयुक्ततम कॉन्फ़िडेंस थ्रेशहोल्ड खोजने में मदद करता है;

  2. मॉडल सुधार सुझाव, जो यह बताते हैं कि आप अपने मॉडल की सटीकता कैसे बढ़ा सकते हैं;

  3. क्लास के अनुसार प्रदर्शन, जो दिखाता है कि आपका मॉडल विभिन्न क्लासों की पहचान कितनी अच्छी तरह करता है;

  4. एक confusion matrix, जिसका उपयोग आप उन विशिष्ट क्लासों को खोजने के लिए कर सकते हैं जिनमें आपका मॉडल अच्छा करता है और जहाँ उसे कठिनाई होती है, और;

  5. एक इंटरैक्टिव वेक्टर एक्सप्लोरर, जो आपको उन इमेज क्लस्टर्स की पहचान करने देता है जहाँ आपका मॉडल अच्छा या खराब प्रदर्शन करता है;

आप अपने मॉडल में सुधार के क्षेत्रों की पहचान करने के लिए मॉडल मूल्यांकन का उपयोग कर सकते हैं।

पेड उपयोगकर्ताओं द्वारा Roboflow पर प्रशिक्षित या अपलोड किए गए सभी versioned models के लिए मॉडल मूल्यांकन स्वचालित रूप से चलाए जाते हैं। कुछ सौ इमेज वाले dataset के लिए मूल्यांकन चलने में कई मिनट लग सकते हैं, और हज़ारों या उससे अधिक इमेज वाले बड़े datasets के लिए कई घंटे लग सकते हैं।

समर्थित प्रोजेक्ट प्रकार

मॉडल मूल्यांकन Object Detection, Instance Segmentation, Classification, और Semantic Segmentation प्रोजेक्ट्स को सपोर्ट करता है।

Semantic Segmentation के लिए, मुख्य मीट्रिक है mIoU (mean Intersection-over-Union) mAP के बजाय। सभी मीट्रिक्स (precision, recall, F1) प्रति-instance के बजाय pixel स्तर पर गणना किए जाते हैं। प्रति-क्लास विवरण में प्रत्येक क्लास के लिए IoU, precision, recall, F1, और उपयुक्ततम confidence threshold दिखाया जाता है। Confusion matrix के मान object counts के बजाय pixel counts को दर्शाते हैं।

वेब ऐप

मॉडल मूल्यांकन खोलें

अपने मॉडल के लिए confusion matrix और vector explorer खोजने के लिए, अपने प्रोजेक्ट में किसी भी प्रशिक्षित मॉडल को खोलें। फिर, “मूल्यांकन देखें” बटन पर क्लिक करें:

एक विंडो खुलेगी जहाँ आप अपनी confusion matrix और vector analysis देख सकते हैं।

प्रोडक्शन मेट्रिक्स एक्सप्लोरर

प्रोडक्शन मेट्रिक्स एक्सप्लोरर आपके मॉडल के लिए सभी संभावित confidence thresholds पर Precision, Recall, और F1 score दिखाता है। यह जानकारी एक ग्राफ़ पर प्रस्तुत की जाती है।

इन आँकड़ों का उपयोग करके, प्रोडक्शन मेट्रिक्स एक्सप्लोरर एक “उपयुक्ततम confidence” सुझाएगा। यह वह threshold है जो आपको Precision/Recall/F1 Score का सर्वोत्तम संतुलन देगा।

मॉडल मूल्यांकन पूरा होने के बाद, उपयुक्ततम confidence threshold आपके मॉडल के inference requests के लिए स्वचालित रूप से default के रूप में लागू हो जाता है। यदि per-class thresholds उपलब्ध हैं, तो वे भी लागू किए जाते हैं, और किसी भी ऐसी class के लिए जिसका अपना मान नहीं है, global threshold को fallback के रूप में उपयोग किया जाता है।

आप अब भी किसी भी individual inference request पर confidence parameter को स्पष्ट रूप से पास करके confidence threshold को override कर सकते हैं।

आप स्लाइडर को खींचकर अलग-अलग confidence thresholds पर F1/Precision/Recall मान देख सकते हैं:

मॉडल सुधार सुझाव

आपके मॉडल मूल्यांकन का model improvement recommendations अनुभाग यह सुझाव सूचीबद्ध करता है कि आप अपने मॉडल की सटीकता कैसे बढ़ा सकते हैं। ये सुधार आपके मॉडल के साथ गणना की गई confusion matrix के परिणामों पर आधारित हैं। (इस पेज पर आगे आपकी confusion matrix के बारे में अधिक जानकारी देखें).

मॉडल सुधार सुझाव सुविधा निम्न से संबंधित सुझाव दे सकती है:

  • ऐसे मॉडल को कैसे सुधारें जो बहुत सारे false negatives की भविष्यवाणी करता है।

  • ऐसे मॉडल को कैसे सुधारें जो बहुत सारे false positives की भविष्यवाणी करता है।

  • कौन-सी classes अक्सर भ्रमित (गलत पहचानी) जाती हैं।

  • कौन-सी classes की सटीकता सुधारने के लिए अधिक डेटा चाहिए।

  • जब test या validation set बहुत छोटा हो सकता है।

  • और भी बहुत कुछ।

क्लास के अनुसार प्रदर्शन

क्लास के अनुसार प्रदर्शन चार्ट दिखाता है कि आपके dataset में सभी classes के बीच कितनी सही भविष्यवाणियाँ, गलत वर्गीकरण, false negatives, और false positives हैं।

आप इस जानकारी का उपयोग एक नज़र में यह देखने के लिए कर सकते हैं कि आपका मॉडल किन classes की अच्छी पहचान कर सकता है और किन classes की पहचान करने में हमारा model संघर्ष करता है।

यदि आपके dataset में classes की संख्या अधिक है, तो आप “सभी क्लास” dropdown खोलकर और जिन classes को आप highlight करना चाहते हैं उन्हें चुनकर चार्ट को विशिष्ट classes पर केंद्रित कर सकते हैं:

आप Confidence Threshold slider को हिलाकर यह भी देख सकते हैं कि अलग-अलग confidence thresholds पर यह चार्ट कैसे बदलता है:

डिफ़ॉल्ट रूप से, यह चार्ट हमारे द्वारा सुझाए गए उपयुक्ततम confidence threshold का उपयोग करेगा।

Confusion Matrix

आपकी confusion matrix दिखाती है कि आपका मॉडल विभिन्न classes पर कितना अच्छा प्रदर्शन करता है।

आपकी confusion matrix आपके प्रशिक्षित मॉडल के साथ आपकी test और validation sets की इमेज चलाकर गणना की जाती है। फिर आपके मॉडल के परिणामों की तुलना आपके dataset annotations से प्राप्त “ground truth” से की जाती है।

Confusion matrix टूल के साथ, आप पहचान सकते हैं:

  • वे classes जहाँ आपका model अच्छा प्रदर्शन करता है।

  • वे classes जहाँ आपका model किसी object के लिए गलत class पहचानता है (false positives)।

  • वे instances जहाँ आपका model किसी ऐसे object की पहचान करता है जो मौजूद नहीं है (false negatives)।

यहाँ एक उदाहरण confusion matrix है:

यदि आपका model कई classes का पता लगाता है, तो scroll bars दिखाई देंगे जो आपको अपनी confusion matrix में नेविगेट करने देते हैं।

डिफ़ॉल्ट रूप से, confusion matrix यह दिखाती है कि आपका model उस उपयुक्ततम threshold पर चलाने पर कैसा प्रदर्शन करता है, जो आपके model के लिए गणना की गई है।

आप Confidence Threshold slider का उपयोग करके confidence threshold समायोजित कर सकते हैं। जैसे-जैसे आप slider को कॉन्फ़िगर करते हैं, आपकी confusion matrix, precision, और recall अपडेट होंगे:

आप confusion matrix में प्रत्येक box पर क्लिक करके देख सकते हैं कि संबंधित श्रेणी में कौन-सी इमेज दिखाई देती हैं।

उदाहरण के लिए, आप “False Positive” कॉलम में किसी भी box पर क्लिक करके उन इमेज की पहचान कर सकते हैं जहाँ आपके ground truth data में object मौजूद नहीं था, फिर भी उसकी पहचान हो गई।

आप किसी individual image पर क्लिक करके एक interactive view में जा सकते हैं जहाँ आप ground truth (आपके annotations) और model predictions के बीच टॉगल कर सकते हैं:

अपने annotations देखने के लिए “Ground Truth” पर क्लिक करें और आपके model ने क्या लौटाया यह देखने के लिए “Model Predictions” पर क्लिक करें।

HTTP API

एक मॉडल मूल्यांकन यह कैप्चर करता है कि एक Version के test split पर model कैसा प्रदर्शन करता है - per-class metrics, confidence-threshold curves, image-embedding clustering, per-image predictions, और improvement recommendations। Object detection और instance segmentation के लिए मुख्य मीट्रिक mAP है; semantic segmentation के लिए यह mIoU है। Training पूरी होने पर evaluations स्वचालित रूप से उत्पन्न होते हैं और ऐप से मैन्युअल रूप से फिर से ट्रिगर किए जा सकते हैं।

Model Evaluations API आपको वह सब कुछ पढ़ने देती है जो ऐप का evaluation पेज दिखाता है। UI का प्रत्येक panel एक समर्पित endpoint से मैप होता है:

प्रमाणीकरण

सभी endpoints के लिए API key के साथ model-eval:read scope आवश्यक है। इसे query parameter के रूप में या Bearer token के रूप में Authorization header में पास करें।

सामान्य त्रुटियाँ

स्थिति
त्रुटि कोड
जब

401

प्रमाणित नहीं

API key गायब है या अमान्य है

404

model_eval_not_found

Evaluation मौजूद नहीं है या किसी अन्य workspace से संबंधित है

409

model_eval_not_done

Evaluation पूरी नहीं हुई है; panel data अभी उपलब्ध नहीं है

400

invalid_confidence

confidence query parameter में integer नहीं है [0, 100]

400

invalid_split

split query parameter endpoint के अनुमत मानों में से एक नहीं है

मॉडल मूल्यांकन सूचीबद्ध करें

वर्कस्पेस में model evaluations की सूची बनाता है। एक हल्का प्रोजेक्शन लौटाता है - किसी विशिष्ट evaluation के मुख्य मीट्रिक्स के लिए, आगे देखें एक मॉडल मूल्यांकन प्राप्त करें.

क्वेरी पैरामीटर

पैरामीटर
प्रकार
विवरण

project

string

किसी project को उसके URL slug द्वारा फ़िल्टर करें (जैसे chess-pieces-fmhpz)

version (alias versionId)

string

किसी विशिष्ट version द्वारा फ़िल्टर करें (जैसे "4")

model (alias modelId)

string

किसी विशिष्ट model ID के evaluations को फ़िल्टर करें

status

enum

इनमें से एक running, done, failed. अज्ञात मान लौटाते हैं 400.

limit

integer

पृष्ठ आकार; डिफ़ॉल्ट 50, अधिकतम 200

अधिकतम इनमें से केवल एक project / version / model प्रति कॉल सेट किया जा सकता है (सबसे विशिष्ट मान प्राथमिकता लेता है: model > version > project). संयोजनों को अस्वीकार किया जाता है 400 invalid_filter_combination ताकि storage indices सीमित रहें।

प्रतिक्रिया

project project का URL slug है - वही पहचानकर्ता जिसे REST API URL paths में उपयोग करता है (/:workspace/:project/...). evaluation UI के लिए deep-link बनाने के लिए: https://app.roboflow.com/{workspace}/{project}/evaluation/{versionId}.

एक मॉडल मूल्यांकन प्राप्त करें

इसके ID द्वारा एक single model evaluation प्राप्त करें। पूर्ण evaluations के लिए response में एक summary object शामिल होता है जिसमें मुख्य मीट्रिक्स होते हैं; running या failed evaluations केवल हल्का shape लौटाते हैं। कौन-सा मुख्य मीट्रिक भरा जाएगा यह task type पर निर्भर करता है - mAP डिटेक्शन-आकार के tasks के लिए, mIoU semantic segmentation के लिए।

प्रतिक्रिया (पूर्ण evaluation)

प्रतिक्रिया (चल रहा या विफल)

वही फ़ील्ड्स बिना summary block के।

नोट्स

  • mAP IoU 0.5 पर mean Average Precision है (map50)। यह null गैर-डिटेक्शन मूल्यांकन कार्यों के लिए होता है (जैसे वर्गीकरण, semantic segmentation)।

  • mIoU foreground macro mean Intersection-over-Union है। यह केवल semantic segmentation evaluations के लिए भरा जाता है और null अन्यथा null होता है।

  • precision और recall test split के लिए F1-optimal confidence threshold पर रिपोर्ट किए जाते हैं।

  • evalId वही पहचानकर्ता है जो हर panel response में अंतर्निहित होता है - modelEvals.get payload संरचनात्मक रूप से किसी भी panel payload का superset है, इसलिए एक summary-augmented modelEvals.get और एक getMapResults response को उसी client code path के माध्यम से render किया जा सकता है।

  • project project का URL slug है - वही पहचानकर्ता जिसे REST API URL paths में उपयोग करता है। evaluation UI के लिए deep-link बनाने के लिए: https://app.roboflow.com/{workspace}/{project}/evaluation/{versionId}. project है null यदि project को delete कर दिया गया है।

Map Results

evaluation के लिए प्राथमिक मीट्रिक विवरण लौटाता है। response का आकार task type पर निर्भर करता है:

  • Object detection / instance segmentation - IoU 0.5 / 0.5-0.95 / 0.75 पर प्रति split mAP, object size और प्रति class के अनुसार विभाजित।

  • Semantic segmentation - प्रति split mIoU, precision, recall, F1 (pixel-level), प्रति-class IoU और उपयुक्ततम confidence thresholds के साथ।

response का taskType फ़ील्ड यह दर्शाता है कि किस प्रकार का shape अपेक्षित है: "object-detection-like" या "semantic-segmentation".

यह वह डेटा है जिसे ऐप का metrics per split panel पढ़ता है।

प्रतिक्रिया (object detection / instance segmentation)

प्रतिक्रिया (semantic segmentation)

नोट्स

  • response का taskType फ़ील्ड response के आकार को निर्धारित करता है। split की सामग्री को पार्स करने से पहले हमेशा इसे जाँचें।

  • डिटेक्शन: map50_95 IoU thresholds 0.5 से 0.95 तक 0.05 के चरणों में औसत mAP है (COCO standard)। Object-size buckets हैं null जब split में उस आकार के कोई instances न हों। Per-class entries perClassके अंतर्गत class name द्वारा key की जाती हैं।

  • Semantic segmentation: सभी मीट्रिक्स foreground classes पर pixel-level macro means हैं (background को छोड़कर)। miou mean Intersection-over-Union है। optimalThreshold प्रति-class F1-optimal confidence threshold है। 0.0 का मान मान्य है और इसका अर्थ है कि model argmax पर peak करता है।

Confidence Sweep

प्रति confidence threshold metric curves और प्रति split (और प्रति class) F1-optimal threshold लौटाता है। Precision/recall trade-offs को plot करने और deployment-time threshold चुनने के लिए उपयोगी।

यह वह डेटा है जिसे ऐप का प्रोडक्शन मेट्रिक्स एक्सप्लोरर panel पढ़ता है।

प्रतिक्रिया

नोट्स

  • perThreshold कुंजियाँ confidence thresholds हैं, decimal strings के रूप में, आमतौर पर हर 0.01 से 0.00 तक 0.99.

  • optimalThreshold वह threshold है जो उस split के लिए F1 को अधिकतम करता है।

  • split के भीतर per-class entries perClass का आकार समान होता है, केवल nested perClass.

क्लास के अनुसार प्रदर्शन

एक split के लिए per-class मुख्य मीट्रिक्स लौटाता है। response का आकार evaluation के task type पर निर्भर करता है:

  • Object detection / instance segmentation - प्रति-class map50, map50_95, map75, precision, recall, F1, और उपयुक्ततम threshold।

  • Semantic segmentation - प्रति-class iou, precision, recall, F1, और उपयुक्ततम threshold (pixel-level)।

response का taskType response का फ़ील्ड यह दर्शाता है कि किस प्रकार का shape अपेक्षित है।

यह वह डेटा है जिसे ऐप का क्लास के अनुसार प्रदर्शन panel पढ़ता है।

क्वेरी पैरामीटर

पैरामीटर
प्रकार
विवरण

split

enum

इनमें से एक train, valid, test. डिफ़ॉल्ट test. all है यहाँ मान्य नहीं है - per-class metrics splits के बीच aggregate नहीं किए जा सकते। valid

प्रतिक्रिया (object detection / instance segmentation)

प्रतिक्रिया (semantic segmentation)

नोट्स

  • taskType प्रति-वर्ग फ़ील्ड सेट को अलग करता है। डिटेक्शन वर्गों में शामिल हैं map50/map50_95/map75; सेमांटिक सेगमेंटेशन वर्गों में शामिल हैं iou और classID के बजाय।

  • optimalThreshold confidence sweep से प्राप्त प्रति-वर्ग F1-इष्टतम confidence threshold है।

  • precision, recall, और f1 उस प्रति-वर्ग इष्टतम threshold पर रिपोर्ट किए जाते हैं।

  • डिटेक्शन के लिए, mAP फ़ील्ड हैं null जब split में उस वर्ग का कोई instance नहीं होता।

  • सेमांटिक सेगमेंटेशन के लिए, सभी मेट्रिक्स पिक्सेल-स्तर के होते हैं। एक optimalThreshold का 0.0 मान्य है।

Confusion Matrix

प्रति-छवि predictions से प्राप्त समेकित confusion matrix लौटाता है। प्रत्येक cell matrix[वास्तविक][अनुमानित] उन instances की संख्या है जहाँ ground-truth class वास्तविक और मॉडल ने अनुमानित. सेमांटिक segmentation evaluations के लिए, values instance counts के बजाय pixel counts को दर्शाती हैं।

यह वह डेटा है जिसे ऐप का कन्फ्यूजन मैट्रिक्स panel पढ़ता है।

क्वेरी पैरामीटर

पैरामीटर
प्रकार
विवरण

split

enum

इनमें से एक train, valid, test, या all. डिफ़ॉल्ट test.

confidence

integer

में Confidence-threshold प्रतिशत [0, 100]. डिफ़ॉल्ट canonical file पर होता है (आमतौर पर 20).

प्रतिक्रिया

ऊपर दिए गए उदाहरण में, confidence threshold 0.2 पर:

  • के सभी 20 instances Car-rims को सही ढंग से वर्गीकृत किया गया (matrix[0][0] = 20)

  • मॉडल ने 80 false positives उत्पन्न किए - predicting Car-rims जब actual class background (matrix[2][0] = 80)

  • test split में कोई music-note instances

नोट्स

  • confidence यह चुनता है कि रिपोर्ट के किस अंतर्निहित per-confidence variant को समेकित किया जाए। अलग-अलग thresholds अलग matrices देती हैं।

  • split=all train, valid, और test में raw counts को समेकित करता है।

वेक्टर विश्लेषण

evaluation के लिए image-embedding clustering output लौटाता है - UMAP-projected embeddings को HDBSCAN द्वारा clustered किया गया है, साथ में per-cluster aggregate metrics। उन image समूहों को पहचानने के लिए उपयोगी जहाँ model व्यवस्थित रूप से बेहतर या खराब प्रदर्शन करता है।

यह वह डेटा है जिसे ऐप का वेक्टर विश्लेषण panel पढ़ता है।

क्वेरी पैरामीटर

पैरामीटर
प्रकार
विवरण

confidence

integer

में Confidence-threshold प्रतिशत [0, 100] (canonical report पर डिफ़ॉल्ट होता है)।

प्रतिक्रिया

नोट्स

  • क्लस्टर आईडी -1 यह noise/unclustered bucket (HDBSCAN convention) है - ऐसी छवियाँ जो किसी dense region में फिट नहीं होतीं।

  • precisionMean और recallMean क्लस्टर की सभी छवियों पर औसत लिए जाते हैं।

  • प्रति-छवि embeddings और cluster assignments के माध्यम से उपलब्ध कराए जाते हैं प्रति-छवि पूर्वानुमान.

प्रति-छवि पूर्वानुमान

प्रति-छवि prediction records लौटाता है - TP/FP/FN counts, प्रति-छवि precision/recall/F1, छवि का cluster id और 2D embedding, तथा raw confusion entries। Paginated.

यह वह डेटा है जिसे ऐप का प्रति-छवि पूर्वानुमान panel पढ़ता है।

क्वेरी पैरामीटर

पैरामीटर
प्रकार
विवरण

split

enum

इनमें से एक train, valid, test, या all. डिफ़ॉल्ट all.

confidence

integer

में Confidence-threshold प्रतिशत [0, 100] (यह चुनता है कि per-confidence report का कौन-सा variant पढ़ना है)।

limit

integer

पृष्ठ आकार; डिफ़ॉल्ट 200, अधिकतम 1000.

offset

integer

लौटाने से पहले इतने records छोड़ें। डिफ़ॉल्ट 0.

प्रतिक्रिया

नोट्स

  • imageId Roboflow source image id है - अन्य Roboflow APIs के साथ cross-referencing के लिए उपयोगी।

  • confusion प्रविष्टियाँ होती हैं [actualClassIdx, predictedClassIdx, count] त्रिक; class indices उसी array को संदर्भित करते हैं जैसा Confusion Matrixका classes.

  • embedding2D वह UMAP-projected 2D coordinate है जिसका उपयोग वेक्टर विश्लेषण plot में किया जाता है।

  • विभिन्न confidence मान अलग-अलग stats लौटाते हैं - predictions threshold के साथ बदलते हैं। ध्यान दें कि मनमाने confidence मान केवल उन thresholds के लिए सफल होंगे जिन्हें eval pipeline ने materialized किया है; unmaterialized variants लौटाते हैं 404 report_not_found.

  • पृष्ठांकन लागत: प्रत्येक पृष्ठ पूरी model_eval_results.json फ़ाइल को storage से फिर पढ़ता है और server-side पर slice करता है। बहुत बड़े image_results arrays के लिए, बड़े limit मानों (तक 1000) को कई छोटे पृष्ठों के बजाय प्राथमिकता दें ताकि प्रति-पृष्ठ fixed cost कम हो सके।

अनुशंसाएँ

पूर्ण मूल्यांकन से उत्पन्न मॉडल सुधार अनुशंसाएँ लौटाता है - class-imbalance चेतावनियाँ, missed-detection पैटर्न, और आपके dataset में क्या जोड़ना है या कैसे retrain करना है, इस बारे में अन्य actionable सुझाव।

यह वह डेटा है जिसे ऐप का मॉडल सुधार अनुशंसाएँ panel पढ़ता है।

यह endpoint केवल-पठन. अनुशंसाएँ training completion के साइड इफ़ेक्ट के रूप में (या legacy in-app "Refresh Recommendations" action के माध्यम से) उत्पन्न होती हैं। यदि वे अभी तक उत्पन्न नहीं हुई हैं, तो प्रतिक्रिया है 200 {"generated": false} - ध्यान दें कि यह है यहाँ मान्य नहीं है - per-class metrics splits के बीच aggregate नहीं किए जा सकते। एक 409 EVAL_NOT_DONE. मूल्यांकन है पूर्ण हो चुका है; इसमें बस वैकल्पिक recommendations side-output नहीं है। अन्य panel endpoints (map-results, confidence-sweep, आदि) लौटाते हैं 409 EVAL_NOT_DONE जब उनका backing data अनुपलब्ध हो, क्योंकि वह data evaluation का अभिन्न हिस्सा है; recommendations नहीं हैं।

प्रतिक्रिया (अनुशंसाएँ उपलब्ध)

प्रतिक्रिया (अभी तक उत्पन्न नहीं)

अंतिम अपडेट

क्या यह उपयोगी था?