מדריך ההגדרה ל-iOS

בדף הזה מוסבר איך להגדיר את סביבת הפיתוח לשימוש ב-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 סיווג למשימה הזו.

כדי לייבא וליצור את פרויקט הקוד לדוגמה:

  1. פותחים את הטרמינל, משכפלים את מאגר הדוגמאות של MediaPipe ומנווטים אל הספרייה שמכילה את TextClassifier.xcodeproj ו-Podfile.

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. התקנת משימות של MediaPipe באמצעות CocoaPods:

    pod install
    

    הפקודה הזו יוצרת קובץ TextClassifier.xcworkspace בדוגמה של פרויקט.

  3. לוחצים לחיצה כפולה על הקובץ TextClassifier.xcworkspace כדי לפתוח את הפרויקט Xcode. אם הקובץ TextClassifier.xcodeproj כבר פתוח, צריך לסגור אותו לפני פתיחת הקובץ TextClassifier.xcworkspace.

  4. צריך לבחור את הסכמה TextClassifier ולבחור מכשיר iOS פיזי, או דרך סרגל הכלים של חלון הפרויקט. כשמשתמשים במכשיר iOS פיזי צריך לוודא שהוא מחובר ל-Mac.

  5. לוחצים על הלחצן 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 מסמכים.