توضّح لك هذه الصفحة كيفية إعداد بيئة التطوير لاستخدام 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.