אפשר להעביר מודל לסיווג תמונות שאומן באמצעות AutoML למודל המותאם אישית. ממשקי API. אפשר להמשיך לשלב את המודל בתוך האפליקציה או לארח אותו במסוף Firebase כמודל מותאם אישית. ממשק ה-API של AutoML לתיוג תמונות הוסרה מ-ML Kit כי היא מוחלפת באופן מלא בתמונה בהתאמה אישית של המודל Labeling API
API | מה משתנה? |
---|---|
API של AutoML Vision Edge לתיוג תמונות | הוא מוחל במלואו בממשק ה-API של הוספת תוויות לתמונות של מודלים מותאמים אישית. קיים ממשק ה-API של AutoML Vision Edge לתיוג תמונות הוסר. |
אם אתם משתמשים כרגע ב-ML Kit שמשתמשים ב-AutoML Vision Edge API, אתם צריכים: פועלים לפי הוראות ההעברה ל-Android ול-iOS.
שאלות נפוצות
מה הסיבה לשינוי הזה?
הוא עוזר לפשט את ממשקי ה-API של ML Kit ומקל על השילוב של ML Kit באפליקציה שלך. לאחר השינוי, תוכלו להשתמש במודל שעבר אימון AutoML בדיוק כמו מודל מותאם אישית. הוא גם מאפשר להשתמש במודלים שאומנו על ידי AutoML לזיהוי ולמעקב של אובייקטים, בנוסף לתיוג תמונות תומכים כרגע. בנוסף, ה-API של המודלים בהתאמה אישית תומך בשני המודלים עם מפת תוויות שמוטמעת במטא-נתונים שלה, ומודלים עם מניפסט נפרד קובצי תוויות.
מהם היתרונות של המעבר לערכת ה-SDK החדשה?
- תכונות חדשות: יכולת להשתמש במודלים שאומנו על ידי AutoML גם לתיוג תמונות וזיהוי אובייקטים מעקב ויכולת להשתמש במודלים עם מפת תוויות שמוטמעים במטא-נתונים שלו.
מדריך להעברת נתונים (מיגרציה) ל-Android
שלב 1: מעדכנים את תהליך הייבוא של Gradle
עדכון יחסי התלות של ספריות ML Kit ל-Android במודול
(ברמת האפליקציה) קובץ Gradle (בדרך כלל app/build.gradle
) בהתאם
טבלה:
תכונה | ארטיפקטים ישנים | ארטיפקט חדש |
---|---|---|
הוספת תוויות לתמונה באמצעות 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 com.google.mlkit:linkfirebase:17.0.0 |
שלב 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.CustomRemoteModel |
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions | com.google.mlkit.vision.label.custom.CustomImageLabelerOptions |
שלב 3: מעדכנים את שמות השיטות
יש שינויים קלים בקוד:
- עכשיו אפשר לאתחל את
LocalModel
באמצעות נתיב של קובץ מודל (אם למודל יש מטא-נתונים שמכילים את מפת התווית) או נתיב קובץ של מניפסט המודל (אם המניפסט, המודל והתוויות נמצאים בקבצים נפרדים). - אפשר לארח מרחוק מודל מותאם אישית דרך מסוף Firebase ולהפעיל
CustomRemoteModel
באמצעותFirebaseModelSource
.
הנה כמה דוגמאות לשיטות Kotlin ישנות וחדשות:
ישן
val localModel = AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute file 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()
חדש
val localModel = LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute file path to manifest file) .build() val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build() val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model") .build() val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build() val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel) .build()
הנה כמה דוגמאות לשיטות Java ישנות וחדשות:
ישן
AutoMLImageLabelerLocalModel localModel = new AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute file 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();
חדש
LocalModel localModel = new LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute file path to manifest file) .build() CustomImageLabelerOptions optionsWithLocalModel = new CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build(); FirebaseModelSource firebaseModelSource = new FirebaseModelSource.Builder("automl_remote_model").build(); CustomRemoteModel remoteModel = new CustomRemoteModel.Builder(firebaseModelSource).build(); CustomImageLabelerOptions optionsWithRemoteModel = new CustomImageLabelerOptions.Builder(remoteModel).build();
מדריך להעברת נתונים (מיגרציה) ל-iOS
דרישות מוקדמות
- נדרש Xcode 13.2.1 ומעלה.
שלב 1: מעדכנים את Cocoapods
מעדכנים את יחסי התלות של ML Kit ב-iOS ב-Podfile של האפליקציה:
תכונה | שמות ישנים של פודקאסטים | שמות חדשים של פודקאסטים |
---|---|---|
הוספת תוויות לתמונה באמצעות AutoML ללא הורדת מודל מרחוק | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
הוספת תיוג לתמונה באמצעות AutoML באמצעות הורדת מודל מרחוק |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
שלב 2: מעדכנים את שמות הכיתות
אם הכיתה מופיעה בטבלה הזו, צריך לבצע את השינוי הרצוי:
Swift
כיתה ישנה | כיתה חדשה |
---|---|
AutoMLImageLabelerLocalModel | LocalModel |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
כיתה ישנה | כיתה חדשה |
---|---|
MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Objective-C
שלב 3: מעדכנים את שמות השיטות
יש שינויים קלים בקוד:
- עכשיו אפשר לאתחל את
LocalModel
באמצעות נתיב של קובץ מודל (אם למודל יש מטא-נתונים שמכילים את מפת התווית) או נתיב קובץ של מניפסט המודל (אם המניפסט, המודל והתוויות נמצאים בקבצים נפרדים). - אפשר לארח מרחוק מודל מותאם אישית דרך מסוף Firebase ולהפעיל
CustomRemoteModel
באמצעותFirebaseModelSource
.
הנה כמה דוגמאות לשיטות 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)
חדש
guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return } let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel) let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model") let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource) let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)
לפניכם כמה דוגמאות לשיטות ישנות וחדשות של 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];
חדש
MLKLocalModel *localModel = [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKCustomImageLabelerOptions *optionsWithLocalModel = [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel]; MLKFirebaseModelSource *firebaseModelSource = [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"]; MLKCustomRemoteModel *remoteModel = [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource]; MLKCustomImageLabelerOptions *optionsWithRemoteModel = [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];