イメージ アプリケーションのリファレンス ソリューション
現実的な多くのイメージ アプリケーションによって一般に共有される構成で、pandas UDF、PyTorch、TensorFlow を使用して、参照ソリューション ノートブックから分散イメージ モデル推論を実行する方法について説明します。 この構成では、多数のイメージがオブジェクト ストアに格納されており、必要に応じて新しいイメージを継続的に受け取れることを想定しています。
イメージ モデル推論のワークフロー
たとえば、画像分類と物体検出のためにトレーニングしたディープ ラーニング (DL) モデルがいくつかあり (プライバシー保護のためにユーザーがアップロードした写真から人物を検出する MobileNetV2 など)、これらの DL モデルを格納されたイメージに適用するとします。
モデルを再トレーニングし、以前に計算した予測を更新することができます。 しかし、多くのイメージを読み込み、DL モデルを適用すると、I/O 負荷とコンピューティングの負荷がどちらも大きくなります。 さいわい、推論ワークロードは驚異的並列なので、理論的には簡単に分散できます。 このガイドでは、次の 2 つの主要なステージを含む実用的なソリューションを示します。
- 自動ローダーを使用して Delta テーブルにイメージの ETL を行う
- 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 テーブルを使用し、必要な場合にはパスを使用してオブジェクト ストアからイメージを読み込むことをお勧めしています。