Auf dieser Seite erfahren Sie, wie Sie Ihre Entwicklungsumgebung für die Verwendung von MediaPipe Tasks in Ihren Python-Anwendungen einrichten.
Unterstützte Plattformen und Versionen
Für die Entwicklung von Anwendungen mit MediaPipe Tasks sind die folgenden Ressourcen der Entwicklungsumgebung erforderlich:
- Betriebssystem:
- Computer: Windows, Mac, Linux
- IoT: Raspberry OS (64-Bit)
- Python: Unterstützt Version 3.9 und höher
- PIP: Version 20.3 und höher
Entwicklungsumgebung einrichten
Bevor Sie eine MediaPipe-Aufgabe in einer Python-Anwendung ausführen, müssen Sie das MediaPipe-Paket installieren.
$ python -m pip install mediapipe
Nach der Installation des Pakets importieren Sie es in Ihr Entwicklungsprojekt.
import mediapipe as mp
MediaPipe Tasks-Abhängigkeiten
MediaPipe Tasks bietet drei vorkonfigurierte Bibliotheken für Vision, Text und Audio. Importieren Sie je nach der von der App verwendeten MediaPipe-Aufgabe die Vision-, Text- oder Audio-Bibliothek in Ihr Entwicklungsprojekt.
Vision-Aufgaben
Das MediaPipe Tasks-Modul für Vision enthält Aufgaben, die Bild- oder Videoeingaben verarbeiten. Um die MediaPipe Tasks Vision-Bibliothek zu importieren, importieren Sie die folgende Abhängigkeit in Ihr Entwicklungsprojekt.
from mediapipe.tasks.python import vision
Textaufgaben
Das MediaPipe Tasks-Textmodul enthält Aufgaben, die String-Eingaben verarbeiten.Wenn Sie die MediaPipe Tasks-Textbibliothek importieren möchten, importieren Sie die folgende Abhängigkeit in Ihr Entwicklungsprojekt.
from mediapipe.tasks.python import text
Audio-Aufgaben
Das MediaPipe Tasks-Audiomodul enthält Aufgaben, die Audioeingaben verarbeiten. Wenn Sie die MediaPipe Tasks-Audiobibliothek importieren möchten, importieren Sie die folgende Abhängigkeit in Ihr Entwicklungsprojekt.
from mediapipe.tasks.python import audio
Konfiguration von BaseOptions
Mit BaseOptions können MediaPipe Task APIs allgemein konfiguriert werden.
| Optionsname | Beschreibung | Gültige Werte |
|---|---|---|
model_asset_buffer |
Der Inhalt der Modelldatei. | Modellinhalte als Bytestring |
model_asset_path |
Der Pfad des Modell-Assets, das geöffnet und in den Speicher gemappt werden soll. | Dateipfad als String |
Python Tasks-Apps mit PyInstaller verpacken
Wenn Sie eine Python Tasks App mit PyInstaller verpacken, werden Modelldateien wie .task-Bundles nicht automatisch eingeschlossen. Wenn Ihre App BaseOptions(model_asset_path=...) verwendet, fügen Sie die Modelldatei in das PyInstaller-Bundle ein und lösen Sie den Pfad zur Laufzeit auf.
Verwenden Sie beispielsweise einen Helfer, der nach dem sys._MEIPASS-Verzeichnis von PyInstaller sucht:
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)
Übergeben Sie dann den aufgelösten Modellpfad an 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)
Bündeln Sie die Modelldatei und sammeln Sie MediaPipe-Paketdateien, wenn Sie mit PyInstaller erstellen:
pyinstaller app.py \
--add-data "pose_landmarker.task:." \
--collect-all mediapipe \
--hidden-import mediapipe.tasks.c
Unter macOS oder Linux ist das --add-data-Trennzeichen :. Unter Windows verwenden Sie ;. Fügen Sie für macOS-Desktop-Apps --windowed hinzu, um ein .app-Bundle zu erstellen:
Fehlerbehebung
Wenn Sie Hilfe bei technischen Fragen zu MediaPipe benötigen, besuchen Sie die Diskussionsgruppe oder Stack Overflow, um Unterstützung von der Community zu erhalten. Wenn Sie Fehler melden oder Feature Requests stellen möchten, melden Sie ein Problem auf GitHub.
Hilfe beim Einrichten der Python-Entwicklungsumgebung finden Sie im Python-Entwicklerleitfaden.