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.