画像アプリケーション 向けのリファレンスソリューション

多くの実際の画像アプリケーションで共有される共通の構成で、pandas UDF、PyTorch、および TensorFlow を使用して、参照ソリューション ノートブックから分散イメージ モデルの推論を行う方法について説明します。 この構成では、オブジェクト・ストアに多数のイメージを保管し、オプションで新しいイメージが継続的に到着することを前提としています。

画像モデル推論 のワークフロー

画像分類とオブジェクト検出用にトレーニング済みのディープラーニング (DL) モデルが複数あり (たとえば、プライバシーを保護するためにユーザーがアップロードした写真内の人物を検出するための MobileNetV2)、これらの DL モデルを格納された画像に適用するとします。

モデルを再トレーニングし、以前のコンピュート予測を更新できます。 ただし、多くの画像を読み込んでDLモデルを適用するには、I/O負荷とコンピュート負荷の両方があります。 幸いなことに、推論ワークロードは驚くほど並列であり、理論的には簡単に分散できます。 このガイドでは、次の 2 つの主要な段階を含む実用的なソリューションについて説明します。

  1. Auto Loader を使用して DeltaテーブルへのETLイメージ

  2. pandas UDF を使用した分散推論の実行

Auto Loader を使用して Delta テーブルへのETLイメージ

トレーニング タスクや推論タスクを含むイメージ アプリケーションの場合、Databricks では、 Auto Loaderを使用して Delta テーブルにイメージを ETL することをお勧めします。 この Auto Loader はデータマネジメントを支援し、継続的に到着する新しい画像を自動的に処理します。

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

ノートブックを新しいタブで開く

pandas UDF を使用した分散推論の実行

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

PyTorch と pandas のUDFノートブックによる分散推論

ノートブックを新しいタブで開く

Keras と pandas のUDFノートブックによる分散推論

ノートブックを新しいタブで開く

制限事項: 画像ファイルのサイズ

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