AutoML でトレーニングした画像分類モデルをカスタムモデル API に渡すことができます。モデルをアプリ内にバンドルするか、Firebase コンソールでカスタムモデルとしてホストすることもできます。AutoML 画像ラベル付け API は、カスタムモデル画像ラベル付け API に完全に置き換えられたため、ML Kit から削除されました。
| API | 変更内容 |
|---|---|
| AutoML Vision Edge 画像ラベル付け API | これは、カスタムモデル画像ラベリング API に完全に置き換えられました。既存の AutoML Vision Edge 画像ラベル付け API が削除されました。 |
AutoML Vision Edge API を使用する場合は、Android と iOS の移行手順に沿って操作してください。
よくある質問
変更の理由を教えてください。
これにより、ML Kit API が簡素化され、ML Kit をアプリに簡単に統合できるようになります。この変更により、カスタムモデルとまったく同じ方法で AutoML トレーニング済みモデルを使用できるようになります。また、サポートされている画像ラベリングに加えて、オブジェクト検出とトラッキングに AutoML トレーニング済みモデルを使用することもできます。さらに、カスタムモデル API は、メタデータにラベルマップが埋め込まれたモデルと、マニフェスト ファイルとラベルファイルが別々のモデルの両方をサポートしています。
新しい SDK に移行するとどのようなメリットがありますか?
- 新機能: AutoML でトレーニングしたモデルを画像ラベリングとオブジェクト検出およびトラッキングの両方に使用できる機能と、メタデータにラベルマップが埋め込まれたモデルを使用できる機能。
Android 移行ガイド
ステップ 1: Gradle のインポートを更新する
次の表に従って、モジュール(アプリレベル)の Gradle ファイル(通常は app/build.gradle.kts)で ML Kit Android ライブラリの依存関係を更新します。
| 機能 | 古いアーティファクト | 新しいアーティファクト |
|---|---|---|
| リモートモデルのダウンロードなしの画像ラベル付け 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 メソッドと新しい 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 メソッドと新しい 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 を更新する
アプリの Podfile で ML Kit iOS cocoapods の依存関係を更新します。
| 機能 | 以前の Pod 名 | 新しい Pod 名 |
|---|---|---|
| リモートモデルのダウンロードなしの画像ラベル付け 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 メソッドと新しい 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 メソッドと新しい 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];