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

कस्टम डिटेक्टर मॉडल को ट्रेन करना

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

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

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

ट्यूटोरियल:

1. डेटासेट

Limelight Training Notebook एक zipped .tfrecord डेटासेट की अपेक्षा करती है। Roboflow एक क्लिक में .tfrecord आर्काइव एक्सपोर्ट कर सकता है।

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

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

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

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

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

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

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

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

2. मॉडल को ट्रेन करना

अपने कस्टम डिटेक्टर को ट्रेन करने के लिए, Limelight Detector Training Notebook के साथ एक Google Colab Session शुरू करें।

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

Section 1

  1. पहले सेक्शन को विस्तारित करें, और पहले तीन कोड ब्लॉक में से प्रत्येक के ऊपरी-बाएं कोने में प्ले बटन पर क्लिक करें। समय बचाने के लिए अंतिम "testing" कोड ब्लॉक को छोड़ा जा सकता है।
LL4 Technical Drawing
  1. यदि आपको कभी restart बटन दिखाई दे, तो इसे अनदेखा करें।
LL4 Technical Drawing
  1. यदि आपको कभी इस तरह की विंडो दिखाई दे, तो "Cancel" पर क्लिक करें
LL4 Technical Drawing

Section 1.1

  1. सेक्शन को विस्तारित करें, पहला कोड ब्लॉक चलाएं, और अपनी tfrecord.zip फ़ाइल का Google Drive लिंक दर्ज करें। सुनिश्चित करें कि आपकी tfrecord.zip Google Drive में "anyone with the link" के लिए accessible है

Section 2

  1. tfrecord.zip को unzip और parse करने के लिए दो कोड ब्लॉक चलाएं

Section 3

  1. ट्रेनिंग की तैयारी के लिए section 3 में सभी कोड ब्लॉक चलाएं

Section 4

  1. ट्रेनिंग शुरू करने के लिए section 4 में सभी कोड ब्लॉक चलाएं।

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

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

Sections 5 - 7

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

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

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