Workflow d’inférence de modèle de Deep Learning

Pour l’inférence de modèle pour les applications de Deep Learning, Azure Databricks recommande le workflow suivant. Par exemple, pour les notebooks qui utilisent TensorFlow et PyTorch, consultez les Exemples d’inférence de modèle de Deep Learning.

  1. Chargez les données dans des DataFrames Spark. Selon le type de données, Azure Databricks recommande les méthodes suivantes pour charger les données :

    • Fichiers image (JPG, PNG) : chargez les chemins d’accès aux images dans un DataFrame Spark. Le chargement d’image et le prétraitement des données d’entrée se produisent dans une fonction définie par l’utilisateur pandas.
    files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
    
    df = spark.read.format("tfrecords").load(image_path)
    
    • Sources de données telles que Parquet, CSV, JSON, JDBC et autres métadonnées : chargez les données à l’aide de sources de données Spark.
  2. Effectuez l’inférence de modèle à l’aide des fonctions définies par l’utilisateur pandas.Les fonctions définies par l’utilisateur pandas utilisent Apache Arrow pour transférer des données et pandas pour travailler avec les données. Pour effectuer l’inférence de modèle, les étapes générales du workflow avec des fonctions définies par l’utilisateur pandas sont les suivantes.

    1. Charger le modèle formé : pour plus d’efficacité, Azure Databricks recommande de diffuser les poids du modèle à partir du pilote, de charger le graphique du modèle et d’obtenir les poids des variables diffusées dans une fonction définie par l’utilisateur pandas.
    2. Charger et prétraiter les données d’entrée : pour charger des données par lots, Azure Databricks recommande d’utiliser l'API tf.data pour TensorFlow et la classe DataLoader pour PyTorch. Celles-ci prennent également en charge la pré-récupération et le chargement multithread pour masquer la latence liée aux E/S.
    3. Exécuter une prédiction de modèle : exécutez l’inférence de modèle sur le lot de données.
    4. Renvoyer des prédictions aux DataFrames Spark : collectez les résultats de prédiction et retournez comme pd.Series.

Exemples d’inférence de modèle de Deep Learning

Les exemples dans cette section suivent le workflow d’inférence de Deep Learning recommandé. Ces exemples montrent comment effectuer l’inférence de modèle à l’aide d’un modèle de réseau neuronal de réseaux résiduels (ResNets) profond pré-formé.