אתם יכולים להעביר מודל לסיווג תמונות שאומן באמצעות AutoML לממשקי ה-API של המודל בהתאמה אישית. אתם יכולים להמשיך לכלול את המודל באפליקציה או לארח אותו במסוף Firebase כמודל בהתאמה אישית. ה-API של AutoML לתוויות תמונות הוסר מ-ML Kit כי הוא הוחלף לחלוטין ב-API של Custom Model לתוויות תמונות.
| API | מה עומד להשתנות? |
|---|---|
| AutoML Vision Edge image labeling API | הוא הוחלף לחלוטין ב-API של תיוג תמונות במודל בהתאמה אישית. ה-API הקיים של AutoML Vision Edge לתוויות של תמונות הוסר. |
אם אתם משתמשים ב-AutoML Vision Edge API, פעלו לפי הוראות ההעברה ל-Android ול-iOS.
שאלות נפוצות
מה הסיבה לשינוי?
הוא עוזר לפשט את ממשקי ה-API של ML Kit, ומקל על שילוב ML Kit באפליקציה. בעזרת השינוי הזה, אתם יכולים להשתמש במודל שאומן ב-AutoML בדיוק באותו אופן כמו במודל בהתאמה אישית. היא גם מאפשרת להשתמש במודלים שאומנו באמצעות AutoML לזיהוי אובייקטים ולמעקב אחריהם, בנוסף לתיוג תמונות שאנחנו תומכים בו. בנוסף, ה-API של המודל בהתאמה אישית תומך גם במודלים עם מפת תוויות שמוטמעת במטא-נתונים, וגם במודלים עם קובצי מניפסט ותוויות נפרדים.
אילו יתרונות יש למעבר ל-SDK החדש?
- תכונות חדשות: אפשרות להשתמש במודלים שאומנו באמצעות AutoML גם לתיוג תמונות וגם לזיהוי אובייקטים ומעקב, ואפשרות להשתמש במודלים עם מפת תוויות שמוטמעת במטא-נתונים שלהם.
מדריך להעברת נתונים (מיגרציה) ל-Android
שלב 1: מעדכנים את הייבוא של Gradle
מעדכנים את יחסי התלות של ספריות Android של ML Kit בקובץ 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];