Вы можете передать модель классификации изображений, обученную AutoML, в API пользовательской модели. Вы можете продолжать либо объединять модель внутри своего приложения, либо разместить ее на консоли Firebase в качестве пользовательской модели. API маркировки изображений AutoML был удален из ML Kit, поскольку он полностью заменен 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
Обновите зависимости для библиотек Android ML Kit в файле 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
Обновите зависимости для какаопод iOS ML Kit в подфайле вашего приложения:
Особенность | Старые названия модулей | Новые названия модулей |
---|---|---|
Маркировка изображений AutoML без удаленной загрузки модели | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
Маркировка изображений AutoML с удаленной загрузкой модели | GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase | GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
Шаг 2. Обновите имена классов.
Если ваш класс присутствует в этой таблице, внесите указанное изменение:
Быстрый
Старый класс | Новый класс |
---|---|
AutoMLImageLabelerLocalModel | Локальнаямодель |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | Параметры CustomImageLabelerOptions |
Цель-C
Старый класс | Новый класс |
---|---|
MLKAutoMLImageLabelerLocalModel | МЛКЛокальнаяМодель |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Цель-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 и ее аффилированных лиц.
Последнее обновление: 2024-12-21 UTC.