Entraîner à l’aide d’AutoML (GeoAI)

Disponible avec une licence Image Analyst.

Synthèse

Entraîne un modèle de Deep Learning en créant des pipelines d’entraînement et en automatisant une grande partie du processus d’entraînement. Cela inclut l’augmentation des données, la sélection des modèles, l’optimisation des hyperparamètres et la déduction de la taille de lot. Les sorties de l’outil comprennent des mesures de performance du meilleur modèle sur les données d’entraînement, ainsi que le paquetage de modèle de Deep Learning entraîné (fichier .dlpk) utilisable en entrée de l’outil Extraire des entités à l’aide de modèles IA pour réaliser une prévision sur une nouvelle imagerie.

En savoir plus sur le fonctionnement d’AutoDL

Utilisation

  • Vous devez installer le framework de Deep Learning approprié pour Python dans AllSource.

    Découvrir comment installer des frameworks de Deep Learning pour ArcGIS

  • Si vous comptez entraîner des modèles dans un environnement déconnecté, reportez-vous à la rubrique Installation supplémentaire pour un environnement déconnecté pour plus d’informations.

  • Le temps nécessaire à l’outil pour produire le modèle entraîné dépend des éléments suivants :

    • La quantité de données fournies pendant l’entraînement
    • La valeur du paramètre Mode AutoDL
    • La valeur du paramètre Limite de temps totale (heures)

    Par défaut, le minuteur est défini sur 2 heures pour tous les modes. Le mode Basique entraîne les réseaux sélectionnés sur le backbone par défaut dans le délai imparti. Le mode Avancé divise le délai total en deux moitiés, réalise l’évaluation des modèles dans la première moitié, et enfin choisi les deux modèles les plus performants pour les évaluer sur d’autres backbones. Si la quantité de données entraînées est élevée, il se peut que tous les modèles sélectionnés ne soient pas évalués dans le délai de 2 heures. Dans ce cas, le modèle le plus performant déterminé dans ce délai est considéré comme le modèle optimal. Vous pouvez alors utiliser ce modèle ou relancer l’outil avec une valeur de paramètre Limite de temps totale (heures) plus élevée.

  • Cet outil permet également d’optimiser un modèle entraîné existant. Par exemple, un modèle existant qui a été entraîné pour des voitures peut être adapté pour l’identification de camions.

  • Pour exécuter cet outil, une machine équipée d’une unité de traitement graphique (GPU) est nécessaire. Si vous avez plusieurs unités de traitement graphique, utilisez plutôt le paramètre d’environnement ID de GPU.

  • Les données d’entraînement en entrée pour cet outil doivent inclure les dossiers d’images et d’étiquettes générés par l’outil Exporter les données d’entraînement pour le Deep Learning.

  • Les cas d’usage potentiels pour l’outil incluent l’entraînement de modèles de détection d’objets et de classification de pixels en vue d’extraire des entités telles que des emprises de bâtiments, des piscines, des panneaux solaires, la classification de l’occupation du sol, etc.

  • Pour en savoir plus sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes que vous pouvez rencontrer, consultez la FAQ sur le Deep Learning.

Paramètres

ÉtiquetteExplicationType de données
Données d’entraînement en entrée

Dossiers contenant les fragments d’image, les étiquettes et les statistiques nécessaires à l’entraînement du modèle. Il s’agit de la sortie de l’outil Exporter les données d’entraînement pour le Deep Learning. Le format de métadonnées des données exportées doit être Classified_Tiles, PASCAL_VOC_rectangles ou KITTI_rectangles.

Folder
Modèle en sortie

Modèle entraîné en sortie destiné à être enregistré en tant que paquetage de Deep Learning (fichier .dlpk).

File
Modèle pré-entraîné
(Facultatif)

Modèle pré-entraîné utilisé pour optimiser le nouveau modèle. L’entrée est un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage de Deep Learning (.dlpk).

Un modèle pré-entraîné avec des classes similaires peut être optimisé pour s’ajuster au nouveau modèle. Le modèle pré-entraîné doit avoir été entraîné avec le même type de modèle et le même modèle backbone que ceux qui serviront à entraîner le nouveau modèle.

File
Limite de temps totale (heures)
(Facultatif)

