मुख्य कंटेंट तक स्किप करें

कस्टम डिटेक्टर मॉडल का प्रशिक्षण

Roboflow, Google Colab और अपने खुद के डेटासेट के साथ, आप Limelight के लिए कस्टम डिटेक्टर मॉडल को जल्दी से प्रशिक्षित कर सकते हैं।

यहाँ उन चरणों का अवलोकन है जो आपको उठाने होंगे:

  • रुचि की वस्तुओं की छवियों को एकत्र और एनोटेट करें।
    • इस संदर्भ में, "एनोटेशन" रुचि की वस्तुओं के चारों ओर बाउंडिंग बॉक्स बनाने की प्रक्रिया है। यह सब Roboflow के वेब इंटरफेस के भीतर किया जा सकता है।
    • वैकल्पिक रूप से, आप Roboflow Universe से एक सार्वजनिक डेटासेट चुन सकते हैं
  • एनोटेट किए गए डेटासेट को .tfrecord के रूप में निर्यात करें, Google Drive पर अपलोड करें, और Google Colab के साथ हमारे मुफ्त प्रशिक्षण नोटबुक का उपयोग करें।
    • Google Colab आपको मुफ्त में क्लाउड पर शक्तिशाली GPU का उपयोग करके न्यूरल नेटवर्क को प्रशिक्षित करने की अनुमति देता है।

ट्यूटोरियल:

1. डेटासेट

Limelight प्रशिक्षण नोटबुक एक ज़िप की गई .tfrecord डेटासेट की अपेक्षा करता है। Roboflow एक क्लिक के साथ .tfrecord आर्काइव निर्यात कर सकता है।

आप Roboflow के साथ अपना खुद का डेटासेट बना सकते हैं, या पूर्व-एनोटेट किए गए डेटासेट के लिए Roboflow Universe ब्राउज़ कर सकते हैं।

यदि आप अपना खुद का डेटासेट बनाने का विकल्प चुनते हैं, तो निम्नलिखित पढ़ें:

  • आपको अपने डेटासेट की विविधता को अधिकतम करना चाहिए। आपके डेटासेट की विविधता उससे अधिक होनी चाहिए जो आपका Limelight तैनात होने के बाद देखेगा।

  • आपके डेटासेट की गुणवत्ता और सटीकता अत्यंत महत्वपूर्ण हैं। सुनिश्चित करें कि आपके बाउंडिंग बॉक्स सटीक हैं और एक ही परंपरा का पालन करते हैं। उदाहरण के लिए, आंशिक रूप से छिपी हुई वस्तु का बाउंडिंग बॉक्स केवल वस्तु के दिखाई देने वाले भाग को ही कैप्चर करना चाहिए।

  • क्लास लेबल के लिए सभी लोअरकेस अक्षरों का उपयोग करें

  • क्लास लेबल की संख्या को कम करें।

  • Roboflow के ऑगमेंटेशन का उपयोग करें, लेकिन सुनिश्चित करें कि वे समझ में आते हैं। उदाहरण के लिए, यदि आप लाल और नीली गेंदों का पता लगा रहे हैं, तो सुनिश्चित करें कि आप अपने ऑगमेंटेड डेटासेट में रंग को उलट या अत्यधिक संशोधित नहीं कर रहे हैं।

एक बार जब आप डेटासेट को लेबल कर लें या खोज लें, तो इसे Tensorflow TFRecord के रूप में निर्यात करने के लिए Roboflow के "Download Dataset" बटन का उपयोग करें। इस आर्काइव को अपने Google Drive पर अपलोड करें।

2. मॉडल का प्रशिक्षण

अपने कस्टम डिटेक्टर को प्रशिक्षित करने के लिए, Limelight डिटेक्टर प्रशिक्षण नोटबुक के साथ एक Google Colab सत्र शुरू करें।

नोटबुक को किसी कोड परिवर्तन की आवश्यकता नहीं है। अपने मॉडल को प्रशिक्षित करने के लिए इन चरणों का पालन करें:

खंड 1

  1. पहले खंड को विस्तृत करें, और पहले तीन कोड ब्लॉक के ऊपरी-बाएं कोने में प्ले बटन पर क्लिक करें। समय बचाने के लिए अंतिम "टेस्टिंग" कोड ब्लॉक को छोड़ा जा सकता है।

खंड 2

  1. दूसरे खंड को विस्तृत करें। अपने Colab सत्र में "Files" पेन में अपना google drive फ़ोल्डर माउंट करने के लिए पहले ब्लॉक के प्ले बटन पर क्लिक करें। स्क्रीन के बाईं ओर फ़ोल्डर बटन पर क्लिक करके फ़ाइल्स पेन खोलें।

  2. एक बार जब आपका Google Drive माउंट हो जाए, तो "Files" पेन में रिफ्रेश बटन पर क्लिक करें। gdrive फ़ोल्डर में पहले से अपलोड की गई .tfrecord.zip फ़ाइल को चुनने के लिए इस खंड में दूसरे कोड ब्लॉक को चलाएं। फ़ाइल ढूंढें, और "select" बटन पर क्लिक करें।

  3. TFRecord को अनज़िप और मान्य करने के लिए अगले दो कोड ब्लॉक चलाएं।

खंड 3

  1. प्रशिक्षण की तैयारी के लिए खंड 3 में सभी कोड ब्लॉक चलाएं

खंड 4

  1. प्रशिक्षण शुरू करने के लिए खंड 4 में सभी कोड ब्लॉक चलाएं।

  2. जब प्रशिक्षण स्क्रिप्ट चल रही हो, आप प्रगति की निगरानी के लिए फ़ाइल्स पेन और tensorboard को रिफ्रेश कर सकते हैं। हर 2000 चरणों में "training_progress" फ़ोल्डर में एक नया चेकपॉइंट दिखाई देना चाहिए।

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

खंड 5 - 7

  1. लेबल्स फ़ाइल जनरेट करने और मॉडल को संगत FlatBuffer फ़ॉर्मेट में कनवर्ट करने के लिए खंड 5 में सभी कोड ब्लॉक चलाएं
  2. INT8 / 8bit इन्फरेंस के लिए मॉडल को क्वांटाइज़ करने के लिए खंड 6 में सभी कोड ब्लॉक चलाएं।
  3. Google Coral और Limelight के लिए मॉडल तैयार करने के लिए खंड 7 में सभी कोड ब्लॉक चलाएं। अंतिम कोड ब्लॉक में कुछ समय लगेगा, और यह प्रशिक्षित मॉडल को .zip फ़ाइल के रूप में डाउनलोड करेगा।

Limelight पर अपलोड करें

  1. अपने Colab सत्र से आर्काइव को अनज़िप करें।
  2. FTC टीमें - यदि आपके पास Limelight3A है, तो 8bit tflite मॉडल और labels.txt अपलोड करें। आपको रनटाइम इंजन को "coral" से "cpu" में बदलना होगा
  3. FRC टीमें - यदि आपके पास google coral है, तो limelight_neural_detector_coral.tflite और labels.txt फ़ाइलों को अपने Limelight पर अपलोड करें।