כל התכונות של ML Kit משתמשות כברירת מחדל במודלים של למידת מכונה שאומנו על ידי Google (שנקראים מודלים בסיסיים). המדריך הזה רלוונטי רק למודלים בסיסיים. כאן אפשר לקרוא הנחיות לגבי מודלים בהתאמה אישית.
אפשר להתקין מודלים בממשקי ה-API של ML Kit באחת משלוש דרכים:
- לא מאוגדים: המודלים מורדים ומנוהלים דרך Google Play Services.
- חבילה: המודלים מקושרים באופן סטטי לאפליקציה בזמן הבנייה.
- הורדה דינמית: המודלים מורדים לפי דרישה.
נתיבי התקנה נתמכים לכל API
בטבלה הבאה מוצגות נתיבי ההתקנה של המודלים שנתמכים בכל תכונה של ML Kit:
| Unbundled | חבילה | הורדה דינמית | |
| זיהוי טקסט גרסה 2 | ✅ | ✅ | |
| זיהוי פנים | ✅ | ✅ | |
| זיהוי רשת פנים | ✅ | ||
| זיהוי תנוחה | ✅ | ||
| פילוח של תמונות סלפי | ✅ | ||
| סריקת ברקודים | ✅ | ✅ | |
| תוויות של תמונות | ✅ | ✅ | |
| זיהוי ומעקב אחרי אובייקטים | ✅ | ||
| זיהוי דיו דיגיטלי | ✅ | ||
| סורק מסמכים | ✅ | ||
| פילוח לפי נושא | ✅ | ||
| סורק הקוד של Google | ✅ | ||
| זיהוי שפה | ✅ | ✅ | |
| תרגום | ✅ | ||
| תשובה מהירה | ✅ | ✅ | |
| חילוץ ישויות | ✅ |
במדריכים ספציפיים ל-API מפורטות אפשרויות ההתקנה שזמינות ל-API מסוים.
ההבדלים העיקריים בין אפשרויות ההתקנה
| Unbundled | חבילה | הורדה דינמית | |
| איפה מאוחסנים המודלים? | נמצא ב-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>אפשר לבקש הורדה מפורשת דרך 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 מציעים מודלים להורדה דינמית
חלק מהממשקי של ML Kit API כוללים יותר מדי אפשרויות של מודלים לאריזה. לדוגמה, זיהוי כתב דיגיטליתומך ביותר מ-300 שפות, ולא תמיד צריך להוסיף את כל השפות לתכונה במהלך ההתקנה. לכן, אנחנו מספקים את אפשרות ההתקנה השלישית, שבה המודלים מורדים לפי דרישה אחרי ההתקנה. כרגע, האפשרות הזו זמינה רק עבור זיהוי דיו דיגיטלי, תרגום וחילוץ ישויות.