Aller au contenu principal

Solution de référence pour les applications d'image

Découvrez comment réaliser l'inférence de modèles d'images distribués à partir de notebooks de solutions de référence en utilisant les UDF pandas, PyTorch et TensorFlow dans une configuration commune partagée par de nombreuses applications d'imagerie du monde réel. Cette configuration suppose que vous stockez de nombreuses images dans un magasin d'objets et, éventuellement, que de nouvelles images arrivent continuellement.

Workflow d'inférence de modèle d'image

Supposons que vous disposiez de plusieurs modèles de deep learning (DL) entraînés pour la classification d'images et la détection d'objets — par exemple, MobileNetV2 pour détecter des objets humains dans des photos upload par les utilisateurs afin de protéger la confidentialité — et que vous souhaitiez appliquer ces modèles DL aux images stockées.

Vous pouvez réentraîner les modèles et mettre à jour les prédictions calculées précédemment. Cependant, il est à la fois intensif en E/S et compute-heavy de charger de nombreuses images et d'appliquer des modèles DL. Heureusement, la charge de travail d'inférence est intrinsèquement parallèle et peut, en théorie, être facilement distribuée. Ce guide vous présente une solution pratique qui contient deux étapes principales :

  1. Chargement d'images ETL dans une table Delta à l'aide d'Auto Loader
  2. Effectuer l'inférence distribuée à l'aide de pandas UDF

Intégrer des images ETL dans une table Delta à l'aide d'Auto Loader

Pour les applications d'images, y compris les tâches de formation et d'inférence, Databricks vous recommande d'extraire, de transformer et de charger (ETL) les images dans une table Delta avec l'Auto Loader. L'Auto Loader aide à la gestion de données et gère automatiquement les nouvelles images qui arrivent en continu.

Dataset d'images ETL dans un Notebook Delta

Effectuer l'inférence distribuée à l'aide de UDF pandas

Les Notebooks suivants utilisent PyTorch et TensorFlow tf.Keras pour démontrer la solution de référence.

Inférence distribuée via PyTorch et Notebook UDF pandas

Inférence distribuée via le Notebook Keras et pandas UDF

Limitations : Tailles des fichiers image

Pour les fichiers d'images volumineux (taille moyenne des images supérieure à 100 Mo), Databricks recommande d'utiliser la table Delta uniquement pour gérer les métadonnées (liste des noms de fichiers) et de charger les images à partir du stockage d'objets en utilisant leurs chemins si nécessaire.