विषयसूची:

NVIDIA JetBot के साथ ट्रांसफर लर्निंग - ट्रैफिक कोन्स के साथ मज़ा: 6 कदम
NVIDIA JetBot के साथ ट्रांसफर लर्निंग - ट्रैफिक कोन्स के साथ मज़ा: 6 कदम

वीडियो: NVIDIA JetBot के साथ ट्रांसफर लर्निंग - ट्रैफिक कोन्स के साथ मज़ा: 6 कदम

वीडियो: NVIDIA JetBot के साथ ट्रांसफर लर्निंग - ट्रैफिक कोन्स के साथ मज़ा: 6 कदम
वीडियो: NVIDIA JetBot: Jetson Nano Vision-Controlled AI Robot 2024, दिसंबर
Anonim

द्वारा dvillevaldMy GithubFollow के बारे में: मुझे AI और मशीन लर्निंग एप्लिकेशन पसंद हैं, विशेष रूप से रोबोटिक्स में dvillevald के बारे में अधिक »

अपने रोबोट को कैमरा और अत्याधुनिक डीप लर्निंग मॉडल का उपयोग करके ट्रैफ़िक शंकु के चक्रव्यूह में रास्ता खोजना सिखाएं।

आपूर्ति

  • एनवीडिया जेटबॉट

    NVIDIA JetBot Wiki का सामग्री का बिल पृष्ठ लोकप्रिय विक्रेताओं से लिंक खरीदने के साथ-साथ JetBot बनाने के लिए आवश्यक सभी चीज़ों को सूचीबद्ध करता है।

  • NVIDIA GPU के साथ कंप्यूटर

    मॉडल को प्रशिक्षित करने की आवश्यकता

  • ब्लूडॉट ट्रेडिंग 4”आरसी रेसिंग चपलता शंकु, नारंगी - 20 का सेट

चरण 1: प्रेरणा

Image
Image

हर बार जब मैं संकुचन क्षेत्र में ड्राइव करता हूं तो मैं सोचता हूं कि ट्रैफिक शंकु के माध्यम से नेविगेट करने के लिए एक सेल्फ-ड्राइविंग कार के लिए यह कितना चुनौतीपूर्ण होगा। यह पता चला है कि नए एनवीआईडीआईए के जेटबॉट के साथ यह इतना मुश्किल नहीं है - केवल दो सौ छवियों के साथ, आप अपने रोबोट को खिलौना यातायात शंकु के चक्रव्यूह में रास्ता खोजने के तरीके को सिखाने के लिए एक अत्याधुनिक गहन शिक्षण मॉडल को प्रशिक्षित कर सकते हैं। केवल ऑनबोर्ड कैमरे का उपयोग करना और कोई अन्य सेंसर नहीं।

चरण 2: NVIDIA जेटबॉट और परियोजना अवलोकन

NVIDIA जेटबॉट और परियोजना अवलोकन
NVIDIA जेटबॉट और परियोजना अवलोकन

जेटबॉट एक ओपन सोर्स रोबोट है जो एनवीआईडीआईए जेटसन नैनो किट पर आधारित है। आप इसे बनाने और स्थापित करने के तरीके के बारे में विस्तृत निर्देश यहाँ पा सकते हैं।

यह परियोजना NVIDIA JetBot Wiki से एक संशोधित टकराव से बचाव का उदाहरण है। इसमें तीन प्रमुख चरण होते हैं, प्रत्येक को एक अलग ज्यूपिटर नोटबुक में वर्णित किया गया है:

  • JetBot पर डेटा एकत्र करें - नोटबुक data_collection_cones.ipynb
  • अन्य GPU मशीन पर ट्रेन मॉडल - नोटबुक train_model_cones.ipynb
  • JetBot पर लाइव डेमो चलाएँ - नोटबुक live_demo_cones.ipynb

आप ये तीन ज्यूपिटर नोटबुक यहाँ पा सकते हैं

चरण 3: JetBot बनाएँ और Jupyter नोटबुक अपलोड करें

  1. जेटबॉट का निर्माण और सेटअप करें जैसा कि यहां बताया गया है
  2. https://:8888 पर नेविगेट करके अपने रोबोट से कनेक्ट करें डिफ़ॉल्ट पासवर्ड जेटबोट के साथ साइन इन करें
  3. कर्नेल का चयन करके अन्य सभी चल रही नोटबुक्स को शट डाउन करें -> सभी कर्नेल को शटडाउन करें…
  4. ~/नोटबुक/ पर नेविगेट करें
  5. नया सबफ़ोल्डर बनाएं ~/नोटबुक/ट्रैफ़िक_कोन्स_ड्राइविंग/
  6. data_collection_cones.ipynb और live_demo_cones.ipynb को ~/Notebooks/traffic_cones_ddriveing/ पर अपलोड करें

महत्वपूर्ण: इस निर्देश में संदर्भित ज्यूपिटर नोटबुक data_collection_cones.ipynb और live_demo_cones.ipynb को JetBot पर चलाया जाना चाहिए जबकि train_model_cones.ipynb - GPU वाले कंप्यूटर पर।

इसलिए हमें जेटबॉट पर data_collection_cones.ipynb और live_demo_cones.ipynb को अपलोड करना होगा और उन्हें ~/Notebooks/traffic_cones_ddriveing/ में रखना होगा।

चरण 4: JetBot पर प्रशिक्षण डेटा एकत्र करना