Limite de temps totale en heures nécessaire à l’entraînement du modèle AutoDL. La valeur par défaut est de 2 heures.

Double
Mode AutoDL
(Facultatif)

Indique le mode AutoDL à utiliser et le degré d’intensité de la recherche AutoDL.

  • BasiqueLe mode Basique est utilisé. Ce mode permet d’entraîner tous les réseaux sélectionnés sans l’optimisation des hyperparamètres.
  • AvancéLe mode Avancé est utilisé. Ce mode permet de réaliser l’optimisation des hyperparamètres sur les deux modèles les plus performants.
String
Réseaux neuronaux
(Facultatif)

Indique les architectures à utiliser pour entraîner le modèle.

Par défaut, tous les réseaux sont utilisés.

  • SingleShotDetectorL’architecture SingleShotDetector est utilisée pour entraîner le modèle. SingleShotDetector est utilisé pour la détection d’objets.
  • RetinaNetL’architecture RetinaNet est utilisée pour entraîner le modèle. RetinaNet est utilisé pour la détection d’objets.
  • FasterRCNNL’architecture FasterRCNN est utilisée pour entraîner le modèle. FasterRCNN est utilisé pour la détection d’objets.
  • YOLOv3L’architecture YOLOv3 est utilisée pour entraîner le modèle. YOLOv3 est utilisé pour la détection d’objets.
  • HRNetL’architecture HRNet est utilisée pour entraîner le modèle. HRNet est utilisé pour la classification de pixels.
  • ATSSL’architecture ATSS est utilisée pour entraîner le modèle. ATSS est utilisé pour la détection d’objets.
  • CARAFEL’architecture CARAFE est utilisée pour entraîner le modèle. CARAFE est utilisé pour la détection d’objets.
  • CascadeRCNNL’architecture CascadeRCNN est utilisée pour entraîner le modèle. CascadeRCNN est utilisé pour la détection d’objets.
  • CascadeRPNL’architecture CascadeRPN est utilisée pour entraîner le modèle. CascadeRPN est utilisé pour la détection d’objets.
  • DCNL’architecture DCN est utilisée pour entraîner le modèle. DCN est utilisé pour la détection d’objets.
  • DeepLabL’architecture DeepLab est utilisée pour entraîner le modèle. DeepLab est utilisé pour la classification de pixels.
  • UnetClassifierL’architecture UnetClassifier est utilisée pour entraîner le modèle. UnetClassifier est utilisé pour la classification de pixels.
  • PSPNetClassifierL’architecture PSPNetClassifier est utilisée pour entraîner le modèle. PSPNetClassifier est utilisé pour la classification de pixels.
  • ANNL’architecture ANN est utilisée pour entraîner le modèle. ANN est utilisé pour la classification de pixels.
  • APCNetL’architecture APCNet est utilisée pour entraîner le modèle. APCNet est utilisé pour la classification de pixels.
  • CCNetL’architecture CCNet est utilisée pour entraîner le modèle. CCNet est utilisé pour la classification de pixels.
  • CGNetL’architecture CGNet est utilisée pour entraîner le modèle. CGNet est utilisé pour la classification de pixels.
String
Enregistrer les modèles évalués
(Facultatif)

Indique si tous les modèles évalués sont enregistrés.

  • Activé : tous les modèles évalués sont enregistrés.
  • Désactivé : seul le modèle le plus performant est enregistré. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Fichier de modèle en sortie

Fichier de modèle en sortie.

File

arcpy.geoai.TrainUsingAutoDL(in_data, out_model, {pretrained_model}, {total_time_limit}, {autodl_mode}, {networks}, {save_evaluated_models})
NomExplicationType de données
in_data

Dossiers contenant les fragments d’image, les étiquettes et les statistiques nécessaires à l’entraînement du modèle. Il s’agit de la sortie de l’outil Exporter les données d’entraînement pour le Deep Learning. Le format de métadonnées des données exportées doit être Classified_Tiles, PASCAL_VOC_rectangles ou KITTI_rectangles.

Folder
out_model

Modèle entraîné en sortie destiné à être enregistré en tant que paquetage de Deep Learning (fichier .dlpk).

File
pretrained_model
(Facultatif)

Modèle pré-entraîné utilisé pour optimiser le nouveau modèle. L’entrée est un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage de Deep Learning (.dlpk).

