Na tej stronie dowiesz się, jak skonfigurować środowisko programistyczne, aby używać interfejsu MediaPipe Tasks w aplikacjach napisanych w Pythonie.
Obsługiwane platformy i wersje
Tworzenie aplikacji za pomocą interfejsu MediaPipe Tasks wymaga tych zasobów środowiska programistycznego:
- System operacyjny:
- Komputery: Windows, Mac, Linux
- IoT: Raspberry OS 64-bitowy
- Python: obsługuje wersję 3.9 i nowsze
- PIP: wersja 20.3 lub nowsza
Konfigurowanie środowiska programistycznego
Zanim uruchomisz zadanie MediaPipe w aplikacji w Pythonie, zainstaluj pakiet MediaPipe.
$ python -m pip install mediapipe
Po zainstalowaniu pakietu zaimportuj go do projektu deweloperskiego.
import mediapipe as mp
Zależności MediaPipe Tasks
MediaPipe Tasks udostępnia 3 gotowe biblioteki do przetwarzania obrazu, tekstu i dźwięku. W zależności od zadania MediaPipe używanego przez aplikację zaimportuj do projektu deweloperskiego bibliotekę vision, text lub audio.
Zadania związane z widocznością
Moduł wizyjny MediaPipe Tasks zawiera zadania, które obsługują dane wejściowe w postaci obrazów lub filmów. Aby zaimportować bibliotekę MediaPipe Tasks Vision, zaimportuj do projektu programistycznego tę zależność:
from mediapipe.tasks.python import vision
Zadania tekstowe
Moduł tekstowy MediaPipe Tasks zawiera zadania, które obsługują dane wejściowe w postaci ciągów znaków. Aby zaimportować bibliotekę tekstową MediaPipe Tasks, zaimportuj do projektu deweloperskiego tę zależność:
from mediapipe.tasks.python import text
Zadania audio
Moduł audio MediaPipe Tasks zawiera zadania, które obsługują dane wejściowe dźwięku. Aby zaimportować bibliotekę audio MediaPipe Tasks, dodaj do projektu deweloperskiego tę zależność:
from mediapipe.tasks.python import audio
Konfiguracja BaseOptions
BaseOptions umożliwiają ogólną konfigurację interfejsów MediaPipe Task API.
| Nazwa opcji | Opis | Akceptowane wartości |
|---|---|---|
model_asset_buffer |
Zawartość pliku zasobu modelu. | Treść modelu jako ciąg bajtów |
model_asset_path |
Ścieżka do zasobu modelu, który ma zostać otwarty i zmapowany w pamięci. | Ścieżka pliku jako ciąg znaków |
Pakowanie aplikacji Python Tasks za pomocą PyInstallera
Podczas pakowania aplikacji Python Tasks za pomocą PyInstaller pliki modeli, takie jak pakiety .task, nie są uwzględniane automatycznie. Jeśli Twoja aplikacja korzysta z BaseOptions(model_asset_path=...), dołącz plik modelu do pakietu PyInstaller i rozwiąż jego ścieżkę w czasie działania.
Użyj na przykład narzędzia sprawdzającego katalog 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)
Następnie przekaż rozwiązaną ścieżkę modelu do funkcji 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)
Spakuj plik modelu i zbierz pliki pakietu MediaPipe podczas tworzenia za pomocą PyInstallera:
pyinstaller app.py \
--add-data "pose_landmarker.task:." \
--collect-all mediapipe \
--hidden-import mediapipe.tasks.c
W systemie macOS lub Linux separatorem --add-data jest :. W systemie Windows użyj ;. W przypadku aplikacji na komputery z macOS dodaj --windowed, aby utworzyć pakiet .app:
Rozwiązywanie problemów
Jeśli masz pytania techniczne dotyczące MediaPipe, odwiedź grupę dyskusyjną lub Stack Overflow, aby uzyskać pomoc od społeczności. Aby zgłosić błąd lub poprosić o dodanie funkcji, utwórz zgłoszenie na GitHubie.
Aby uzyskać pomoc w konfigurowaniu środowiska programistycznego w Pythonie, zapoznaj się z przewodnikiem dla programistów Pythona.