हम एक छवि वर्गीकरण डेटासेट एकत्र करेंगे जिसका उपयोग जेटबॉट को ट्रैफिक शंकु के चक्रव्यूह में संचालित करने में मदद करने के लिए किया जाएगा। JetBot चार परिदृश्यों (वर्गों) की संभावनाओं का अनुमान लगाना सीखेगा:

  • मुफ़्त - जब आगे बढ़ना सुरक्षित हो
  • अवरोधित - जब रोबोट के सामने कोई बाधा हो
  • बायां - जब रोबोट को बाईं ओर घूमना चाहिए
  • दाएं - जब रोबोट को दाईं ओर घूमना चाहिए

JetBot पर प्रशिक्षण डेटा एकत्र करने के लिए हम Jupyter नोटबुक data_collection_cones.ipynb का उपयोग करेंगे जिसमें इसे करने के तरीके के बारे में विवरण निर्देश शामिल हैं। इस नोटबुक को JetBot पर चलाने के लिए, अगले चरणों का पालन करें:

  1. https://:jetbot-ip-address::8888. पर नेविगेट करके अपने रोबोट से कनेक्ट करें
  2. डिफ़ॉल्ट पासवर्ड जेटबॉट के साथ साइन इन करें
  3. अन्य सभी चल रहे नोटबुक को कर्नेल का चयन करके शट डाउन करें -> सभी कर्नेल को शटडाउन करें
  4. ~/नोटबुक/ट्रैफिक_कोन्स_ड्राइविंग/ पर नेविगेट करें
  5. data_collection_cones.ipynb नोटबुक खोलें और उसका पालन करें

चरण 5: GPU मशीन पर तंत्रिका नेटवर्क को प्रशिक्षित करें

इसके बाद, हम एकत्रित डेटा का उपयोग ट्रेन_मॉडल_कोन्स.ipynb चलाकर GPU मशीन (होस्ट) पर गहन शिक्षण मॉडल एलेक्सनेट को फिर से प्रशिक्षित करने के लिए करेंगे।

ध्यान दें कि इस ट्यूटोरियल में train_model_cones.ipynb एकमात्र ज्यूपिटर नोटबुक है जो जेटबॉट पर नहीं चलती है।

  1. एक GPU मशीन से कनेक्ट करें जिसमें PyTorch स्थापित हो और एक Jupyter Lab सर्वर चल रहा हो
  2. Train_model_cones.ipynb नोटबुक और इस मशीन पर अपलोड करें
  3. आपके द्वारा data_collection_cones.ipynb नोटबुक में बनाई गई डेटासेट_कोन्स.ज़िप फ़ाइल अपलोड करें और इस डेटासेट को निकालें। (इस चरण के बाद आपको फ़ाइल ब्राउज़र में डेटासेट_कोन्स नाम का एक फ़ोल्डर दिखाई देना चाहिए।)
  4. train_model_cones.ipynb नोटबुक खोलें और उसका पालन करें। इस चरण के अंत में, आप एक मॉडल बनाएंगे - फ़ाइल best_model_cones.pth जिसे लाइव डेमो चलाने के लिए JetBot पर अपलोड करना होगा।

चरण 6: JetBot पर लाइव डेमो चलाएं

JetBot पर लाइव डेमो चलाएं
JetBot पर लाइव डेमो चलाएं

यह अंतिम चरण JetBot पर best_model_cones.pth मॉडल को अपलोड करना और उसे चलाना है।

  1. USB बैटरी पैक से अपने रोबोट को पावर दें
  2. https://:jetbot-ip-address::8888. पर नेविगेट करके अपने रोबोट से वापस कनेक्ट करें
  3. डिफ़ॉल्ट पासवर्ड जेटबोट के साथ साइन इन करें
  4. कर्नेल का चयन करके अन्य सभी चल रही नोटबुक्स को शट डाउन करें -> सभी कर्नेल को शटडाउन करें…
  5. ~/नोटबुक/ट्रैफिक_कोन्स_ड्राइविंग पर नेविगेट करें
  6. live_demo_cones.ipynb नोटबुक खोलें और उसका अनुसरण करें

सतर्क शुरुआत करें और जेटबॉट को घूमने के लिए पर्याप्त जगह दें। विभिन्न शंकु विन्यास का प्रयास करें और देखें कि रोबोट विभिन्न वातावरणों, प्रकाश व्यवस्था आदि में कितना अच्छा प्रदर्शन करता है। जबकि नोटबुक live_demo_cones.ipynb सभी चरणों को विस्तार से बताता है, निम्न चार्ट मॉडल द्वारा अनुमानित संभावनाओं को देखते हुए रोबोट चाल के तर्क को दर्शाता है।

नोटबुक में यह भी बताया गया है कि मॉडल द्वारा भविष्यवाणी की गई मुफ्त/बाएं/दाएं/अवरुद्ध संभावनाओं के साथ रोबोट चाल के इतिहास को कैसे स्टोर किया जाए और सुपरइम्पोज़्ड टेलीमेट्री के साथ दो एफपीवी (फर्स्ट पर्सन व्यू) वीडियो (1 एफपीएस और 15 एफपीएस दरों पर) कैसे बनाया जाए। जेटबॉट कार्रवाई डेटा। वे डिबगिंग, पीआईडी नियंत्रक ट्यूनिंग और मॉडल सुधार के लिए उपयोगी हैं।

मज़े करो और अगर आपके कोई प्रश्न हैं तो मुझे बताएं!:-)

कोड गीथूब पर उपलब्ध है

सिफारिश की: