Вы можете передавать обученную с помощью AutoML модель классификации изображений в API пользовательских моделей. Вы можете либо продолжать включать модель в свое приложение, либо размещать ее в консоли Firebase как пользовательскую модель. API для разметки изображений AutoML был удален из ML Kit, поскольку он полностью заменен API для разметки изображений с помощью пользовательских моделей.
| API | Что меняется? |
|---|---|
| API для разметки изображений AutoML Vision Edge | Он полностью заменен API для разметки изображений Custom Model. Существующий API для разметки изображений AutoML Vision Edge удален. |
Если вы в настоящее время используете ML Kit с API AutoML Vision Edge, пожалуйста, следуйте инструкциям по миграции для 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
Обновите зависимости для Cocoapods ML Kit для iOS в файле Podfile вашего приложения:
| Особенность | Старое(ые) название(я) пода | Новое(ые) название(я) пода |
|---|---|---|
| Автоматическая разметка изображений с помощью AutoML без удаленной загрузки модели. | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| Автоматическая разметка изображений с использованием AutoML и удаленной загрузкой моделей. | GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase | GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
Шаг 2: Обновите названия классов.
Если ваш класс указан в этой таблице, внесите соответствующее изменение:
Быстрый
| Старый класс | Новый класс |
|---|---|
| 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];
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-01-28 UTC.