כברירת מחדל, כל התכונות של ML Kit משתמשות במודלים של למידת מכונה שאומנו על ידי Google (שנקראים מודלים בסיסיים). המדריך הזה רלוונטי רק למודלים בסיסיים. כאן יש הנחיות מפורטות לגבי מודלים בהתאמה אישית.
אפשר להתקין מודלים בממשקי ה-API של ML Kit באחת משלוש דרכים:
- לא מקובצים: המודלים מנוהלים וניתנים להורדה דרך Google Play Services.
- חבילה: המודלים מקושרים באופן סטטי לאפליקציה בזמן ה-build.
- הורדה דינמית: המודלים יורדים לפי דרישה.
נתיבי ההתקנה שנתמכים בכל API
בטבלה הבאה מוצגים נתיבי ההתקנה של המודלים שנתמכים בכל תכונה של ML Kit:
| לא מקובצים | חבילה | הורדה דינמית | |
| זיהוי טקסט גרסה 2 | ✅ | ✅ | |
| איתור פנים | ✅ | ✅ | |
| זיהוי רשת פנים | ✅ | ||
| זיהוי תנוחה | ✅ | ||
| פילוח סלפי | ✅ | ||
| סריקת ברקודים | ✅ | ✅ | |
| תיוג תמונות | ✅ | ✅ | |
| זיהוי אובייקטים ומעקב אחריהם | ✅ | ||
| זיהוי דיו דיגיטלי | ✅ | ||
| סורק מסמכים | ✅ | ||
| פילוח נושאים | ✅ | ||
| סורק הקודים של Google | ✅ | ||
| זיהוי שפה | ✅ | ✅ | |
| תרגום | ✅ | ||
| תשובה מהירה | ✅ | ✅ | |
| חילוץ ישויות | ✅ |
במדריכים הספציפיים ל-API מפורטות אפשרויות ההתקנה שזמינות ל-API הנתון.
ההבדלים העיקריים בין אפשרויות ההתקנה
| לא מקובצים | חבילה | הורדה דינמית | |
| איפה המודלים מאוחסנים? | הוא נמצא ב-Google Play Services ולא נכלל בנפח האחסון שבו האפליקציה הזו משתמשת | נשמרים באחסון ספציפי לאפליקציה אחרי ההתקנה | נשמר באחסון ספציפי לאפליקציה אחרי הורדת המודל |
| איך גודל המודל משפיע על גודל האפליקציה? | לא משפיע על גודל האפליקציה | משפיע ישירות על גודל האפליקציה | לא משפיע על גודל האפליקציה, אבל מגדיל את נפח האחסון הספציפי לאפליקציה |
| מתי המודלים מתעדכנים? | מתעדכנת אוטומטית כשיוצאת גרסה חדשה יותר | צריך לעדכן את האפליקציה כדי לעדכן את המודל | צריך לעדכן את האפליקציה כדי לעדכן את המודל |
| מתי המודלים יורדים? | צריך להוריד את המודלים לפני השימוש | כל המודלים והתכונות כלולים כשמתקינים את האפליקציה, כך שאפשר להשתמש בהם מיד | צריך לנהל באופן ידני את ההורדות, העדכונים והמחיקות של המודלים באמצעות ה-API של RemoteModelManager. |
| מתי המודלים מוסרים מהמכשיר? | 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>אתם יכולים לבקש הורדה מפורשת דרך ModuleInstallClient API של Google Play Services.
אם לא תפעילו את הורדת המודל בזמן ההתקנה או תבקשו הורדה מפורשת, המודל יורד בפעם הראשונה שתפעילו את התכונה. עד שההורדה תסתיים, בקשות להסקת מסקנות ייכשלו.
איך מעדכנים מודלים
כדי לעדכן את המודלים כשמשתמשים באפשרות של מודל בחבילה או של מודלים שהורדו באופן דינמי:
מעדכנים את קובץ ה-gradle של האפליקציה כדי להשתמש בספריית הלקוח העדכנית ביותר של התכונה ML Kit.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }בונים מחדש את האפליקציה.
למה חלק מממשקי ה-API מציעים מודלים שניתנים להורדה באופן דינמי
בחלק מממשקי ה-API של ML Kit יש יותר מדי אפשרויות של מודלים שאפשר לכלול בחבילה. לדוגמה, זיהוי דיו דיגיטלי תומך ביותר מ-300 שפות, ולא תמיד צריך להכניס כל שפה לתכונה במהלך ההתקנה. לשם כך, אנחנו מספקים את אפשרות ההתקנה השלישית, שבה המודלים יורדים לפי דרישה אחרי ההתקנה. נכון לעכשיו, האפשרות הזו זמינה רק ב-Digital ink recognition, ב-Translation וב-Entity extraction.