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

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

इन प्लैटफ़ॉर्म और वर्शन पर काम करता है

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

  • ओएस:
    • डेस्कटॉप: Windows, Mac, Linux
    • IoT: Raspberry OS 64-bit
  • Python: यह 3.9 और इसके बाद के वर्शन के साथ काम करता है
  • PIP: वर्शन 20.3 या इसके बाद का वर्शन

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

Python ऐप्लिकेशन पर MediaPipe टास्क चलाने से पहले, MediaPipe पैकेज इंस्टॉल करें.

$ python -m pip install mediapipe

पैकेज इंस्टॉल करने के बाद, उसे अपने डेवलपमेंट प्रोजेक्ट में इंपोर्ट करें.

import mediapipe as mp

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

MediaPipe Tasks, विज़न, टेक्स्ट, और ऑडियो के लिए पहले से बनी तीन लाइब्रेरी उपलब्ध कराता है. ऐप्लिकेशन में इस्तेमाल किए गए MediaPipe टास्क के हिसाब से, विज़न, टेक्स्ट या ऑडियो लाइब्रेरी को अपने डेवलपमेंट प्रोजेक्ट में इंपोर्ट करें.

देखने से जुड़े टास्क

MediaPipe Tasks के विज़न मॉड्यूल में ऐसे टास्क होते हैं जो इमेज या वीडियो इनपुट को हैंडल करते हैं. MediaPipe Tasks vision लाइब्रेरी को इंपोर्ट करने के लिए, अपने डेवलपमेंट प्रोजेक्ट में यह डिपेंडेंसी इंपोर्ट करें.

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 से जुड़े तकनीकी सवालों के लिए, discussion group पर जाएं या कम्यूनिटी से सहायता पाने के लिए Stack Overflow पर जाएं. गड़बड़ियों की शिकायत करने या सुविधाओं के लिए अनुरोध करने के लिए, GitHub पर कोई समस्या सबमिट करें.

Python डेवलपमेंट एनवायरमेंट सेट अप करने में मदद पाने के लिए, Python डेवलपर गाइड पर जाएं.