אפשר להעביר מודל לסיווג תמונות שאומן באמצעות 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];