Вы можете передать обученную AutoML модель классификации изображений в API пользовательских моделей. Вы можете продолжить либо объединять модель в своем приложении, либо размещать ее в Firebase Console как пользовательскую модель. API маркировки изображений AutoML был удален из ML Kit, поскольку он полностью заменен API маркировки изображений пользовательской модели.
API | Что меняется? |
---|---|
API маркировки изображений AutoML Vision Edge | Он полностью заменен API маркировки изображений Custom Model. Существующий 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 Console и инициализировать
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
Обновите зависимости для Cocoapods ML Kit iOS в Podfile вашего приложения:
Особенность | Старое название(я) модуля | Новое имя(я) модуля |
---|---|---|
Маркировка изображений AutoML без удаленной загрузки модели | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
Маркировка изображений AutoML с удаленной загрузкой модели | GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase | GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
Шаг 2: Обновите имена классов
Если ваш класс указан в этой таблице, внесите указанные изменения:
Быстрый
Старый класс | Новый класс |
---|---|
AutoMLImageLabelerLocalModel | ЛокальнаяМодель |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
Старый класс | Новый класс |
---|---|
MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Objective-C
Шаг 3: Обновите названия методов
Изменения кода минимальны:
-
LocalModel
теперь можно инициализировать либо с помощью пути к файлу модели (если модель имеет метаданные, содержащие карту меток), либо с помощью пути к файлу манифеста модели (если манифест, модель и метки находятся в отдельных файлах). - Вы можете разместить пользовательскую модель удаленно через Firebase Console и инициализировать
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];
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-06-13 UTC.