راهنمای راه اندازی برای پایتون

این صفحه به شما نشان می‌دهد که چگونه محیط توسعه خود را برای استفاده از MediaPipe Tasks در برنامه‌های پایتون خود تنظیم کنید.

پلتفرم‌ها و نسخه‌های پشتیبانی‌شده

ساخت برنامه‌ها با MediaPipe Tasks به منابع محیط توسعه زیر نیاز دارد:

  • سیستم عامل:
    • دسکتاپ: ویندوز، مک، لینوکس
    • اینترنت اشیا: سیستم عامل رزبری پای ۶۴ بیتی
  • پایتون: نسخه ۳.۹ تا ۳.۱۲
  • PIP: نسخه ۲۰.۳+

تنظیمات محیط توسعه‌دهنده

قبل از اجرای یک وظیفه MediaPipe در یک برنامه پایتون، بسته MediaPipe را نصب کنید.

$ python -m pip install mediapipe

پس از نصب بسته، آن را به پروژه توسعه خود وارد کنید.

import mediapipe as mp

وابستگی‌های وظایف MediaPipe

MediaPipe Tasks سه کتابخانه از پیش ساخته شده برای بینایی، متن و صدا ارائه می‌دهد. بسته به MediaPipe Task مورد استفاده برنامه، کتابخانه بینایی، متن یا صدا را به پروژه توسعه خود وارد کنید.

وظایف بینایی

ماژول MediaPipe Tasks vision شامل وظایفی است که ورودی‌های تصویر یا ویدیو را مدیریت می‌کنند. برای وارد کردن کتابخانه MediaPipe Tasks vision، وابستگی زیر را به پروژه توسعه خود وارد کنید.

from mediapipe.tasks.python import vision

وظایف متنی

ماژول متنی MediaPipe Tasks شامل وظایفی است که ورودی‌های رشته‌ای را مدیریت می‌کنند. برای وارد کردن کتابخانه متنی MediaPipe Tasks، وابستگی زیر را به پروژه توسعه خود وارد کنید.

from mediapipe.tasks.python import text

وظایف صوتی

ماژول صوتی MediaPipe Tasks شامل وظایفی است که ورودی‌های صدا را مدیریت می‌کنند. برای وارد کردن کتابخانه صوتی MediaPipe Tasks، وابستگی زیر را به پروژه توسعه خود وارد کنید.

from mediapipe.tasks.python import audio

پیکربندی BaseOptions

BaseOptions امکان پیکربندی کلی APIهای وظیفه MediaPipe را فراهم می‌کند.

نام گزینه توضیحات مقادیر پذیرفته شده
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)

فایل مدل را بسته‌بندی کنید و هنگام ساخت با PyInstaller، فایل‌های بسته MediaPipe را جمع‌آوری کنید:

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

در macOS یا لینوکس، جداکننده‌ی --add-data به صورت زیر است : . در ویندوز، از ; استفاده کنید. و برای برنامه‌های دسکتاپ macOS، برای ایجاد یک بسته‌ی .app ، از --windowed استفاده کنید:

عیب‌یابی

برای کمک به سوالات فنی مربوط به MediaPipe، از گروه بحث یا Stack Overflow برای پشتیبانی از انجمن دیدن کنید. برای گزارش اشکالات یا درخواست ویژگی، یک مشکل را در GitHub ثبت کنید .

برای کمک به راه‌اندازی محیط توسعه پایتون، به راهنمای توسعه‌دهندگان پایتون مراجعه کنید.