Hướng dẫn thiết lập Python

Trang này hướng dẫn bạn cách thiết lập môi trường phát triển để sử dụng MediaPipe Tasks trong các ứng dụng Python.

Nền tảng và phiên bản được hỗ trợ

Để tạo ứng dụng bằng MediaPipe Tasks, bạn cần có các tài nguyên môi trường phát triển sau:

  • Hệ điều hành:
    • Máy tính: Windows, Mac, Linux
    • IoT: Raspberry OS 64 bit
  • Python: phiên bản 3.9 – 3.12
  • PIP: phiên bản 20.3 trở lên

Thiết lập môi trường phát triển

Trước khi chạy một tác vụ MediaPipe trên ứng dụng Python, hãy cài đặt gói MediaPipe.

$ python -m pip install mediapipe

Sau khi cài đặt gói, hãy nhập gói đó vào dự án phát triển của bạn.

import mediapipe as mp

Các phần phụ thuộc của MediaPipe Tasks

MediaPipe Tasks cung cấp 3 thư viện được tạo sẵn cho hình ảnh, văn bản và âm thanh. Tuỳ thuộc vào Tác vụ MediaPipe mà ứng dụng sử dụng, hãy nhập thư viện thị giác, văn bản hoặc âm thanh vào dự án phát triển của bạn.

Việc cần làm liên quan đến thị giác

Mô-đun thị giác của MediaPipe Tasks chứa các tác vụ xử lý dữ liệu đầu vào là hình ảnh hoặc video. Để nhập thư viện thị giác MediaPipe Tasks, hãy nhập phần phụ thuộc sau vào dự án phát triển của bạn.

from mediapipe.tasks.python import vision

Việc cần làm liên quan đến văn bản

Mô-đun văn bản của MediaPipe Tasks chứa các tác vụ xử lý dữ liệu đầu vào là chuỗi.Để nhập thư viện văn bản của MediaPipe Tasks, hãy nhập phần phụ thuộc sau vào dự án phát triển của bạn.

from mediapipe.tasks.python import text

Tác vụ âm thanh

Mô-đun âm thanh MediaPipe Tasks chứa các tác vụ xử lý dữ liệu đầu vào âm thanh. Để nhập thư viện âm thanh MediaPipe Tasks, hãy nhập phần phụ thuộc sau vào dự án phát triển của bạn.

from mediapipe.tasks.python import audio

Cấu hình BaseOptions

BaseOptions cho phép định cấu hình chung cho MediaPipe Task API.

Tên tùy chọn Mô tả Giá trị được chấp nhận
model_asset_buffer Nội dung tệp thành phần mô hình. Nội dung mô hình dưới dạng chuỗi byte
model_asset_path Đường dẫn đến thành phần mô hình cần mở và ánh xạ vào bộ nhớ. Đường dẫn tệp dưới dạng chuỗi

Đóng gói ứng dụng Python Tasks bằng PyInstaller

Khi đóng gói ứng dụng Python Tasks bằng PyInstaller, các tệp mô hình như gói .task sẽ không được tự động đưa vào. Nếu ứng dụng của bạn sử dụng BaseOptions(model_asset_path=...), hãy đưa tệp mô hình vào gói PyInstaller và phân giải đường dẫn của tệp đó trong thời gian chạy.

Ví dụ: sử dụng một trình trợ giúp kiểm tra thư mục sys._MEIPASS của 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)

Sau đó, hãy truyền đường dẫn mô hình đã phân giải đến 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)

Gói tệp mô hình và thu thập các tệp gói MediaPipe khi tạo bằng PyInstaller:

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

Trên macOS hoặc Linux, dấu phân cách --add-data:. Trên Windows, hãy dùng ;. Đối với các ứng dụng macOS dành cho máy tính, hãy thêm --windowed để tạo gói .app:

Khắc phục sự cố

Để được trợ giúp về các câu hỏi kỹ thuật liên quan đến MediaPipe, hãy truy cập vào nhóm thảo luận hoặc Stack Overflow để được cộng đồng hỗ trợ. Để báo cáo lỗi hoặc yêu cầu tính năng, hãy gửi vấn đề trên GitHub.

Để được trợ giúp thiết lập môi trường phát triển Python, hãy truy cập vào hướng dẫn dành cho nhà phát triển Python.