בדף הזה מוסבר איך להגדיר את סביבת הפיתוח לשימוש ב-MediaPipe Tasks באפליקציות ל-iOS.
פלטפורמות ומכשירים נתמכים
ליצור אפליקציות ל-iOS באמצעות MediaPipe Tasks, סביבת הפיתוח שלכם מחייב את הדברים הבאים:
macOS Mojave בגרסה 10.14.3 ואילך.
Xcode 10.3 ומעלה.
מכשיר iOS עם iOS מגרסה 12.0 לפחות לחלופין, באמצעות סימולטור של iOS לטפל באפליקציות שלא דורשות את מצלמת המכשיר.
הגדרה של סביבת הפיתוח
לפני הרצת משימת MediaPipe באפליקציה ל-iOS, צריך להיות לך פרויקט Xcode קיים או יוצרים פרויקט חדש במחשב המקומי.
אפשר להתקין משימות MediaPipe רק באמצעות CocoaPods. לפני שמתחילים, צריך להתקין את CocoaPods מגרסה 1.12.1 ואילך. עבור הוראות להתקנת CocoaPods ב-macOS, עיינו בהתקנת CocoaPods. guide.
דוגמה להגדרת קוד
פלטפורמת MediaPipe דוגמאות מכיל אפליקציות ל-iOS לדוגמה למשימות של MediaPipe.
אפשר ליצור פרויקט מהקוד לדוגמה, לבנות את הפרויקט ולהריץ את למשימה הזו. השלבים הבאים משמשים לפיתוח גרסת ה-Text סיווג למשימה הזו.
כדי לייבא וליצור את פרויקט הקוד לדוגמה:
פותחים את הטרמינל, משכפלים את מאגר הדוגמאות של MediaPipe ומנווטים אל הספרייה שמכילה את
TextClassifier.xcodeproj
ו-Podfile
.git clone https://github.com/google-ai-edge/mediapipe-samples cd mediapipe/examples/text_classification/ios
התקנת משימות של MediaPipe באמצעות CocoaPods:
pod install
הפקודה הזו יוצרת קובץ
TextClassifier.xcworkspace
בדוגמה של פרויקט.לוחצים לחיצה כפולה על הקובץ
TextClassifier.xcworkspace
כדי לפתוח את הפרויקט Xcode. אם הקובץTextClassifier.xcodeproj
כבר פתוח, צריך לסגור אותו לפני פתיחת הקובץTextClassifier.xcworkspace
.צריך לבחור את הסכמה
TextClassifier
ולבחור מכשיר iOS פיזי, או דרך סרגל הכלים של חלון הפרויקט. כשמשתמשים במכשיר iOS פיזי צריך לוודא שהוא מחובר ל-Mac.לוחצים על הלחצן
Run
בסרגל הכלים של הפרויקט.
הוראות נוספות להפעלה של אפליקציה ב-Xcode זמינות במאמר בנייה והפעלה ה app.
יחסי תלות של MediaPipe Tasks
אפליקציית MediaPipe Tasks מספקת שתי ספריות מוכנות מראש לאובייקטים ולטקסטים.
קובץ המודל .tflite
חייב להיות בחבילה של האפליקציה ל-iOS ש
משתמש במודל. מוסיפים את החזון או את הטקסט בהתאם לערכי MediaPipe Tas
לספרייה של Pods ב-CocoaPods Podfile
. לקבלת הוראות לגבי
כשיוצרים Podfile
עם הרצפים הנדרשים לאפליקציה, כדאי לעיין במאמר שימוש ב-Pods
CocoaPods.
משימות של AI גנרטיבי
ספריות ה-AI הגנרטיבי של MediaPipe Tasks מכילות משימות שמטפלות בתמונות או
יצירת טקסט. כדי להתקין את ספריית ה-AI הגנרטיבי של MediaPipe Tasks, צריך להוסיף את
MediaPipeTasksGenAI
ו-MediaPipeTasksGenAIC
רצפי יעד של האפליקציה ב-
Podfile
.
ממשק API להסקת מסקנות (LLM)
משימת ההסקה של מודל שפה גדול (LLM) ב-MediaPipe נמצאת בתוך MediaPipeTasksGenAI
ו-MediaPipeTasksGenAIC
רצפי מודעות.
target 'MyLlmInferenceApp' do
use_frameworks!
pod 'MediaPipeTasksGenAI'
pod 'MediaPipeTasksGenAIC'
end
משימות ראייה
ספריית הראייה של MediaPipe Tasks מכילה משימות שמטפלות בתמונה או בסרטון
של קלטים. כדי להתקין את ספריית הראייה של MediaPipe Tasks, צריך להוסיף את
רצף אחד (MediaPipeTasksVision
) ליעד של האפליקציה בPodfile
.
target 'MyAppWithMediaPipeTasksVision' do
use_frameworks!
pod 'MediaPipeTasksVision'
end
משימות טקסט
ספריית הטקסט 'משימות' של MediaPipe מכילה משימות שמטפלות בנתוני שפה
בפורמט טקסט. כדי להתקין את ספריית הטקסט של MediaPipe Tasks, צריך להוסיף את
רצף אחד (MediaPipeTasksText
) ליעד של האפליקציה שלך בPodfile
target 'MyAppWithMediaPipeTasksText' do
use_frameworks!
pod 'MediaPipeTasksText'
end
הגדרת יעדי בדיקה
אם לאפליקציה יש יעד בדיקה, צריך לוודא שה-Podfile עומד בדרישות של אחר הטמעות כדי למנוע התנהגות לא רצויה ספריית המשימות של MediaPipe.
השיטה הפשוטה ביותר היא לוודא שיעד הבדיקה לא נמצא בתצוגת עץ ביעד הראשי של האפליקציה, שמוסיף את רצף המשימות של MediaPipe.
target 'MyAppWithMediaPipeTasks' do
pod 'MediaPipeTasksVision'
end
target 'MyAppWithMediaPipeTasksTests' do
end
אם יעד הבדיקה חייב להיות מקונן בתוך היעד הראשי של האפליקציה, קובץ ה-Podfile חייב לציית להטמעה הבאה:
target 'MyAppWithMediaPipeTasks' do
pod 'MediaPipeTasksVision'
target 'MyAppWithMediaPipeTasksTests' do
inherit! :none
end
end
תצורת BaseOptions
אפשרויות BaseOptions מאפשרות הגדרה כללית של ממשקי ה-API של MediaPipe Tasks.
שם האפשרות | תיאור | ערכים מותרים |
---|---|---|
modelAssetPath |
נתיב המודל לקובץ מודל בחבילת האפליקציות ב-iOS. | נתיב כמחרוזת. |
שיפור המהירות באמצעות חומרה
ב-iOS, MediaPipe Tasks תומך רק במודלים פעילים במעבדי CPU רגילים.
פתרון בעיות
לקבלת עזרה בשאלות טכניות שקשורות ל-MediaPipe, כדאי להיכנס לדיון group או ערימה אפשרויות נוספות לקבלת תמיכה של הקהילה. כדי לדווח על באגים או לשלוח בקשות להוספת תכונות, אפשר לדווח על בעיה בנושא GitHub.
לקבלת עזרה בהגדרת סביבת הפיתוח ל-iOS, אפשר להיכנס אל Apple Developer מסמכים.