אפשר להעביר מודל לסיווג תמונות שאומן באמצעות AutoML לממשקי ה-API של המודל בהתאמה אישית. אתם יכולים להמשיך לארוז את המודל בתוך האפליקציה או לארח אותו במסוף Firebase כמודל מותאם אישית. הסרנו את AutoML Image Labeling API מ-ML Kit כי הוא הוחלף באופן מלא ב-Custom Model Image Labeling API.
| API | מה ישתנה? |
|---|---|
| AutoML Vision Edge image labeling API | הוא הוחלף לגמרי ב-Custom Model image labeling API. הסרנו את ה-API הקיים של AutoML Vision Edge לתוויות תמונות. |
אם אתם משתמשים ב-AutoML Vision Edge API, אתם צריכים לפעול לפי הוראות המיגרציה ל-Android ול-iOS.
שאלות נפוצות
מה הסיבה לשינוי?
השינוי הזה עוזר לפשט את ממשקי ה-API של ML Kit, ומקל על השילוב של ML Kit באפליקציה. בעקבות השינוי, אפשר להשתמש במודל שאומן באמצעות AutoML בדיוק כמו במודל מותאם אישית. בנוסף, היא מאפשרת לכם להשתמש במודלים שאומנו באמצעות AutoML לזיהוי ולמעקב של אובייקטים, בנוסף לתוויות תמונה שאנחנו תומכים בהן. בנוסף, ה-API של המודל המותאם אישית תומך גם במודלים עם מפת תוויות שמוטמעת במטא-נתונים שלהם, וגם במודלים עם קובצי מניפסט ותוויות נפרדים.
אילו יתרונות יש למעבר לגרסה החדשה של ה-SDK?
- תכונות חדשות: אפשרות להשתמש במודלים שאומנו ב-AutoML גם לתוויות של תמונות וגם לזיהוי ומעקב של אובייקטים, ואפשרות להשתמש במודלים עם מפת תוויות שמוטמעת במטא-נתונים שלהם.
מדריך להעברת נתונים (מיגרציה) ל-Android
שלב 1: עדכון של Gradle Imports
מעדכנים את התלויות בספריות ML Kit ל-Android בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle.kts) בהתאם לטבלה הבאה:
| תכונה | פריטים ישנים | ארטיפקט חדש |
|---|---|---|
| הוספת תוויות לתמונות באמצעות AutoML בלי להוריד מודל מרחוק | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
| הוספת תוויות לתמונות באמצעות AutoML עם הורדה מרחוק של מודל |
com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:linkfirebase:16.0.1 |
com.google.mlkit:image-labeling-custom:16.0.0-beta5 כדי לארח ולהוריד מודלים בהתאמה אישית, מעבירים את המודלים ל-Cloud Storage ומוסיפים לאפליקציה לוגיקה להורדה כדי לטעון אותם באמצעות LocalModel. פרטים נוספים זמינים ב[מדריך להעברת נתונים מ-Firebase ML ל-Cloud Storage][migrate-storage]. |
שלב 2: מעדכנים את שמות הכיתות
אם הכיתה שלכם מופיעה בטבלה הזו, צריך לבצע את השינוי שמצוין:
| הכיתה הישנה | כיתה חדשה |
|---|---|
| com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel | com.google.mlkit.common.model.LocalModel |
| com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemoteModel |
com.google.mlkit.common.model.LocalModel האפליקציה צריכה לכלול לוגיקה להורדה של מודלים שמתארחים מרחוק ולהפעיל אותם באמצעות LocalModel. |
| com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions | com.google.mlkit.vision.label.custom.CustomImageLabelerOptions |
שלב 3: עדכון שמות של שיטות
יש שינויים קלים בקוד:
-
LocalModelיכול עכשיו לעבור אתחול עם נתיב מודל (אם למודל יש מטא-נתונים שמכילים את מפת התוויות) או עם נתיב מניפסט של מודל (אם המניפסט, המודל והתוויות נמצאים בקבצים נפרדים). - מוסיפים לאפליקציה לוגיקה להורדת מודלים שמתארחים מרחוק לאחסון מקומי ולטעינתם באמצעות
LocalModel.
ריכזנו כאן כמה דוגמאות לשיטות ישנות וחדשות של Kotlin:
ישן
val localModel = AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute path to manifest file) .build() val optionsWithLocalModel = AutoMLImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build() val remoteModel = AutoMLImageLabelerRemoteModel.Builder("automl_remote_model") .build() val optionsWithRemoteModel = AutoMLImageLabelerOptions.Builder(remoteModel) .build()
חדש
// Similar process for both local and remotely-hosted models (that have been downloaded) val localModel = LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute path to manifest file) .build() val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build()
ריכזנו כאן כמה דוגמאות לשיטות Java ישנות וחדשות:
ישן
AutoMLImageLabelerLocalModel localModel = new AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute path to manifest file) .build(); AutoMLImageLabelerOptions optionsWithLocalModel = new AutoMLImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build(); AutoMLImageLabelerRemoteModel remoteModel = new AutoMLImageLabelerRemoteModel.Builder("automl_remote_model").build(); AutoMLImageLabelerOptions optionsWithRemoteModel = new AutoMLImageLabelerOptions.Builder(remoteModel) .build();
חדש
// Similar process for local models and remotely-hosted models (that have been downloaded) LocalModel localModel = new LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute path to manifest file) .build(); CustomImageLabelerOptions optionsWithLocalModel = new CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build();
מדריך להעברת נתונים (מיגרציה) ל-iOS
דרישות מוקדמות
- נדרשת גרסה Xcode 13.2.1 ואילך.
שלב 1: מעדכנים את Cocoapods
מעדכנים את יחסי התלות של ML Kit iOS cocoapods בקובץ Podfile של האפליקציה:
| תכונה | שמות הפודים הקודמים | שמות הפודים החדשים |
|---|---|---|
| הוספת תוויות לתמונות באמצעות AutoML בלי להוריד מודל מרחוק | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| הוספת תוויות לתמונות באמצעות AutoML עם הורדה מרחוק של מודל |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom כדי לארח ולהוריד מודלים בהתאמה אישית, מעבירים את המודלים ל-Cloud Storage ומוסיפים לאפליקציה לוגיקה של הורדה כדי לטעון אותם כמודלים מקומיים. פרטים נוספים זמינים ב[מדריך להעברה של Firebase ML ל-Cloud Storage][migrate-storage]. |
שלב 2: מעדכנים את שמות הכיתות
אם הכיתה שלכם מופיעה בטבלה הזו, צריך לבצע את השינוי שמצוין:
Swift
| הכיתה הישנה | כיתה חדשה |
|---|---|
| AutoMLImageLabelerLocalModel | LocalModel |
| AutoMLImageLabelerRemoteModel |
LocalModel כדי לארח ולהוריד מודלים בהתאמה אישית, מעבירים את המודלים ל-Cloud Storage ומוסיפים לאפליקציה לוגיקה להורדה כדי לטעון אותם כמודלים מקומיים. פרטים נוספים זמינים ב[מדריך להעברה של Firebase ML ל-Cloud Storage][migrate-storage]. |
| AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
| הכיתה הישנה | כיתה חדשה |
|---|---|
| MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
| MLKAutoMLImageLabelerRemoteModel |
MLKLocalModel כדי לארח ולהוריד מודלים בהתאמה אישית, מעבירים את המודלים ל-Cloud Storage ומוסיפים לאפליקציה לוגיקה להורדה כדי לטעון אותם כמודלים מקומיים. פרטים נוספים זמינים ב[מדריך להעברה של Firebase ML ל-Cloud Storage][migrate-storage]. |
| MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
שלב 3: עדכון שמות של שיטות
יש שינויים קלים בקוד:
-
LocalModelיכול עכשיו לעבור אתחול עם נתיב מודל (אם למודל יש מטא-נתונים שמכילים את מפת התוויות) או עם נתיב מניפסט של מודל (אם המניפסט, המודל והתוויות נמצאים בקבצים נפרדים). - מוסיפים לאפליקציה לוגיקה להורדת מודלים שמתארחים מרחוק לאחסון מקומי ולטעינתם באמצעות
LocalModel.
הנה כמה דוגמאות לשיטות ישנות וחדשות של Swift:
ישן
let localModel =
AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)חדש
// Similar process for local models and remotely-hosted models (that have been downloaded) guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return } let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
ריכזנו כאן כמה דוגמאות לשיטות ישנות וחדשות של Objective-C:
ישן
MLKAutoMLImageLabelerLocalModel *localModel = [[MLKAutoMLImageLabelerLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKAutoMLImageLabelerOptions *optionsWithLocalModel = [[MLKAutoMLImageLabelerOptions alloc] initWithLocalModel:localModel]; MLKAutoMLImageLabelerRemoteModel *remoteModel = [[MLKAutoMLImageLabelerRemoteModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKAutoMLImageLabelerOptions *optionsWithRemoteModel = [[MLKAutoMLImageLabelerOptions alloc] initWithRemoteModel:remoteModel];
חדש
// Similar process for local models and remotely-hosted models (that have been downloaded) MLKLocalModel *localModel = [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKCustomImageLabelerOptions *optionsWithLocalModel = [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];