Einrichtungsleitfaden für Python

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.