נתיבים להתקנת מודלים של ML Kit ב-Android

כל התכונות של ML Kit משתמשות במודלים של למידת מכונה מאומנת על ידי Google (שנקראים כברירת מחדל. המדריך הזה רלוונטי רק למודלים בסיסיים. לצפייה כאן .

אפשר להתקין מודלים בממשקי API של ML Kit באחת משלוש דרכים:

  1. לא בחבילה: ההורדה והניהול של המודלים מתבצעים דרך Google Play Services.
  2. חבילה: המודלים מקושרים באופן סטטי לאפליקציה בזמן ה-build.
  3. הורדה דינמית: מתבצעת הורדה של המודלים לפי דרישה.

נתיבי ההתקנה הנתמכים של כל API

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

לא חלק מחבילה חבילה הורדה דינמית
זיהוי טקסט גרסה 2
זיהוי פנים
זיהוי רשת פנים
זיהוי תנוחה
פילוח סלפי
סריקת ברקוד
הוספת תוויות לתמונות
זיהוי אובייקטים ומעקב אחריהם
זיהוי דיו דיגיטלי
סורק מסמכים
פילוח של נושאים
סורק קודי Google
זיהוי שפה
תרגום
תשובה מהירה
חילוץ ישות

מדריכים ספציפיים ל-API מראים אילו אפשרויות התקנה זמינות API.

ההבדלים העיקריים בין אפשרויות ההתקנה

לא בחבילה חבילה הורדה דינמית
איפה נשמרים המודלים? החשבון רשום ב-Google Play Services ולא נספר במסגרת נפח האחסון בשימוש באפליקציה הזו נשמר באחסון ספציפי לאפליקציה לאחר ההתקנה נשמר באחסון ספציפי לאפליקציה אחרי הורדת המודל
איך גודל המודל משפיע על גודל האפליקציה? לא משפיע על גודל האפליקציה תורם ישירות לגודל האפליקציה לא תורמות לגודל האפליקציה אלא להגדיל את אחסון ספציפי לאפליקציה
מתי המודלים מתעדכנים? מתעדכן באופן אוטומטי כשמפרסמים גרסה חדשה צריך לעדכן את האפליקציה כדי לעדכן את המודל צריך לעדכן את האפליקציה כדי לעדכן את המודל
מתי מתבצעת הורדה של המודלים? צריך להוריד את המודלים לפני השימוש כל הדגמים והתכונות נכללים כאשר האפליקציה מותקנת, כך שניתן להשתמש בהם באופן מיידי צריך לנהל הורדות, עדכונים ומחיקות של מודלים באופן ידני באמצעות ה-RemoteModelManager API
מתי יוסרו דגמים מהמכשיר? המודל יוסר מ-Google Play Services רק במקרים שבהם כל האפליקציות שתלויות במודל יוסרו. מודלים יוסרו מאחסון ספציפי לאפליקציה כשמסירים את האפליקציה מודלים שהורדו יוסרו מנפח האחסון הספציפי לאפליקציה כשמסירים את האפליקציה

איך לבחור בין 'חבילה' לבין 'לא ארוזה'

אם API תומך גם באפשרויות ההתקנה הכלולות בחבילה וגם באפשרויות ההתקנה שאינן מקובצות:

  • כדאי להשתמש באפשרות בחבילה אם אתם מתעדפים:

    • השלמת הפונקציונליות של התכונה מיד לאחר התקנת האפליקציה
    • פונקציונליות של התכונה ללא חיבור לרשת אחרי התקנת האפליקציה
  • כדאי להשתמש באפשרות 'לא בחבילה' אם חשוב לכם לתעדף:

    • אפליקציה קטנה יותר
    • עדכוני מודלים אוטומטיים על ידי Google Play Services

איך מורידים מודלים

כשמשתמשים באפשרות של מודל לא ארוז, אפשר לציין איך רוצים שהמודלים הורדו למכשיר:

  • כדי להפעיל הורדות של מודלים בזמן ההתקנה, צריך להוסיף הצהרה את קובץ AndroidManifest.xml של האפליקציה. לדוגמה, קטע הקוד שלמטה מראה איך להגדיר את האפליקציה להורדה אוטומטית של הברקוד מתבצעת סריקת מודל אחרי התקנת האפליקציה מחנות Play:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • אפשר לבקש הורדה של תוכן בוטה דרך Google Play Services API של ModuleInstallClient.

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

איך לעדכן מודלים

כדי לעדכן את המודלים בזמן שימוש במודל בחבילה או בקובץ שהורדת באופן דינמי אפשרות:

  1. צריך לעדכן את קובץ הדרגה של האפליקציה כדי להשתמש בלקוח העדכני של התכונה ML Kit לספרייה.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. בונים מחדש את האפליקציה.

למה חלק מממשקי ה-API מציעים מודלים בהורדה דינמית

בחלק מה-ML Kit API יש יותר מדי אפשרויות מודל לקיבוץ. לדוגמה, דיו דיגיטלי זיהוי תומך ב- 300+ בשפות שונות, שנדרשים לשים כל שפה בתוך התכונה במהלך ההתקנה. למטרה הזו, אנחנו מספקים את אפשרות ההתקנה השלישית, שבה מודלים הורדה לפי דרישה לאחר ההתקנה. כרגע אפשר להשתמש רק בדיו דיגיטלי וזיהוי אובייקטים, תרגום וישות לחילוץ יש את האפשרות הזו.