หน้านี้จะแสดงวิธีตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์เพื่อใช้ MediaPipe Tasks ในแอปพลิเคชัน Python
แพลตฟอร์มและเวอร์ชันที่รองรับ
การสร้างแอปพลิเคชันด้วย MediaPipe Tasks ต้องใช้ทรัพยากรในสภาพแวดล้อมการพัฒนาต่อไปนี้
- ระบบปฏิบัติการ
- เดสก์ท็อป: Windows, Mac, Linux
- IoT: Raspberry OS 64 บิต
- Python: เวอร์ชัน 3.9 - 3.12
- PIP: เวอร์ชัน 20.3 ขึ้นไป
การตั้งค่าสภาพแวดล้อมของนักพัฒนาซอฟต์แวร์
ก่อนเรียกใช้ MediaPipe Task ในแอปพลิเคชัน Python ให้ติดตั้งแพ็กเกจ MediaPipe
$ python -m pip install mediapipe
หลังจากติดตั้งแพ็กเกจแล้ว ให้นำเข้าแพ็กเกจไปยังโปรเจ็กต์การพัฒนา
import mediapipe as mp
ทรัพยากร Dependency ของ MediaPipe Tasks
MediaPipe Tasks มีไลบรารีที่สร้างไว้ล่วงหน้า 3 รายการสำหรับวิชัน, ข้อความ และเสียง นำเข้าไลบรารี Vision, Text หรือ Audio ไปยังโปรเจ็กต์การพัฒนาของคุณ ทั้งนี้ขึ้นอยู่กับ MediaPipe Task ที่แอปใช้
งานด้านการมองเห็น
โมดูล Vision ของ MediaPipe Tasks มีงานที่จัดการอินพุตรูปภาพหรือวิดีโอ หากต้องการนำเข้าไลบรารีการมองเห็นของ MediaPipe Tasks ให้นำเข้าทรัพยากร Dependency ต่อไปนี้ไปยังโปรเจ็กต์การพัฒนา
from mediapipe.tasks.python import vision
งานข้อความ
โมดูลข้อความของ MediaPipe Tasks มีงานที่จัดการอินพุตสตริง หากต้องการนำเข้าไลบรารีข้อความของ MediaPipe Tasks ให้นำเข้าทรัพยากร Dependency ต่อไปนี้ไปยังโปรเจ็กต์การพัฒนาของคุณ
from mediapipe.tasks.python import text
งานเสียง
โมดูลเสียงของ MediaPipe Tasks มีงานที่จัดการอินพุตเสียง หากต้องการนำเข้าไลบรารีเสียงของ MediaPipe Tasks ให้นำเข้าทรัพยากร Dependency ต่อไปนี้ลงในโปรเจ็กต์การพัฒนาของคุณ
from mediapipe.tasks.python import audio
การกำหนดค่า BaseOptions
BaseOptions ช่วยให้กำหนดค่าทั่วไปของ MediaPipe Task API ได้
| ชื่อตัวเลือก | คำอธิบาย | ค่าที่ยอมรับ |
|---|---|---|
model_asset_buffer |
เนื้อหาไฟล์ชิ้นงานโมเดล | สร้างเนื้อหาโมเดลเป็นสตริงไบต์ |
model_asset_path |
เส้นทางของชิ้นงานโมเดลที่จะเปิดและแมปในหน่วยความจำ | เส้นทางของไฟล์เป็นสตริง |
การแพ็กเกจแอป Python Tasks ด้วย PyInstaller
เมื่อแพ็กเกจแอป Python Tasks ด้วย PyInstaller ระบบจะไม่รวมไฟล์โมเดล เช่น บันเดิล .task โดยอัตโนมัติ หากแอปของคุณใช้
BaseOptions(model_asset_path=...) ให้รวมไฟล์โมเดลไว้ในแพ็กเกจ PyInstaller
และแก้ไขเส้นทางที่รันไทม์
เช่น ใช้ฟังก์ชันช่วยที่ตรวจสอบไดเรกทอรี sys._MEIPASS
ของ 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)
จากนั้นส่งเส้นทางโมเดลที่แก้ไขแล้วไปยัง 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)
รวมไฟล์โมเดลและรวบรวมไฟล์แพ็กเกจ MediaPipe เมื่อสร้างด้วย PyInstaller โดยทำดังนี้
pyinstaller app.py \
--add-data "pose_landmarker.task:." \
--collect-all mediapipe \
--hidden-import mediapipe.tasks.c
ใน macOS หรือ Linux ตัวคั่น --add-data คือ : ใน Windows ให้ใช้ ; และสำหรับแอปเดสก์ท็อป macOS ให้เพิ่ม --windowed เพื่อสร้างแพ็กเกจ .app ดังนี้
การแก้ปัญหา
หากต้องการความช่วยเหลือเกี่ยวกับคำถามทางเทคนิคที่เกี่ยวข้องกับ MediaPipe โปรดไปที่กลุ่มสนทนาหรือ Stack Overflow เพื่อรับ การสนับสนุนจากชุมชน หากต้องการรายงานข้อบกพร่องหรือส่งคำขอฟีเจอร์ โปรดแจ้งปัญหาใน GitHub
หากต้องการความช่วยเหลือในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Python โปรดไปที่คู่มือสำหรับนักพัฒนาซอฟต์แวร์ Python