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 là :. 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.