Android के लिए सेटअप गाइड

यह पेज बताता है कि अपने Android ऐप्लिकेशन में MediaPipe Tasks का इस्तेमाल करने के लिए डेवलपमेंट एनवायरमेंट कैसे सेट अप करें.

वे डिवाइस और प्लैटफ़ॉर्म जिन पर YouTube Kids ऐप्लिकेशन का इस्तेमाल किया जा सकता है

MediaPipe Tasks वाला Android ऐप्लिकेशन बनाने के लिए, आपके डेवलपमेंट एनवायरमेंट को इन चीज़ों की ज़रूरत है:

  • Android Studio के लिए, कम से कम 2021.1.1 (Bumblebee) का सुझाया गया वर्शन या काम करने वाला कोई दूसरा आईडीई डालें.
  • Android SDK का 24 या इसके बाद वाला वर्शन
  • Android डिवाइस में कम से कम SDK टूल का वर्शन होना ज़रूरी है. ऐसा हो सकता है कि Android एम्युलेटर, सभी टास्क के लिए काम न करे.

डेवलपर एनवायरमेंट का सेटअप

किसी Android ऐप्लिकेशन पर MediaPipe टास्क चलाने से पहले, आपके पास या तो एक मौजूदा ऐप्लिकेशन होना चाहिए या अपनी लोकल मशीन पर एक नया Android Studio प्रोजेक्ट बनाना होगा. MediaPipe आपके ऐप्लिकेशन की डेटा लेयर में फ़िट हो जाता है, जिसमें ऐप्लिकेशन डेटा और कारोबारी लॉजिक शामिल होता है. Android ऐप्लिकेशन के आर्किटेक्चर पर ज़्यादा जानकारी के लिए, ऐप्लिकेशन आर्किटेक्चर की गाइड देखें.

Android डिवाइस का सेटअप

अपने ऐप्लिकेशन की जांच करने के लिए असली Android डिवाइस का इस्तेमाल करने से पहले, आपको उस पर 'डेवलपर के लिए सेटिंग और टूल' और यूएसबी डीबग करने की सुविधा को चालू करना होगा. अपने डिवाइस को 'डेवलपर के लिए सेटिंग और टूल' की मदद से कॉन्फ़िगर करने के निर्देशों के लिए, डिवाइस पर डेवलपर के लिए सेटिंग और टूल कॉन्फ़िगर करना देखें.

जिन टास्क के लिए डिवाइस के कैमरे या माइक्रोफ़ोन की ज़रूरत नहीं है उनके लिए किसी फ़िज़िकल Android डिवाइस के बजाय, Android डिवाइस एम्युलेटर का इस्तेमाल किया जा सकता है. Android Emulator सेट अप करने के निर्देशों के लिए, Android Emulator पर ऐप्लिकेशन चलाएं देखें.

कोड सेटअप करने का उदाहरण

MediaPipe के उदाहरण रिपॉज़िटरी में हर MediaPipe टास्क के लिए Android ऐप्लिकेशन के उदाहरण शामिल होते हैं. उदाहरण वाले कोड से प्रोजेक्ट बनाया जा सकता है, प्रोजेक्ट बनाया जा सकता है, और फिर उसे चलाया जा सकता है.

उदाहरण कोड प्रोजेक्ट इंपोर्ट करने और बनाने के लिए:

  1. Android Studio शुरू करें.
  2. Android Studio में जाकर, फ़ाइल > नया > प्रोजेक्ट इंपोर्ट करें चुनें.
  3. उदाहरण के तौर पर दी गई build.gradle फ़ाइल वाली कोड डायरेक्ट्री पर जाएं और वह डायरेक्ट्री चुनें, उदाहरण के लिए: .../mediapipe/examples/text_classification/android/build.gradle
  4. अगर Android Studio, Gradle सिंक का अनुरोध करता है, तो ठीक है को चुनें.
  5. पक्का करें कि आपका Android डिवाइस आपके कंप्यूटर से कनेक्ट है और डेवलपर मोड चालू है. हरे रंग के Run तीर पर क्लिक करें.

सही डायरेक्ट्री चुनने पर, Android Studio एक नया प्रोजेक्ट बनाता है और उस प्रोजेक्ट को बनाता है. आपके कंप्यूटर की रफ़्तार और आपने दूसरे प्रोजेक्ट के लिए Android Studio का इस्तेमाल किया है या नहीं, इसके हिसाब से इस प्रोसेस में कुछ मिनट लग सकते हैं. बिल्ड पूरा होने के बाद, Android Studio आउटपुट जनरेट करें स्टेटस पैनल में, BUILD SUCCESSFUL मैसेज दिखाता है.

प्रोजेक्ट चलाने के लिए:

  1. Android Studio से, Run > Run... चुनकर प्रोजेक्ट चलाएं.
  2. ऐप्लिकेशन की जांच करने के लिए, अटैच किया गया Android डिवाइस (या एम्युलेटर) चुनें.

MediaPipe Tasks डिपेंडेंसी

