प्रशिक्षित मॉडलों का मूल्यांकन करें
अपने टेस्ट डेटासेट पर आपका मॉडल कैसा प्रदर्शन करता है, यह जानने के लिए मॉडल मूल्यांकन का उपयोग करें।
के बारे में
मॉडल मूल्यांकन दिखाते हैं:
एक प्रोडक्शन मेट्रिक्स एक्सप्लोरर, जो आपको अपने मॉडल को चलाने के लिए उपयुक्ततम कॉन्फ़िडेंस थ्रेशहोल्ड खोजने में मदद करता है;
मॉडल सुधार सुझाव, जो यह बताते हैं कि आप अपने मॉडल की सटीकता कैसे बढ़ा सकते हैं;
क्लास के अनुसार प्रदर्शन, जो दिखाता है कि आपका मॉडल विभिन्न क्लासों की पहचान कितनी अच्छी तरह करता है;
एक confusion matrix, जिसका उपयोग आप उन विशिष्ट क्लासों को खोजने के लिए कर सकते हैं जिनमें आपका मॉडल अच्छा करता है और जहाँ उसे कठिनाई होती है, और;
एक इंटरैक्टिव वेक्टर एक्सप्लोरर, जो आपको उन इमेज क्लस्टर्स की पहचान करने देता है जहाँ आपका मॉडल अच्छा या खराब प्रदर्शन करता है;
आप अपने मॉडल में सुधार के क्षेत्रों की पहचान करने के लिए मॉडल मूल्यांकन का उपयोग कर सकते हैं।
पेड उपयोगकर्ताओं द्वारा 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 के।
नोट्स
mAPIoU 0.5 पर mean Average Precision है (map50)। यहnullगैर-डिटेक्शन मूल्यांकन कार्यों के लिए होता है (जैसे वर्गीकरण, semantic segmentation)।mIoUforeground macro mean Intersection-over-Union है। यह केवल semantic segmentation evaluations के लिए भरा जाता है औरnullअन्यथा null होता है।precisionऔरrecalltest split के लिए F1-optimal confidence threshold पर रिपोर्ट किए जाते हैं।evalIdवही पहचानकर्ता है जो हर panel response में अंतर्निहित होता है -modelEvals.getpayload संरचनात्मक रूप से किसी भी panel payload का superset है, इसलिए एकsummary-augmentedmodelEvals.getऔर एकgetMapResultsresponse को उसी client code path के माध्यम से render किया जा सकता है।projectproject का 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_95IoU thresholds 0.5 से 0.95 तक 0.05 के चरणों में औसत mAP है (COCO standard)। Object-size buckets हैंnullजब split में उस आकार के कोई instances न हों। Per-class entriesperClassके अंतर्गत class name द्वारा key की जाती हैं।Semantic segmentation: सभी मीट्रिक्स foreground classes पर pixel-level macro means हैं (background को छोड़कर)।
mioumean 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का आकार समान होता है, केवल nestedperClass.
क्लास के अनुसार प्रदर्शन
एक 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के बजाय।optimalThresholdconfidence 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 classbackground(matrix[2][0] = 80)test split में कोई
music-noteinstances
नोट्स
confidenceयह चुनता है कि रिपोर्ट के किस अंतर्निहित per-confidence variant को समेकित किया जाए। अलग-अलग thresholds अलग matrices देती हैं।split=alltrain, 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.
प्रतिक्रिया
नोट्स
imageIdRoboflow 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_resultsarrays के लिए, बड़े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 नहीं हैं।
प्रतिक्रिया (अनुशंसाएँ उपलब्ध)
प्रतिक्रिया (अभी तक उत्पन्न नहीं)
अंतिम अपडेट
क्या यह उपयोगी था?