移行ガイド

2020 年 6 月 3 日に、デバイス上の API とクラウドベースの API を区別しやすくするために、Firebase 向け ML Kit にいくつかの変更を行いました。現在の API セットは、次の 2 つのプロダクトに分割されています。

  • 単に ML Kit という新しいプロダクト: デバイス上の API をすべて含む

  • Firebase Machine Learning。クラウドベースの API とカスタムモデルのデプロイに重点を置いています。

この変更により、デバイス上のソリューションのみが必要な場合に、ML Kit をアプリに統合しやすくなります。このドキュメントでは、アプリを Firebase ML Kit SDK から新しい ML Kit SDK に移行する方法について説明します。

変更内容

オンデバイス ベース API

次の API が新しいスタンドアロン ML Kit SDK に移動しました。

  • バーコード スキャン
  • 顔検出
  • 画像ラベル付け
  • オブジェクトの検出とトラッキング
  • テキスト認識
  • 言語 ID
  • スマート リプライ
  • 翻訳する
  • AutoML Vision Edge 推論 API

Firebase SDK 用 ML Kit の既存のオンデバイスベース API は非推奨になり、更新されなくなります。

これらの API を現在アプリで使用している場合は、Android 用の ML Kit 移行ガイドiOS 用の ML Kit 移行ガイドに沿って、新しい ML Kit SDK に移行してください。

カスタムモデル API

Firebase でホストされているモデルをダウンロードする場合、カスタムモデル ダウンローダーは引き続き Firebase ML SDK を介して提供されます。SDK は利用可能な最新のモデルを取得し、推論のために個別の TensorFlow Lite ランタイムに渡します。

Firebase SDK 向け ML Kit の既存のカスタムモデル インタープリタは非推奨であるため、更新を受け取れなくなります。推論には、TensorFlow Lite ランタイムを直接使用することをおすすめします。また、画像のラベル付け、オブジェクト検出、トラッキング API にのみカスタムモデルを使用する場合は、ML Kit のこれらの API のカスタムモデルを直接使用できるようになりました。

詳しい手順については、AndroidiOS の移行ガイドをご覧ください。

変更されない点

クラウドベースの API とサービスは、Firebase ML で引き続き提供されます。

  • クラウドベースの画像ラベル付け、テキスト認識、ランドマーク認識の API は、Firebase ML SDK から引き続き使用できます。

  • Firebase ML では引き続きモデルのデプロイも提供する

よくある質問

変更の理由

この変更は、Google Cloud が提供するソリューションを明確にすることを目的としています。この変更により、新しい ML Kit SDK は、すべてのデータ処理がデバイス上で行われ、デベロッパーは無料で利用するオンデバイスの機械学習に完全に重点を置いています。以前は Firebase ML Kit に含まれていたクラウド サービスは Firebase ML で引き続き使用でき、ML Kit API と併用できます。

オンデバイス API の場合、新しい ML Kit SDK を使用すると、デベロッパーは ML Kit をアプリに簡単に統合できます。今後は、アプリのプロジェクトに依存関係を追加して、API の使用を開始するだけで済みます。デバイス上の API を使用するためだけに Firebase プロジェクトを設定する必要はありません。

Firebase でホストされているモデルはどうなりますか?

Firebase Machine Learning は、以前と同様に引き続きモデルを提供します。この機能は変わりません。改善点は次のとおりです。

  • Python または Node SDK を使用して、モデルを Firebase にプログラムでデプロイできるようになりました。

  • Firebase ML SDK を TensorFlow Lite ランタイムと組み合わせて使用できるようになりました。Firebase SDK がモデルをデバイスにダウンロードし、TensorFlow Lite ランタイムが推論を実行します。これにより、カスタムビルドを含め、ランタイム バージョンを簡単に選択できます。

新しい ML Kit SDK に移行すると、どのようなメリットがありますか?

新しい SDK に移行することで、最新のバグ修正やオンデバイス API の改善をアプリで確実に利用できるようになります。たとえば、最初のリリースでは次のようないくつかの変更が加えられています。

  • 新しいカスタム画像ラベル付け API とカスタム オブジェクト検出およびトラッキング API を使用して、カスタム画像分類モデルをアプリに簡単に統合し、リアルタイムのインタラクティブなユーザー エクスペリエンスを構築できるようになりました。

  • すべての API に Android Jetpack ライフサイクルのサポートが追加されました。addObserver を使用して、ユーザー / システムによってアプリが画面の回転や終了を行う際に ML Kit API の開始と破棄を自動的に管理できるようになりました。これにより、CameraX との統合が容易になります。

最新の変更の完全なリストについては、ML Kit SDK のリリースノートをご覧ください。

現在 Firebase 向け ML Kit を使用しています。移行する必要があるのはいつですか?

これは、アプリで現在使用している Firebase 向け ML Kit の API によって異なります。

  • Firebase SDK 向け ML Kit のデバイス上のベース API は、当面は引き続きご利用いただけます。ただし、新しい ML Kit SDK への切り替えを遅らせると、新機能とアップデートのメリットを享受できなくなります。また、アプリの他のコンポーネントを更新すると、依存関係の競合が発生する可能性があります。これは、他の依存関係(直接または間接)の一部が、古い Firebase SDK 用の ML Kit で想定されるものよりも新しい場合に発生することがあります。たとえば、OkHttp や firebase-common などのライブラリが使用される可能性があります。

  • Firebase SDK を介して Cloud APIs を使用している場合は、現時点では変更する必要はありません。

  • カスタムモデルのデプロイを使用している場合は、TensorFlow Lite ランタイムで直接推論を実行できる最新バージョンにアップグレードすることをおすすめします。