MediaPipe Tasks विज़न, टेक्स्ट, ऑडियो के लिए पहले से बनी तीन लाइब्रेरी उपलब्ध कराता है. .tflite मॉडल फ़ाइल, उस Android मॉड्यूल की ऐसेट डायरेक्ट्री में होनी चाहिए जो मॉडल का इस्तेमाल करता है. ऐप्लिकेशन में इस्तेमाल किए गए MediaPipe टास्क के आधार पर, build.gradle फ़ाइल में डिपेंडेंसी की सूची में विज़न, टेक्स्ट या ऑडियो लाइब्रेरी जोड़ें.

जनरेटिव एआई के टास्क

MediaPipe Tasks जनरेटिव एआई लाइब्रेरी में ऐसे टास्क होते हैं जो इमेज या टेक्स्ट जनरेट करने की प्रोसेस को मैनेज करते हैं. Android Studio में MediaPipe Tasks Generative AI लाइब्रेरी को इंपोर्ट करने के लिए, अपनी build.gradle फ़ाइल में डिपेंडेंसी जोड़ें.

इमेज जनरेटर

MediaPipe इमेज जनरेटर टास्क, tasks-vision-image-generator लाइब्रेरी में शामिल है. अपनी build.gradle फ़ाइल में डिपेंडेंसी जोड़ें:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

एलएलएम अनुमान एपीआई

MediaPipe एलएलएम अनुमान का टास्क, tasks-genai लाइब्रेरी में शामिल होता है. अपनी build.gradle फ़ाइल में डिपेंडेंसी जोड़ें:

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

विज़न से जुड़े टास्क

MediaPipe Tasks विज़न लाइब्रेरी में ऐसे टास्क होते हैं जो इमेज या वीडियो इनपुट को मैनेज करते हैं. Android Studio में MediaPipe Tasks विज़न लाइब्रेरी को इंपोर्ट करने के लिए, अपनी build.gradle फ़ाइल में ये डिपेंडेंसी जोड़ें:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

टेक्स्ट वाले टास्क

MediaPipe Tasks की टेक्स्ट लाइब्रेरी में ऐसे टास्क होते हैं जो टेक्स्ट फ़ॉर्मैट में भाषा के डेटा को मैनेज करते हैं. Android Studio में MediaPipe Tasks टेक्स्ट लाइब्रेरी इंपोर्ट करने के लिए, अपनी build.gradle फ़ाइल में ये डिपेंडेंसी जोड़ें:

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

ऑडियो टास्क

MediaPipe Tasks ऑडियो लाइब्रेरी में ऐसे टास्क होते हैं जो साउंड इनपुट को मैनेज करते हैं. Android Studio में MediaPipe Tasks ऑडियो लाइब्रेरी इंपोर्ट करने के लिए, अपनी build.gradle फ़ाइल में ये डिपेंडेंसी जोड़ें:

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

BaseOptions कॉन्फ़िगरेशन

BaseOptions, MediaPipe Tasks API के सामान्य कॉन्फ़िगरेशन की अनुमति देता है.

विकल्प का नाम कंपनी का ब्यौरा मंज़ूर की गई वैल्यू
modelAssetBuffer मॉडल एसेट फ़ाइल का कॉन्टेंट, डायरेक्ट ByteBuffer या MappedByteBuffer के तौर पर होता है. स्ट्रिंग के तौर पर ByteBuffer या MappedByteBuffer
modelAssetPath Android ऐप्लिकेशन के ऐसेट फ़ोल्डर में मौजूद मॉडल ऐसेट फ़ाइल का मॉडल पाथ. स्ट्रिंग के तौर पर फ़ाइल पाथ
modelAssetFileDescriptor मॉडल ऐसेट फ़ाइल का नेटिव फ़ाइल डिस्क्रिप्टर इंटीजर. फ़ाइल डिस्क्रिप्टर के बारे में बताने वाला पूर्णांक
Delegate मीडिया पाइपलाइन चलाने के लिए, डिवाइस के प्रतिनिधि की मदद से हार्डवेयर से तेज़ी लाने की सुविधा चालू करता है. डिफ़ॉल्ट वैल्यू: CPU. [CPU,
GPU]

हार्डवेयर से तेज़ी लाने की सुविधा

MediaPipe Tasks, मशीन लर्निंग मॉडल को चलाने के लिए ग्राफ़िक्स प्रोसेसिंग यूनिट (जीपीयू) के इस्तेमाल के साथ काम करता है. Android डिवाइसों पर, किसी प्रतिनिधि की मदद से अपने मॉडल को जीपीयू से तेज़ी से एक्ज़ीक्यूशन करने की सुविधा चालू की जा सकती है. डेलिगेट, MediaPipe के लिए हार्डवेयर ड्राइवर के तौर पर काम करते हैं. इससे आपको स्टैंडर्ड सीपीयू प्रोसेसर के बजाय, जीपीयू प्रोसेसर पर अपने मॉडल चलाने की सुविधा मिलती है.

BaseOptions की मदद से, टास्क के विकल्पों में जीपीयू का डेलिगेट कॉन्फ़िगर करें:

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

समस्या हल करना

MediaPipe से जुड़े तकनीकी सवालों के जवाब के लिए, समुदाय से मदद पाने के लिए चर्चा समूह या Stack Overflow पर जाएं. गड़बड़ियों की शिकायत करने या सुविधा का अनुरोध करने के लिए, GitHub पर समस्या दर्ज करें.

अपना Android डेवलपमेंट एनवायरमेंट सेट अप करने में मदद के लिए, Android डेवलपर दस्तावेज़ देखें.