دليل إعداد Python

توضّح لك هذه الصفحة كيفية إعداد بيئة التطوير لاستخدام MediaPipe Tasks في تطبيقات Python.

الأنظمة الأساسية والإصدارات المتوافقة

يتطلّب إنشاء تطبيقات باستخدام MediaPipe Tasks موارد بيئة التطوير التالية:

  • نظام التشغيل:
    • الكمبيوتر المكتبي: Windows وMac وLinux
    • ‫IoT: نظام التشغيل Raspberry‏ 64 بت
  • ‫Python: الإصدارات من 3.9 إلى 3.12
  • PIP: الإصدار 20.3 والإصدارات الأحدث

إعداد بيئة المطوّر

قبل تشغيل إحدى مهام MediaPipe على تطبيق Python، يجب تثبيت حزمة MediaPipe.

$ python -m pip install mediapipe

بعد تثبيت الحزمة، استورِدها إلى مشروع التطوير.

import mediapipe as mp

المهام التابعة في MediaPipe Tasks

توفّر 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 بالإعداد العام لواجهات برمجة التطبيقات MediaPipe Task.

اسم الخيار الوصف القيم المقبولة
model_asset_buffer محتوى ملف مادة عرض التصميم نموذج المحتوى كسلسلة بايت
model_asset_path مسار مادة عرض النموذج المطلوب فتحه وتعيينه في الذاكرة مسار الملف كسلسلة

تجميع تطبيقات "مهام Google" المستندة إلى Python باستخدام 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.