इस पेज पर, Python ऐप्लिकेशन में MediaPipe Tasks का इस्तेमाल करने के लिए, डेवलपमेंट एनवायरमेंट सेट अप करने का तरीका बताया गया है.
इन प्लैटफ़ॉर्म और वर्शन पर काम करती हैं
MediaPipe Tasks की मदद से ऐप्लिकेशन बनाने के लिए, डेवलपमेंट एनवायरमेंट के इन संसाधनों की ज़रूरत होती है:
- ओएस:
- डेस्कटॉप: Windows, Mac, Linux
- IoT: Raspberry OS 64-बिट
- Python: वर्शन 3.9 - 3.12
- पीआईपी: वर्शन 20.3 या उससे नया
डेवलपर एनवायरमेंट सेट अप करना
Python ऐप्लिकेशन पर MediaPipe Task चलाने से पहले, MediaPipe पैकेज इंस्टॉल करें.
$ python -m pip install mediapipe
पैकेज इंस्टॉल करने के बाद, उसे अपने डेवलपमेंट प्रोजेक्ट में इंपोर्ट करें.
import mediapipe as mp
MediaPipe Tasks की डिपेंडेंसी
MediaPipe Tasks, विज़न, टेक्स्ट, और ऑडियो के लिए, पहले से बनी तीन लाइब्रेरी उपलब्ध कराता है. ऐप्लिकेशन में इस्तेमाल किए गए MediaPipe Task के हिसाब से, विज़न, टेक्स्ट या ऑडियो लाइब्रेरी को अपने डेवलपमेंट प्रोजेक्ट में इंपोर्ट करें.
विज़न टास्क
MediaPipe Tasks के विज़न मॉड्यूल में, इमेज या वीडियो इनपुट को मैनेज करने वाले टास्क शामिल होते हैं. MediaPipe Tasks की विज़न लाइब्रेरी इंपोर्ट करने के लिए, अपने डेवलपमेंट प्रोजेक्ट में यह डिपेंडेंसी इंपोर्ट करें.
from mediapipe.tasks.python import vision
टेक्स्ट टास्क
MediaPipe Tasks के टेक्स्ट मॉड्यूल में, स्ट्रिंग इनपुट को मैनेज करने वाले टास्क शामिल होते हैं.MediaPipe Tasks की टेक्स्ट लाइब्रेरी इंपोर्ट करने के लिए, अपने डेवलपमेंट प्रोजेक्ट में यह डिपेंडेंसी इंपोर्ट करें.
from mediapipe.tasks.python import text
ऑडियो टास्क
MediaPipe Tasks के ऑडियो मॉड्यूल में, साउंड इनपुट को मैनेज करने वाले टास्क शामिल होते हैं. MediaPipe Tasks की ऑडियो लाइब्रेरी इंपोर्ट करने के लिए, अपने डेवलपमेंट प्रोजेक्ट में यह डिपेंडेंसी इंपोर्ट करें.
from mediapipe.tasks.python import audio
BaseOptions का कॉन्फ़िगरेशन
BaseOptions की मदद से, MediaPipe Task API को सामान्य तौर पर कॉन्फ़िगर किया जा सकता है.
| विकल्प का नाम | ब्यौरा | मंज़ूर की गई वैल्यू |
|---|---|---|
model_asset_buffer |
मॉडल ऐसेट फ़ाइल का कॉन्टेंट. | बाइट स्ट्रिंग के तौर पर मॉडल का कॉन्टेंट |
model_asset_path |
मॉडल ऐसेट का पाथ, जिसे मेमोरी में खोला और मैप किया जाना है. | स्ट्रिंग के तौर पर फ़ाइल का पाथ |
PyInstaller की मदद से, Python Tasks वाले ऐप्लिकेशन को पैकेज करना
PyInstaller की मदद से, Python Tasks वाले ऐप्लिकेशन को पैकेज करते समय, मॉडल फ़ाइलें अपने-आप शामिल नहीं होती हैं. जैसे, .task बंडल. अगर आपका ऐप्लिकेशन BaseOptions(model_asset_path=...) का इस्तेमाल करता है, तो मॉडल फ़ाइल को PyInstaller बंडल में शामिल करें और रनटाइम पर उसका पाथ रिज़ॉल्व करें.
उदाहरण के लिए, ऐसा हेल्पर इस्तेमाल करें जो PyInstaller की sys._MEIPASS डायरेक्ट्री की जांच करता है:
import os
import sys
def resource_path(relative_path: str) -> str:
base_path = getattr(sys, "_MEIPASS", os.path.abspath("."))
return os.path.join(base_path, relative_path)
इसके बाद, रिज़ॉल्व किए गए मॉडल पाथ को BaseOptions पर पास करें:
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
model_path = resource_path("pose_landmarker.task")
base_options = python.BaseOptions(model_asset_path=model_path)
options = vision.PoseLandmarkerOptions(base_options=base_options)
pose_landmarker = vision.PoseLandmarker.create_from_options(options)
PyInstaller की मदद से बिल्ड करते समय, मॉडल फ़ाइल को बंडल करें और MediaPipe पैकेज की फ़ाइलें इकट्ठा करें:
pyinstaller app.py \
--add-data "pose_landmarker.task:." \
--collect-all mediapipe \
--hidden-import mediapipe.tasks.c
macOS या Linux पर, --add-data सेपरेटर : होता है. Windows पर, ; का इस्तेमाल करें. साथ ही, macOS डेस्कटॉप ऐप्लिकेशन के लिए, .app बंडल बनाने के लिए --windowed जोड़ें:
समस्या का हल
MediaPipe से जुड़े तकनीकी सवालों के लिए, चर्चा वाले ग्रुप पर जाएं या Stack Overflow पर जाएं. इससे आपको कम्यूनिटी से मदद मिल सकती है. बग की शिकायत करने या सुविधा के लिए अनुरोध करने के लिए, GitHub पर कोई समस्या सबमिट करें.
Python डेवलपमेंट एनवायरमेंट सेट अप करने में मदद पाने के लिए, Python डेवलपर की गाइड पर जाएं.