Guía de configuración de Python

En esta página, se muestra cómo configurar tu entorno de desarrollo para usar MediaPipe Tasks en tus aplicaciones de Python.

Plataformas y versiones compatibles

Para compilar aplicaciones con MediaPipe Tasks, se requieren los siguientes recursos del entorno de desarrollo:

  • SO:
    • Computadora: Windows, Mac y Linux
    • IoT: Raspberry OS de 64 bits
  • Python: Admite la versión 3.9 y versiones posteriores
  • PIP: versión 20.3 o posterior

Configuración del entorno de desarrollador

Antes de ejecutar una tarea de MediaPipe en una aplicación de Python, instala el paquete de MediaPipe.

$ python -m pip install mediapipe

Después de instalar el paquete, impórtalo a tu proyecto de desarrollo.

import mediapipe as mp

Dependencias de MediaPipe Tasks

MediaPipe Tasks proporciona tres bibliotecas precompiladas para visión, texto y audio. Según la tarea de MediaPipe que use la app, importa la biblioteca de visión, texto o audio a tu proyecto de desarrollo.

Tareas de visión

El módulo de visión de MediaPipe Tasks contiene tareas que controlan entradas de imágenes o videos. Para importar la biblioteca de visión de MediaPipe Tasks, importa la siguiente dependencia a tu proyecto de desarrollo.

from mediapipe.tasks.python import vision

Tareas de texto

El módulo de texto de MediaPipe Tasks contiene tareas que controlan entradas de cadenas.Para importar la biblioteca de texto de MediaPipe Tasks, importa la siguiente dependencia a tu proyecto de desarrollo.

from mediapipe.tasks.python import text

Tareas de audio

El módulo de audio de MediaPipe Tasks contiene tareas que controlan entradas de sonido. Para importar la biblioteca de audio de MediaPipe Tasks, importa la siguiente dependencia a tu proyecto de desarrollo.

from mediapipe.tasks.python import audio

Configuración de BaseOptions

BaseOptions permite la configuración general de las APIs de MediaPipe Task.

Nombre de la opción Descripción Valores aceptados
model_asset_buffer El contenido del archivo de recursos del modelo. Contenido del modelo como una cadena de bytes
model_asset_path La ruta de acceso del recurso del modelo para abrir y asignar a la memoria. Ruta de acceso del archivo como una cadena

Cómo empaquetar apps de Python Tasks con PyInstaller

Cuando empaquetas una app de Python Tasks con PyInstaller, los archivos de modelo, como los paquetes .task, no se incluyen automáticamente. Si tu app usa BaseOptions(model_asset_path=...), incluye el archivo de modelo en el paquete de PyInstaller y resuelve su ruta de acceso en el tiempo de ejecución.

Por ejemplo, usa un auxiliar que verifique el directorio sys._MEIPASS de 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)

Luego, pasa la ruta de acceso del modelo resuelta 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)

Empaqueta el archivo de modelo y recopila los archivos del paquete de MediaPipe cuando compiles con PyInstaller:

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

En macOS o Linux, el separador --add-data es :. En Windows, usa ;. Y, para las apps de escritorio de macOS, agrega --windowed para crear un paquete .app:

Solución de problemas

Si necesitas ayuda con preguntas técnicas relacionadas con MediaPipe, visita el grupo de debate o Stack Overflow para obtener asistencia de la comunidad. Para informar errores o realizar una solicitud de función, informa un problema en GitHub.

Para obtener ayuda para configurar tu entorno de desarrollo de Python, visita la guía para desarrolladores de Python.