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

בדף הזה מוסבר איך להגדיר את סביבת הפיתוח לשימוש ב-MediaPipe Tasks באפליקציות שלכם ל-iOS.

פלטפורמות ומכשירים נתמכים

כדי ליצור אפליקציות ל-iOS עם משימות של MediaPipe, סביבת הפיתוח שלכם צריכה את הדברים הבאים:

  • 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.

דוגמה להגדרת קוד

במאגר MediaPipe תוכלו למצוא אפליקציות לדוגמה ל-iOS למשימות של MediaPipe.

אפשר ליצור פרויקט מהקוד לדוגמה, לבנות את הפרויקט ולהריץ את המשימה. השלבים הבאים יוצרים את המשימה Text classifier.

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

  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.

יחסי תלות של משימות MediaPipe

השירות MediaPipe Tasks מספק שתי ספריות מוגדרות מראש לתצוגה ולטקסט. קובץ המודל .tflite חייב להיות ממוקם בחבילה של האפליקציה ל-iOS שמשתמשת במודל. בהתאם ל-MediaPipe Tas, תוכלו להוסיף את ספריית החזון או את ספריית הטקסט לרשימת רצפי המודעות ב-CocoaPods Podfile. במאמר שימוש ב-CocoaPods תוכלו לקרוא איך ליצור Podfile עם רכיבי Pod שנדרשים לאפליקציה.

משימות של בינה מלאכותית גנרטיבית

ספריות ה-MediaPipe Tasks של AI גנרטיבי למשימות כוללות משימות שמטפלות ביצירת תמונות או טקסט. כדי להתקין את ספריית ה-AI הגנרטיבי של MediaPipe Tasks, צריך להוסיף את רצפי המודעות MediaPipeTasksGenAI ו-MediaPipeTasksGenAIC ליעד של האפליקציה ב-Podfile.

LLM Inference API

המשימה של הסקת ה-LLM של MediaPipe נמצאת בתוך הרצפי MediaPipeTasksGenAI ו-MediaPipeTasksGenAIC.

target 'MyLlmInferenceApp' do
  use_frameworks!
  pod 'MediaPipeTasksGenAI'
  pod 'MediaPipeTasksGenAIC'
end

משימות ראייה

ספריית הראייה של משימות MediaPipe מכילה משימות שמטפלות בקלט תמונה או וידאו. כדי להתקין את ספריית החזון של MediaPipe Tasks, צריך להוסיף את רצף MediaPipeTasksVision ליעד של האפליקציה ב-Podfile.

target 'MyAppWithMediaPipeTasksVision' do
  use_frameworks!
  pod 'MediaPipeTasksVision'
end

משימות טקסט

ספריית הטקסט של משימות MediaPipe מכילה משימות שמטפלות בנתוני שפה בפורמט טקסט. כדי להתקין את ספריית הטקסט של MediaPipe Tasks, צריך להוסיף את ה-pod 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.

שם האפשרות תיאור ערכים קבילים
modelAssetPath נתיב המודל לקובץ מודל בחבילת האפליקציות ל-iOS. נתיב כמחרוזת.

שיפור המהירות באמצעות חומרה

ב-iOS, ב-MediaPipe Tasks יש תמיכה רק במודלים פעילים במעבדי CPU רגילים.

פתרון בעיות

לקבלת עזרה בשאלות טכניות שקשורות ל-MediaPipe, תוכלו לקבל תמיכה מהקהילה בקבוצת הדיון או ב-StackOverflow. כדי לדווח על באגים או לשלוח בקשות להוספת תכונות, תוכלו לדווח על בעיה ב-GitHub.

לקבלת עזרה בהגדרה של סביבת הפיתוח ל-iOS, תוכלו להיעזר במסמכי התיעוד למפתחים של Apple.