Un modèle pré-entraîné avec des classes similaires peut être optimisé pour s’ajuster au nouveau modèle. Le modèle pré-entraîné doit avoir été entraîné avec le même type de modèle et le même modèle backbone que ceux qui serviront à entraîner le nouveau modèle.

File
total_time_limit
(Facultatif)

Limite de temps totale en heures nécessaire à l’entraînement du modèle AutoDL. La valeur par défaut est de 2 heures.

Double
autodl_mode
(Facultatif)

Indique le mode AutoDL à utiliser et le degré d’intensité de la recherche AutoDL.

  • BASICLe mode Basique est utilisé. Ce mode permet d’entraîner tous les réseaux sélectionnés sans l’optimisation des hyperparamètres.
  • ADVANCEDLe mode Avancé est utilisé. Ce mode permet de réaliser l’optimisation des hyperparamètres sur les deux modèles les plus performants.
String
networks
[networks,...]
(Facultatif)

Indique les architectures à utiliser pour entraîner le modèle.

  • SingleShotDetectorL’architecture SingleShotDetector est utilisée pour entraîner le modèle. SingleShotDetector est utilisé pour la détection d’objets.
  • RetinaNetL’architecture RetinaNet est utilisée pour entraîner le modèle. RetinaNet est utilisé pour la détection d’objets.
  • FasterRCNNL’architecture FasterRCNN est utilisée pour entraîner le modèle. FasterRCNN est utilisé pour la détection d’objets.
  • YOLOv3L’architecture YOLOv3 est utilisée pour entraîner le modèle. YOLOv3 est utilisé pour la détection d’objets.
  • HRNetL’architecture HRNet est utilisée pour entraîner le modèle. HRNet est utilisé pour la classification de pixels.
  • ATSSL’architecture ATSS est utilisée pour entraîner le modèle. ATSS est utilisé pour la détection d’objets.
  • CARAFEL’architecture CARAFE est utilisée pour entraîner le modèle. CARAFE est utilisé pour la détection d’objets.
  • CascadeRCNNL’architecture CascadeRCNN est utilisée pour entraîner le modèle. CascadeRCNN est utilisé pour la détection d’objets.
  • CascadeRPNL’architecture CascadeRPN est utilisée pour entraîner le modèle. CascadeRPN est utilisé pour la détection d’objets.
  • DCNL’architecture DCN est utilisée pour entraîner le modèle. DCN est utilisé pour la détection d’objets.
  • DeepLabL’architecture DeepLab est utilisée pour entraîner le modèle. DeepLab est utilisé pour la classification de pixels.
  • UnetClassifierL’architecture UnetClassifier est utilisée pour entraîner le modèle. UnetClassifier est utilisé pour la classification de pixels.
  • PSPNetClassifierL’architecture PSPNetClassifier est utilisée pour entraîner le modèle. PSPNetClassifier est utilisé pour la classification de pixels.
  • ANNL’architecture ANN est utilisée pour entraîner le modèle. ANN est utilisé pour la classification de pixels.
  • APCNetL’architecture APCNet est utilisée pour entraîner le modèle. APCNet est utilisé pour la classification de pixels.
  • CCNetL’architecture CCNet est utilisée pour entraîner le modèle. CCNet est utilisé pour la classification de pixels.
  • CGNetL’architecture CGNet est utilisée pour entraîner le modèle. CGNet est utilisé pour la classification de pixels.

Par défaut, tous les réseaux sont utilisés.

String
save_evaluated_models
(Facultatif)

Indique si tous les modèles évalués sont enregistrés.

  • SAVE_ALL_MODELSTous les modèles évalués sont enregistrés.
  • SAVE_BEST_MODELSeul le modèle le plus performant est enregistré. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

NomExplicationType de données
output_model_file

Fichier de modèle en sortie.

File

Exemple de code

TrainUsingAutoDL (fenêtre Python)

Cet exemple illustre l’utilisation de la fonction TrainUsingAutoDL.


# Name: TrainUsingAutoDL.py
# Description: Train a deep learning model on imagery data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath = "path_to_training_data" 
out_path = "path_to_trained_model"

out_model = os.path.join(out_path, "mymodel")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")