डेटासेट के साथ काम करना
AY-Robots पर हर टेलीऑपरेशन सेशन LeRobot फ़ॉर्मैट में स्ट्रक्चर्ड डेमोंस्ट्रेशन डेटा बनाता है, जो मैनिपुलेशन डेटा के लिए वास्तविक मानक इंटरचेंज फ़ॉर्मैट है। यह पेज बताता है कि एक डेटासेट में क्या होता है, डैशबोर्ड में एपिसोड कैसे जांचें और क्यूरेट करें, मर्जिंग कैसे काम करती है, और मार्केटप्लेस कहां फ़िट होता है।
अंतिम अपडेट 2026-08-09
LeRobot डेटासेट फ़ॉर्मैट
AY-Robots सभी डेमोंस्ट्रेशन डेटा को Hugging Face द्वारा बनाए रखे गए LeRobot डेटासेट फ़ॉर्मैट में स्टोर करता है। इसका व्यावहारिक फ़ायदा पोर्टेबिलिटी है: यहां रिकॉर्ड किया गया डेटासेट सीधे LeRobot-आधारित ट्रेनिंग कोड में लोड होता है, और कहीं और उसी फ़ॉर्मैट में रिकॉर्ड किए गए डेटासेट बिना किसी कन्वर्ज़न के प्लेटफ़ॉर्म पर अपलोड और इस्तेमाल किए जा सकते हैं।
एक डेटासेट एपिसोड का संग्रह है। एक एपिसोड किसी टास्क का एक पूरा प्रयास है, एक तय शुरुआती स्थिति से लेकर उस बिंदु तक जहां आपने रिकॉर्डिंग रोकी। डिस्क पर, एक एपिसोड तीन तरह की फ़ाइलों में बंटा होता है: न्यूमेरिक स्ट्रीम वाली एक Parquet फ़ाइल, हर कैमरे के लिए एक वीडियो फ़ाइल, और सब कुछ जोड़ने वाला मेटाडेटा।
| पाथ | कंटेंट |
|---|---|
| data/.../episode_XXXXXX.parquet | हर एपिसोड के लिए एक Parquet फ़ाइल: फ़्रेम-दर-फ़्रेम टाइमस्टैम्प, observation state, और actions |
| videos/... | हर एपिसोड में हर कैमरे के लिए एक MP4, Parquet डेटा के साथ फ़्रेम-अलाइन्ड |
| meta/info.json | डेटासेट-स्तर का मेटाडेटा: robot type, fps, feature schema, और एपिसोड व फ़्रेम काउंट |
| meta/episodes.jsonl | हर एपिसोड के लिए एक लाइन, उसके इंडेक्स, लंबाई, और उससे जुड़े टास्क के साथ |
| meta/tasks.jsonl | वे प्राकृतिक-भाषा टास्क स्ट्रिंग जिन्हें एपिसोड इंडेक्स के ज़रिए रेफ़र करते हैं |
info.json में मौजूद feature schema वही है जिसे ट्रेनिंग कोड आपका डेटा समझने के लिए पढ़ता है: कौन-कौन से observation key मौजूद हैं, उनके shape, और रिकॉर्डिंग की दर। दो डेटासेट तभी संगत हैं जब उनका schema मेल खाता हो, और मर्ज वेलिडेशन ठीक यही जांचता है।
जॉइंट वैल्यू प्रतिशत हैं, डिग्री नहीं
AY-Robots डेटासेट में सभी जॉइंट वैल्यू LeRobot-नॉर्मलाइज़्ड हैं: हर वैल्यू -100 से 100 के बीच होती है और उस जॉइंट की कैलिब्रेटेड रेंज के प्रतिशत को दर्शाती है, न कि डिग्री में कोई एंगल। 0 की रीडिंग कैलिब्रेटेड रेंज के बीच का बिंदु है, -100 और 100 इसकी सीमाएं हैं।
भौतिक आर्म के बीच सर्वो के ज़ीरो पॉइंट अलग-अलग होते हैं, इसलिए दो SO-100 यूनिट के रॉ एंगल अलग-अलग पोज़ बताते हैं। कैलिब्रेटेड रेंज तक नॉर्मलाइज़ करना रिकॉर्डिंग को आर्म के बीच तुलनीय बनाता है और यही LeRobot ट्रेनिंग पाइपलाइन उम्मीद करती हैं। अगर आपको अपनी टूलिंग के लिए एंगल चाहिए, तो अपने कैलिब्रेशन डेटा का इस्तेमाल करके कन्वर्ट करें; प्लेटफ़ॉर्म डिग्री स्टोर नहीं करता।
डैशबोर्ड में क्लाउड डेटासेट
Dashboard > Datasets आपके क्लाउड डेटासेट को एपिसोड काउंट, फ़ाइल साइज़, और संग्रह स्थिति के साथ सूचीबद्ध करता है। टेलीऑपरेशन सेशन डेटा रिकॉर्ड करने पर डेटासेट अपने आप बनते हैं, और आप एक को साफ़ तौर पर बना भी सकते हैं और डेस्कटॉप क्लाइंट से रिकॉर्डिंग अपलोड करके उसे भर सकते हैं।
- बनाएं: नए डेटासेट सेशन से अपने आप दिखते हैं, या एक खाली बनाएं और उसमें अपलोड करें।
- नाम बदलें: कभी भी डिस्प्ले नाम बदलें; यह बदलाव खुद डेटा को नहीं छूता।
- हटाएं: डेटासेट और उसके सभी एपिसोड व फ़ाइलों को हटा देता है। हटाना स्थायी है, इसलिए अगर डेटा दोबारा चाहिए हो सकता है तो पहले एक आर्काइव डाउनलोड कर लें।
एपिसोड ब्राउज़र
किसी डेटासेट को खोलने पर आप एपिसोड ब्राउज़र में पहुंचते हैं। हर एपिसोड में उसके कैमरा स्ट्रीम के लिए एक वीडियो प्लेयर और सिंक्रोनाइज़्ड जॉइंट चार्ट होते हैं जो पूरे एपिसोड में नॉर्मलाइज़्ड जॉइंट वैल्यू को प्लॉट करते हैं। वीडियो को स्क्रब करने पर चार्ट कर्सर भी साथ हिलता है, जिससे समस्याएं पकड़ना तेज़ हो जाता है: झटकेदार अप्रोच चार्ट में स्पाइक के रूप में दिखता है, वीडियो देखने से पहले ही असफल ग्रास्प ग्रिपर चैनल में दिख जाता है।
एपिसोड लेबल: Success, Recovery, Failure
हर एपिसोड तीन में से एक लेबल ले सकता है। Success किसी टास्क के साफ़-सुथरे डेमोंस्ट्रेशन को चिह्नित करता है। Recovery उस एपिसोड को चिह्नित करता है जहां प्रयास के बीच में कुछ गलत हुआ और आपने उसे सुधारा; ये कीमती होते हैं क्योंकि ये पॉलिसी को वापस पटरी पर आना सिखाते हैं। Failure उन एपिसोड को चिह्नित करता है जो लक्ष्य तक नहीं पहुंचे और आमतौर पर ट्रेनिंग से बाहर रखे जाने चाहिए। समीक्षा करते समय लेबल लगाना उस पॉलिसी को डीबग करने से कहीं सस्ता है जिसने चुपचाप खराब डेमोंस्ट्रेशन से सीखा हो।
डेटासेट मर्ज करना
मर्जिंग कई रिकॉर्डिंग को मिलाकर एक बड़ा डेटासेट बनाती है, जैसे एक ही टास्क पर हफ़्ते भर के सेशन या दो कैलिब्रेटेड आर्म से आई रिकॉर्डिंग। मर्ज कई tar.gz आर्काइव लेता है, जिनमें से हर एक में एक LeRobot डेटासेट होता है, और फिर से इंडेक्स किए गए एपिसोड के साथ एक अकेला डेटासेट बनाता है।
- 1आर्काइव तैयार करें
हर इनपुट एक पूरा LeRobot डेटासेट होना चाहिए जो tar.gz आर्काइव के रूप में पैक हो, जिसमें इसकी meta डायरेक्टरी भी शामिल हो। info.json के बिना अधूरे आर्काइव को वेलिडेट नहीं किया जा सकता और उन्हें अस्वीकार कर दिया जाता है।
- 2कई आर्काइव अपलोड करें
Dashboard > Datasets में, एक मर्ज शुरू करें और उन सभी tar.gz आर्काइव को चुनें जिन्हें आप एक साथ मिलाना चाहते हैं।
- 3वेलिडेशन
प्लेटफ़ॉर्म जांचता है कि सभी इनपुट में fps, feature schema, और robot_type मेल खाते हों। अगर इनमें से कोई भी अलग हो, तो मर्ज को उस बेमेल की वजह के साथ अस्वीकार कर दिया जाता है, क्योंकि असंगत स्ट्रीम वाला एक मिला हुआ डेटासेट ट्रेनिंग को चुपचाप खराब कर देगा।
- 4नतीजे की समीक्षा करें
मिला हुआ डेटासेट आपकी सूची में मिले हुए एपिसोड काउंट के साथ दिखता है। एपिसोड ब्राउज़र खोलें और ट्रेन करने से पहले हर स्रोत के कुछ एपिसोड जांच लें।
ये तीन संगतता नियम जानबूझकर सख़्त हैं। फ़्रेम रेट का बेमेल होना हर टाइमस्टेप का मतलब बदल देता है, schema का बेमेल होना लोडर को पूरी तरह तोड़ देता है, और अलग-अलग robot type मिलाना ऐसा डेटासेट बनाता है जिस पर कोई भी पॉलिसी काम नहीं कर सकती। अगर आपको एक ही मॉडल के अलग-अलग आर्म से डेटा मिलाना है, तो यह ठीक है: robot_type मॉडल को दर्शाता है, भौतिक यूनिट को नहीं।
डेटासेट मार्केटप्लेस
मार्केटप्लेस आपको दूसरों द्वारा रिकॉर्ड किए गए डेटासेट खरीदने और अपने खुद के बेचने देता है। खरीदे गए डेटासेट आपके डैशबोर्ड में आपकी अपनी रिकॉर्डिंग जैसे ही LeRobot ले-आउट में आते हैं, इसलिए वे बिना किसी अतिरिक्त कदम के एपिसोड ब्राउज़र, मर्जिंग, और ट्रेनिंग के साथ काम करते हैं।
अगर आप बेच रहे हैं, तो लिस्ट करने से पहले क्यूरेट करें। एपिसोड की समीक्षा करें, ईमानदारी से लेबल लगाएं, और पक्का करें कि टास्क स्ट्रिंग यह बताती है कि रिकॉर्डिंग में असल में क्या होता है। आपके डेटासेट को आंकने वाला खरीदार वही एपिसोड ब्राउज़र देखता है जो आप देखते हैं, और साफ़ लेबल व लगातार डेमोंस्ट्रेशन वाले डेटासेट आपने कभी रिकॉर्ड की हर चीज़ के कच्चे डंप से कहीं ज़्यादा कीमती होते हैं।
अक्सर पूछे जाने वाले प्रश्न
एक सामान्य एपिसोड कितना बड़ा होता है?▾
सीन की जटिलता के आधार पर, 30 fps पर दो कैमरों वाले 10 से 20 सेकंड के एपिसोड के लिए लगभग 5 से 15 MB। कुछ सौ एपिसोड वाला एक गंभीर डेटासेट कुछ गीगाबाइट के दायरे में होता है।
क्या मैं अपने डेटासेट डाउनलोड कर सकता हूं?▾
हां। डेटासेट डैशबोर्ड से आर्काइव के रूप में डाउनलोड किए जा सकते हैं। चूंकि ले-आउट मानक LeRobot है, डाउनलोड सीधे LeRobot टूलिंग और आपके अपने ट्रेनिंग कोड के साथ काम करता है।
क्या मैं अलग-अलग robot type के डेटासेट मर्ज कर सकता हूं?▾
नहीं। मर्ज के लिए सभी इनपुट में fps, feature schema, और robot_type का मेल खाना ज़रूरी है। एक ही मॉडल के दो अलग-अलग भौतिक आर्म से आया डेटा मिलाया जा सकता है, बशर्ते दोनों आर्म कैलिब्रेटेड हों।
क्या जॉइंट चार्ट डिग्री दिखाते हैं?▾
नहीं। सभी जॉइंट वैल्यू LeRobot-नॉर्मलाइज़्ड हैं और -100 से 100 की रेंज में, हर जॉइंट की कैलिब्रेटेड रेंज के प्रतिशत के रूप में। यह ठीक वही है जो Parquet फ़ाइलों में स्टोर होता है।
जब मैं कोई डेटासेट हटाता हूं तो क्या होता है?▾
डेटासेट और उसके सभी एपिसोड, वीडियो, और मेटाडेटा स्थायी रूप से हट जाते हैं। इसे वापस लाने का कोई तरीका नहीं है, इसलिए अगर आप निश्चित नहीं हैं तो पहले एक आर्काइव डाउनलोड कर लें।
अपने टेलीऑपरेशन डेटासेट पर क्लाउड में ACT, Diffusion Policy, SmolVLA, और GR00T फ़ाइन-ट्यून ट्रेन करें, फिर ट्रेन की गई पॉलिसी को अपनी आर्म पर चलाएं।
macOS, Windows, या Linux पर AY-Robots डेस्कटॉप ऐप इंस्टॉल करें, गाइडेड फ़्लो से SO-100 एपिसोड रिकॉर्ड करें, LeRobot डेटा एक्सपोर्ट करें, और CLI व MCP इस्तेमाल करें।