Entraîner à l’aide d’AutoML (Image Analyst)

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. La sortie contient les mesures de performances 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) qui peut être utilisé en entrée pour l’outil Extract Features Using AI Models (Extraire des entités à l’aide de modèles d’IA) pour faire des prévisions sur la nouvelle imagerie.

En savoir plus sur le fonctionnement d’AutoDL

Utilisation

  • Vous devez installer la structure de Deep Learning correspondant à Python dans ArcGIS AllSource.

    Découvrir comment installer des structures 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 que met l’outil pour générer 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 Advanced (Avancé) divise le temps total par deux, en évaluant le modèle dans un premier temps, puis en déterminant les deux principaux modèles de performances pour l’évaluation sur d’autres backbones dans un second temps. 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 les rubriques FAQ Apprentissage profond. .

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 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.
  • DeepLabV3PlusL’architecture DeepLabV3Plus est utilisée pour entraîner le modèle. DeepLabV3Plus est utilisée pour la classification des 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.
  • DETRegL’architecture DETReg sera utilisée pour entraîner le modèle. DETReg est utilisé pour la détection des objets.
  • DynamicRCNNL’architecture DynamicRCNN est utilisée pour entraîner le modèle. DynamicRCNN est utilisée pour la détection d’objets.
  • EmpiricalAttentionL’architecture EmpiricalAttention est utilisée pour entraîner le modèle. EmpiricalAttention est utilisée pour la détection d’objets.
  • FCOSL’architecture FCOS est utilisée pour entraîner le modèle. FCOS est utilisée pour la détection d’objets.
  • FoveaBoxL’architecture FoveaBox est utilisée pour entraîner le modèle. FoveaBox est utilisée pour la détection d’objets.
  • FSAFL’architecture FSAF est utilisée pour entraîner le modèle. FSAF est utilisée pour la détection d’objets.
  • GHML’architecture GHM est utilisée pour entraîner le modèle. GHM est utilisée pour la détection d’objets.
  • LibraRCNNL’architecture LibraRCNN est utilisée pour entraîner le modèle. LibraRCNN est utilisée pour la détection d’objets.
  • PaFPNL’architecture PaFPN est utilisée pour entraîner le modèle. PaFPN est utilisée pour la détection d’objets.
  • Res2NetL’architecture Res2Net est utilisée pour entraîner le modèle. Res2Net est utilisée pour la détection d’objets.
  • SABLL’architecture SABL est utilisée pour entraîner le modèle. SABL est utilisée pour la détection d’objets.
  • VFNetL’architecture VFNet est utilisée pour entraîner le modèle. VFNet est utilisée pour la détection d’objets.
  • DMNetL’architecture DMNet est utilisée pour entraîner le modèle. DMNet est utilisée pour la classification des pixels.
  • DNLNetL’architecture DNLNet est utilisée pour entraîner le modèle. DNLNet est utilisée pour la classification des pixels.
  • FastSCNNL’architecture FastSCNN est utilisée pour entraîner le modèle. FastSCNN est utilisée pour la classification des pixels.
  • FCNL’architecture FCN est utilisée pour entraîner le modèle. FCN est utilisée pour la classification des pixels.
  • GCNetL’architecture GCNet est utilisée pour entraîner le modèle. GCNet est utilisée pour la classification des pixels.
  • MobileNetV2L’architecture MobileNetV2 est utilisée pour entraîner le modèle. MobileNetV2 est utilisée pour la classification des pixels.
  • NonLocalNetL’architecture NonLocalNet est utilisée pour entraîner le modèle. NonLocalNet est utilisée pour la classification des pixels.
  • OCRNetL’architecture Mask2Former est utilisée pour entraîner le modèle. Mask2Former est utilisé pour la classification des pixels.
  • PSANetL’architecture PSANet est utilisée pour entraîner le modèle. PSANet est utilisée pour la classification des pixels.
  • SemFPNL’architecture SemFPN est utilisée pour entraîner le modèle. SemFPN est utilisée pour la classification des pixels.
  • UperNetL’architecture UperNet est utilisée pour entraîner le modèle. UperNet est utilisée pour la classification des pixels.
  • MaskRCNNL’architecture MaskRCNN sera utilisée pour entraîner le modèle. MaskRCNN est utilisé pour la détection des objets.
  • SamLoRAL’architecture SamLoRA est utilisée pour entraîner le modèle. SamLoRA est utilisé pour la classification des pixels.
  • RTDetrV2L’architecture RTDetrV2 est utilisée pour entraîner le modèle. RTDetrV2 est utilisé pour la détection d’objets.
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

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 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.
  • DeepLabV3PlusL’architecture DeepLabV3Plus est utilisée pour entraîner le modèle. DeepLabV3Plus est utilisée pour la classification des 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.
  • DETRegL’architecture DETReg sera utilisée pour entraîner le modèle. DETReg est utilisé pour la détection des objets.
  • DynamicRCNNL’architecture DynamicRCNN est utilisée pour entraîner le modèle. DynamicRCNN est utilisée pour la détection d’objets.
  • EmpiricalAttentionL’architecture EmpiricalAttention est utilisée pour entraîner le modèle. EmpiricalAttention est utilisée pour la détection d’objets.
  • FCOSL’architecture FCOS est utilisée pour entraîner le modèle. FCOS est utilisée pour la détection d’objets.
  • FoveaBoxL’architecture FoveaBox est utilisée pour entraîner le modèle. FoveaBox est utilisée pour la détection d’objets.
  • FSAFL’architecture FSAF est utilisée pour entraîner le modèle. FSAF est utilisée pour la détection d’objets.
  • GHML’architecture GHM est utilisée pour entraîner le modèle. GHM est utilisée pour la détection d’objets.
  • LibraRCNNL’architecture LibraRCNN est utilisée pour entraîner le modèle. LibraRCNN est utilisée pour la détection d’objets.
  • PaFPNL’architecture PaFPN est utilisée pour entraîner le modèle. PaFPN est utilisée pour la détection d’objets.
  • Res2NetL’architecture Res2Net est utilisée pour entraîner le modèle. Res2Net est utilisée pour la détection d’objets.
  • SABLL’architecture SABL est utilisée pour entraîner le modèle. SABL est utilisée pour la détection d’objets.
  • VFNetL’architecture VFNet est utilisée pour entraîner le modèle. VFNet est utilisée pour la détection d’objets.
  • DMNetL’architecture DMNet est utilisée pour entraîner le modèle. DMNet est utilisée pour la classification des pixels.
  • DNLNetL’architecture DNLNet est utilisée pour entraîner le modèle. DNLNet est utilisée pour la classification des pixels.
  • FastSCNNL’architecture FastSCNN est utilisée pour entraîner le modèle. FastSCNN est utilisée pour la classification des pixels.
  • FCNL’architecture FCN est utilisée pour entraîner le modèle. FCN est utilisée pour la classification des pixels.
  • GCNetL’architecture GCNet est utilisée pour entraîner le modèle. GCNet est utilisée pour la classification des pixels.
  • MobileNetV2L’architecture MobileNetV2 est utilisée pour entraîner le modèle. MobileNetV2 est utilisée pour la classification des pixels.
  • NonLocalNetL’architecture NonLocalNet est utilisée pour entraîner le modèle. NonLocalNet est utilisée pour la classification des pixels.
  • Mask2FormerL’architecture Mask2Former est utilisée pour entraîner le modèle. Mask2Former est utilisé pour la classification des pixels.
  • PSANetL’architecture PSANet est utilisée pour entraîner le modèle. PSANet est utilisée pour la classification des pixels.
  • SemFPNL’architecture SemFPN est utilisée pour entraîner le modèle. SemFPN est utilisée pour la classification des pixels.
  • UperNetL’architecture UperNet est utilisée pour entraîner le modèle. UperNet est utilisée pour la classification des pixels.
  • MaskRCNNL’architecture MaskRCNN sera utilisée pour entraîner le modèle. MaskRCNN est utilisé pour la détection des objets.
  • SamLoRAL’architecture SamLoRA est utilisée pour entraîner le modèle. SamLoRA est utilisé pour la classification des pixels.
  • RTDetrV2L’architecture RTDetrV2 est utilisée pour entraîner le modèle. RTDetrV2 est utilisé pour la détection d’objets.

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 AutoDL Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")
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.ia.TrainUsingAutoDL(datapath, out_model, None, 2, "BASIC", 
                    "ATSS;DCN;FasterRCNN;RetinaNet;SingleShotDetector;YOLOv3", 
                    "SAVE_BEST_MODEL")

Rubriques connexes