Guida alla configurazione per Python

Questa pagina mostra come configurare l'ambiente di sviluppo per utilizzare MediaPipe Tasks nelle tue applicazioni Python.

Piattaforme e versioni supportate

La creazione di applicazioni con MediaPipe Tasks richiede le seguenti risorse dell'ambiente di sviluppo:

  • Sistema operativo:
    • Desktop: Windows, Mac, Linux
    • IoT: Raspberry OS a 64 bit
  • Python: versione 3.9 - 3.12
  • PIP: versione 20.3 o successive

Configurazione dell'ambiente di sviluppo

Prima di eseguire un'attività MediaPipe su un'applicazione Python, installa il pacchetto MediaPipe.

$ python -m pip install mediapipe

Dopo aver installato il pacchetto, importalo nel tuo progetto di sviluppo.

import mediapipe as mp

Dipendenze di MediaPipe Tasks

MediaPipe Tasks fornisce tre librerie predefinite per visione artificiale, testo e audio. A seconda dell'attività MediaPipe utilizzata dall'app, importa la libreria di visione, testo o audio nel tuo progetto di sviluppo.

Attività di visione

Il modulo di visione di MediaPipe Tasks contiene attività che gestiscono input di immagini o video. Per importare la libreria MediaPipe Tasks Vision, importa la seguente dipendenza nel tuo progetto di sviluppo.

from mediapipe.tasks.python import vision

Attività di testo

Il modulo di testo di MediaPipe Tasks contiene attività che gestiscono input di stringhe.Per importare la libreria di testo di MediaPipe Tasks, importa la seguente dipendenza nel tuo progetto di sviluppo.

from mediapipe.tasks.python import text

Attività audio

Il modulo audio di MediaPipe Tasks contiene attività che gestiscono gli input audio. Per importare la libreria audio di MediaPipe Tasks, importa la seguente dipendenza nel tuo progetto di sviluppo.

from mediapipe.tasks.python import audio

Configurazione di BaseOptions

BaseOptions consente la configurazione generale delle API MediaPipe Task.

Nome opzione Descrizione Valori accettati
model_asset_buffer I contenuti del file della risorsa modello. Contenuti del modello come stringa di byte
model_asset_path Il percorso della risorsa modello da aprire e mappare in memoria. Percorso del file come stringa

Pacchettizzazione delle app Python Tasks con PyInstaller

Quando crei un pacchetto di un'app Python Tasks con PyInstaller, i file modello come i bundle .task non vengono inclusi automaticamente. Se la tua app utilizza BaseOptions(model_asset_path=...), includi il file del modello nel bundle PyInstaller e risolvi il relativo percorso in fase di runtime.

Ad esempio, utilizza un helper che controlla la directory sys._MEIPASS di PyInstaller:

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)

Poi passa il percorso del modello risolto a 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)

Raggruppa il file del modello e raccogli i file del pacchetto MediaPipe durante la creazione con PyInstaller:

pyinstaller app.py \
  --add-data "pose_landmarker.task:." \
  --collect-all mediapipe \
  --hidden-import mediapipe.tasks.c

Su macOS o Linux, il separatore --add-data è :. Su Windows, utilizza ;. Per le app desktop macOS, aggiungi --windowed per creare un bundle .app:

Risoluzione dei problemi

Per assistenza con domande tecniche relative a MediaPipe, visita il gruppo di discussione o Stack Overflow per ricevere assistenza dalla community. Per segnalare bug o richiedere funzionalità, segnala un problema su GitHub.

Per assistenza nella configurazione dell'ambiente di sviluppo Python, consulta la guida per gli sviluppatori Python.