Active Learning
समीक्षा और retraining के माध्यम से अपने model को लगातार बेहतर बनाने के लिए production inference data इकट्ठा करें।
के बारे में
एक्टिव लर्निंग आपके डिप्लॉय किए गए मॉडलों से उत्पादन डेटा एकत्र करती है और उसे समीक्षा तथा पुनः-प्रशिक्षण के लिए प्रस्तुत करती है। जब आपका मॉडल उत्पादन में इन्फरेंस चलाता है, तो एक्टिव लर्निंग आपके द्वारा कॉन्फ़िगर किए गए नियमों के आधार पर स्वतः छवियों का नमूना लेती है (जैसे कम-विश्वास वाले पूर्वानुमान या विशिष्ट श्रेणियाँ) और उन्हें मानवीय समीक्षा के लिए कतार में डालती है।
एक्टिव लर्निंग के लिए क्लाउड डिप्लॉयमेंट आवश्यक है। यह Annotation Review सुविधा वाले प्लान्स पर उपलब्ध है।
वेब ऐप
एक्टिव लर्निंग सक्षम करें
अपना प्रोजेक्ट खोलें और बाएँ साइडबार में "एक्टिव लर्निंग" चुनें।
एक्टिव लर्निंग चालू करें।
एक्टिव लर्निंग द्वारा डेटा एकत्र करने के लिए आपके प्रोजेक्ट में एक प्रशिक्षित मॉडल और एक सक्रिय क्लाउड डिप्लॉयमेंट होना चाहिए।
संग्रह नियम कॉन्फ़िगर करें
एक्टिव लर्निंग में कॉन्फ़िगरेशन की दो श्रेणियाँ होती हैं: संग्रह सीमाएँ और शर्तें।
संग्रह सीमाएँ
यह नियंत्रित करें कि एक्टिव लर्निंग कितना डेटा एकत्र करती है:
सैंपलिंग दर: इन्फरेंस के कितने प्रतिशत को नमूना लेना है (उदा: 0.5%)
प्रति-मिनट, प्रति-घंटे, और दैनिक छवि सीमाएँ
संपीड़न स्तर और अधिकतम छवि आयाम
बैच पुनः-निर्माण आवृत्ति (दैनिक, साप्ताहिक, मासिक, या कभी नहीं)
क्या मॉडल पूर्वानुमानों को एकत्रित छवियों के साथ बनाए रखना है
इन सेटिंग्स को संपादित करने के लिए, "संपादित करें" पर क्लिक करें Collection Limits अनुभाग में और कॉन्फ़िगरेशन मोडल में मान अपडेट करें।
शर्तें
शर्तें यह फ़िल्टर करती हैं कि कौन-सी छवियाँ एकत्र की जाएँगी। आप अपने मॉडल प्रकार के आधार पर नियम परिभाषित कर सकते हैं:
विश्वास-सीमाएँ (उदा: ऐसी छवियाँ एकत्र करें जहाँ विश्वास 60% से नीचे हो)
रुचि की विशिष्ट श्रेणियाँ
डिटेक्शन संख्या आवश्यकताएँ
शर्तें सेट अप करने के लिए, Conditions अनुभाग में "संपादित करें" पर क्लिक करें।
एजेंट से एक्टिव लर्निंग प्रबंधित करें
आप एक्टिव लर्निंग को यहाँ भी प्रबंधित कर सकते हैं Roboflow Agent। एक प्रोजेक्ट टैब खोलें, "सेटिंग्स" चुनें, और इस पेज की तरह ही वही टॉगल, Collection Limits, और Conditions उपयोग करें। इसके लिए Manage Workflows, Publish Workflows, और Dataset Active Learning अनुमतियाँ चाहिए।
संग्रहित छवियों की समीक्षा करें
जैसे-जैसे एक्टिव लर्निंग छवियाँ एकत्र करती है, वे Active Learning पेज के Images अनुभाग में दिखाई देती हैं। यह पेज समीक्षा के लिए तैयार छवियों और वर्तमान में समीक्षा की जा रही छवियों की संख्या दिखाता है।
समीक्षा शुरू करने के लिए:
"Review Images" पर क्लिक करके समीक्षा कतार खोलें।
बैचों को स्थिति के अनुसार ब्राउज़ करें (Not Started, In Progress) और निर्माण तिथि, छवि संख्या, या प्रगति के अनुसार क्रमबद्ध करें।
समीक्षा शुरू करने के लिए एक बैच चुनें।
समीक्षकों को असाइन करें
आप अपनी टीम में समीक्षा कार्य वितरित कर सकते हैं:
समीक्षा कतार खोलें और एक बैच चुनें।
समीक्षकों को असाइन करने के लिए क्लिक करें।
टीम सदस्यों को चुनें, असाइन की जाने वाली छवियों की संख्या सेट करें, और वैकल्पिक रूप से समीक्षा निर्देश जोड़ें।
यह यादृच्छिक बनाने के लिए "Shuffle Images" टॉगल करें कि प्रत्येक समीक्षक को कौन-सी छवियाँ मिलेंगी।
जब छवियाँ उन्हें असाइन की जाती हैं, तो समीक्षकों को सूचित किया जाता है। आप किसी भी समय छवियों को किसी अन्य समीक्षक को पुनः असाइन कर सकते हैं।
आपके प्रशिक्षण लूप में एक्टिव लर्निंग कैसे फिट होती है
सामान्य कार्यप्रवाह:
एक मॉडल को प्रशिक्षित करें और डिप्लॉय करें।
अपने उपयोग-केस के अनुसार ट्यून की गई शर्तों के साथ एक्टिव लर्निंग सक्षम करें।
आपकी शर्तों से मेल खाने वाला उत्पादन डेटा एकत्र किया जाता है और कतार में डाला जाता है।
समीक्षक एकत्रित छवियों को लेबल करते हैं।
समीक्षित छवियों को अपने डेटासेट में जोड़ें और अपने मॉडल को बेहतर बनाने के लिए पुनः प्रशिक्षित करें।
इससे एक फीडबैक लूप बनता है, जहाँ आपका मॉडल उन मामलों में बेहतर होता जाता है जहाँ उसे सबसे अधिक कठिनाई होती है।
HTTP API
Active Learning को सक्षम या अक्षम करने, संग्रह नियम अपडेट करने, और समीक्षा कतार में छवियों की सूची देखने के लिए HTTP API का उपयोग करें। एंडपॉइंट्स उपयोग करते हैं https://api.roboflow.com और इसमें API कुंजी चाहिए होती है api_key क्वेरी पैरामीटर, अनुरोध बॉडी, या bearer प्राधिकरण हेडर में।
एक्टिव लर्निंग कॉन्फ़िगरेशन प्राप्त करें
GET /:workspace/:project/deploy/active-learning
आवश्यक स्कोप: project:read
प्रतिक्रिया में Project, deployment Workflow, चयनित मॉडल, deployability, और Active Learning कॉन्फ़िगरेशन शामिल होते हैं:
एक्टिव लर्निंग सक्षम करें
POST /:workspace/:project/deploy/active-learning/enable
आवश्यक स्कोप: project:update
यदि कोई मॉडल कॉन्फ़िगर नहीं है, तो सेवा एक मॉडल चुनने का प्रयास करती है। एक 400 प्रतिक्रिया का अर्थ है कि Workflow डिप्लॉय करने योग्य नहीं है। प्रतिक्रिया का स्वरूप वही होता है जैसा एक्टिव लर्निंग कॉन्फ़िगरेशन प्राप्त करेंका, साथ activeLearning.enabled को true.
एक्टिव लर्निंग अक्षम करें
POST /:workspace/:project/deploy/active-learning/disable
आवश्यक स्कोप: project:update
प्रतिक्रिया का स्वरूप वही होता है जैसा एक्टिव लर्निंग कॉन्फ़िगरेशन प्राप्त करेंका, साथ activeLearning.enabled को false.
एक्टिव लर्निंग कॉन्फ़िगरेशन अपडेट करें
POST /:workspace/:project/deploy/active-learning/configuration
आवश्यक स्कोप: project:update
नए प्रोजेक्ट पर कॉन्फ़िगर करने से पहले Active Learning सक्षम करें। अनुरोध में शामिल होना चाहिए collectionLimits। filters ऐरे वैकल्पिक है। यदि आप इसे छोड़ देते हैं, तो मौजूदा फ़िल्टर नहीं बदलेंगे।
आवश्यक संग्रह सीमा फ़ील्ड हैं:
dataPercentage: एकत्र किए जाने वाले इन्फरेंस का प्रतिशत,0से100minutelyUsageLimit: प्रति-मिनट एकत्र की जाने वाली अधिकतम छवियाँ, या0असीमित के लिएhourlyUsageLimit: प्रति-घंटे एकत्र की जाने वाली अधिकतम छवियाँdailyUsageLimit: प्रति-दिन एकत्र की जाने वाली अधिकतम छवियाँlabelingBatchesRecreationFrequency:"never","daily","weekly", या"monthly"usageQuotaName: एक गैर-रिक्त कोटा पहचानकर्ता
वैकल्पिक फ़ील्ड हैं imageCompressionLevel, imageName, registrationTags, और persistPredictions। छवियों का आकार बदलने के लिए, दोनों प्रदान करें maxImageHeight और maxImageWidth। केवल एक देने पर मौजूदा छवि आकार सीमा हट जाती है।
एक्टिव लर्निंग दो प्रकार के फ़िल्टरों का समर्थन करती है:
classConfidence: चुनी गई श्रेणियों के लिए एक विश्वास-सीमा के भीतर पूर्वानुमान एकत्र करें।classFilterModeहो सकता है"any","in", या"out".detectionSize: निम्न के बीच बाउंडिंग बॉक्स वाले पूर्वानुमान एकत्र करेंsizeLowerPercentageऔरsizeUpperPercentageछवि आकार का। यह फ़िल्टर केवल ऑब्जेक्ट डिटेक्शन और instance segmentation प्रोजेक्ट्स का समर्थन करता है। अन्य Project प्रकार लौटाते हैं400.
प्रतिक्रिया का स्वरूप वही होता है जैसा एक्टिव लर्निंग कॉन्फ़िगरेशन प्राप्त करें। एक 400 प्रतिक्रिया में अमान्य संग्रह सीमाओं या फ़िल्टरों के लिए सत्यापन विवरण शामिल होते हैं।
एक्टिव लर्निंग छवियों की सूची
GET /:workspace/:project/deploy/active-learning/images
आवश्यक स्कोप: project:read
एंडपॉइंट इन वैकल्पिक क्वेरी पैरामीटरों को स्वीकार करता है:
page: पृष्ठ संख्या, शुरू होती है1pageSize: प्रति पृष्ठ आइटम, अधिकतम50search: कतार नामों, प्रकारों, IDs, समीक्षकों, और लेबलरों से मिलाए गए पाठreviewer: समीक्षक ईमेल या"unassigned"status:"all","not_started", या"in_progress"sortBy:"created","images", या"progress"sortDirection:"asc"या"desc"
प्रतिक्रिया में समीक्षा कतार की गिनती, पृष्ठांकित कतार आइटम, बैच, annotation jobs, और छवि कुल शामिल होते हैं:
पायथन SDK
Workspace.active_learning() किसी निर्देशिका की हर छवि पर इन्फरेंस चलाता है और शर्तों के आधार पर छवि (और उसके पूर्वानुमान) को एक गंतव्य प्रोजेक्ट पर अपलोड करता है। यह SDK का अंतर्निहित एक्टिव-लर्निंग लूप है: अपने मौजूदा मॉडल को यह तय करने देकर कि क्या लेबल करने योग्य है, कच्चे फुटेज से एक लेबलिंग कतार तैयार करें।
इसी पैटर्न को सबसे बेहतर एक वर्कफ़्लो के रूप में प्रोडक्शन उपयोग के लिए बनाया जाता है, लेकिन active_learning() "मेरे पास फ़्रेमों का एक फ़ोल्डर है" से "लेबल किया गया डेटा प्रोजेक्ट में जा रहा है" तक पहुँचने का सबसे तेज़ रास्ता है।
मूल उपयोग
पैरामीटर
raw_data_location(str) - इनपुट छवियों की निर्देशिका।raw_data_extension(str) - मिलान करने के लिए छवि एक्सटेंशन (उदा..jpg,.png).inference_endpoint(list,[प्रोजेक्ट, संस्करण]) - triage चरण के रूप में चलाने वाला मॉडल।upload_destination(str) - वह प्रोजेक्ट id जिसमें योग्य छवियाँ और पूर्वानुमान अपलोड किए जाएँ। अक्सर मॉडल के समान प्रोजेक्ट।conditionals(dict) - नियम जो तय करते हैं कि कोई छवि अपलोड होगी या नहीं। सामान्य कुंजियाँ:confidence_interval-[min, max]; केवल वे छवियाँ जिनके डिटेक्शन इस सीमा में आते हैं, आगे भेजी जाती हैं।required_class_variance_count- आवश्यक न्यूनतम भिन्न श्रेणियाँ।minimum_size_requirement/maximum_size_requirement- पिक्सेल में डिटेक्शन क्षेत्र के आधार पर फ़िल्टर करें।required_class_count- कुल डिटेक्शन।
use_localhost(bool, defaultFalse) - जबTrue, तो होस्ट किए गए इन्फरेंस के बजाय एक self-hosted Roboflow Inference सर्वर को हिट करें।local_server(str) - स्थानीय इन्फरेंस सर्वर के लिए base URL। डिफ़ॉल्ट हैhttp://localhost:9001/.
इसका उपयोग क्यों करें
सामान्य लूप:
छोटे लेबल किए गए सेट पर एक v1 मॉडल प्रशिक्षित करें।
एक फ़ोल्डर की ओर इंगित करें
active_learning()अलेबल्ड उत्पादन डेटा का।केवल वही छवियाँ आगे भेजें जहाँ मॉडल अनिश्चित है (कम विश्वास) या दुर्लभ श्रेणियाँ देखता है।
उन्हें Roboflow वेब ऐप में लेबल करें।
नए उदाहरणों के साथ v2 बनाएँ और पुनः प्रशिक्षित करें।
ट्यूनिंग conditionals यही इसे "सब कुछ अपलोड करें" से एक वास्तविक triage policy में बदलता है।
बड़े पाइपलाइन
यदि आपका इनपुट एक वीडियो स्ट्रीम है, आपका मॉडल किसी Workflow के पीछे रहता है, या आप batching और retries चाहते हैं, तो इसका समकक्ष एक वर्कफ़्लो. active_learning() के रूप में बनाएँ। स्थिर फ़ोल्डर से एक-बार की bootstraping passes के लिए यह सबसे अच्छा है।
अंतिम अपडेट
क्या यह उपयोगी था?