イメージ アプリケーションのリファレンス ソリューション

現実的な多くのイメージ アプリケーションによって一般に共有される構成で、pandas UDF、PyTorch、TensorFlow を使用して、参照ソリューション ノートブックから分散イメージ モデル推論を実行する方法について説明します。 この構成では、多数のイメージがオブジェクト ストアに格納されており、必要に応じて新しいイメージを継続的に受け取れることを想定しています。

イメージ モデル推論のワークフロー

たとえば、画像分類と物体検出のためにトレーニングしたディープ ラーニング (DL) モデルがいくつかあり (プライバシー保護のためにユーザーがアップロードした写真から人物を検出する MobileNetV2 など)、これらの DL モデルを格納されたイメージに適用するとします。

モデルを再トレーニングし、以前に計算した予測を更新することができます。 しかし、多くのイメージを読み込み、DL モデルを適用すると、I/O 負荷とコンピューティングの負荷がどちらも大きくなります。 さいわい、推論ワークロードは驚異的並列なので、理論的には簡単に分散できます。 このガイドでは、次の 2 つの主要なステージを含む実用的なソリューションを示します。

  1. 自動ローダーを使用して Delta テーブルにイメージの ETL を行う
  2. pandas UDF を使用して分散推論を実行する

自動ローダーを使用して Delta テーブルにイメージの ETL を行う

トレーニングや推論タスクを含むイメージ アプリケーションでは、Databricks は自動ローダーを使用して Delta テーブルにイメージを ETL する方法をお勧めします。 自動ローダーは、データ管理に役立ち、継続的に到着する新しいイメージを自動的に処理します。

Delta テーブルへのイメージ データセットの ETL ノートブック

ノートブックを入手

pandas UDF を使用して分散推論を実行する

次のノートブックでは、PyTorch と TensorFlow の tf.Keras を使用して、リファレンス ソリューションのデモを行います。

Pytorch と pandas UDF した分散推論ノートブック

ノートブックを入手

Keras と pandas UDF を使用した分散推論ノートブック

ノートブックを入手

制限事項: イメージ ファイルのサイズ

大きなイメージ ファイル (平均イメージ サイズが 100 MB を超える) の場合、Databricks ではメタデータ (ファイル名の一覧) の管理にのみ Delta テーブルを使用し、必要な場合にはパスを使用してオブジェクト ストアからイメージを読み込むことをお勧めしています。