Guia de configuração do Python

Esta página mostra como configurar seu ambiente de desenvolvimento para usar as tarefas do MediaPipe em aplicativos Python.

Plataformas e versões compatíveis

Para criar aplicativos com o MediaPipe Tasks, você precisa dos seguintes recursos do ambiente de desenvolvimento:

  • SO:
    • Computador: Windows, Mac, Linux
    • IoT: Raspberry OS de 64 bits
  • Python: versão 3.9 a 3.12
  • PIP: versão 20.3 ou mais recente

Configuração do ambiente de desenvolvimento

Antes de executar uma tarefa do MediaPipe em um aplicativo Python, instale o pacote do MediaPipe.

$ python -m pip install mediapipe

Depois de instalar o pacote, importe-o para seu projeto de desenvolvimento.

import mediapipe as mp

Dependências do MediaPipe Tasks

O MediaPipe Tasks oferece três bibliotecas pré-criadas para visão, texto e áudio. Dependendo da tarefa do MediaPipe usada pelo app, importe a biblioteca de visão, texto ou áudio para seu projeto de desenvolvimento.

Tarefas de visão

O módulo de visão do MediaPipe Tasks contém tarefas que processam entradas de imagem ou vídeo. Para importar a biblioteca de visão do MediaPipe Tasks, importe a seguinte dependência para seu projeto de desenvolvimento.

from mediapipe.tasks.python import vision

Tarefas de texto

O módulo de texto do MediaPipe Tasks contém tarefas que processam entradas de string.Para importar a biblioteca de texto do MediaPipe Tasks, importe a seguinte dependência para seu projeto de desenvolvimento.

from mediapipe.tasks.python import text

Tarefas de áudio

O módulo de áudio do MediaPipe Tasks contém tarefas que processam entradas de som. Para importar a biblioteca de áudio do MediaPipe Tasks, importe a seguinte dependência para o projeto de desenvolvimento.

from mediapipe.tasks.python import audio

Configuração de BaseOptions

As BaseOptions permitem a configuração geral das APIs de tarefas do MediaPipe.

Nome da opção Descrição Valores aceitos
model_asset_buffer O conteúdo do arquivo de recurso do modelo. Conteúdo do modelo como uma string de bytes
model_asset_path O caminho do recurso de modelo a ser aberto e mapeado na memória. Caminho do arquivo como uma string

Como empacotar apps do Python Tasks com o PyInstaller

Ao empacotar um app Python Tasks com o PyInstaller, os arquivos de modelo, como pacotes .task, não são incluídos automaticamente. Se o app usar BaseOptions(model_asset_path=...), inclua o arquivo modelo no pacote PyInstaller e resolva o caminho dele no tempo de execução.

Por exemplo, use um auxiliar que verifique o diretório sys._MEIPASS do 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)

Em seguida, transmita o caminho do modelo resolvido para 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)

Agrupe o arquivo modelo e colete os arquivos de pacote do MediaPipe ao criar com PyInstaller:

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

No macOS ou Linux, o separador --add-data é :. No Windows, use ;. Para apps de computador macOS, adicione --windowed para criar um pacote .app:

Solução de problemas

Para receber ajuda com dúvidas técnicas relacionadas ao MediaPipe, acesse o grupo de discussão ou o Stack Overflow para receber suporte da comunidade. Para relatar bugs ou solicitar recursos, registre um problema no GitHub.

Para ajuda na configuração do ambiente de desenvolvimento Python, acesse o guia para desenvolvedores Python.