移行ガイド

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 向け ML Kit の既存のオンデバイス ベース API は非推奨になり、更新が受信されなくなります。

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

カスタムモデル API

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

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

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

変わっていない点は何ですか?

Firebase ML ではクラウドベースの API とサービスを引き続き利用できます。

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

  • Firebase ML では、引き続きモデルのデプロイが可能です。

よくある質問

この変更の理由

この変更は、プロダクトで提供されているソリューションを明確にするために行われます。この変更により、新しい 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 Lifecycle サポートが追加されました。addObserver を使用して、ユーザー / システムによる画面の回転または終了時にアプリが ML Kit API の開始と破棄を自動的に管理できるようになりました。これにより、CameraX との統合が容易になります。

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

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

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

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

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

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