Entraînement à l’aide d’AutoDL (GeoAI)

Disponible avec une licence Image Analyst.

Synthèse

Entraîne un modèle de Deep Learning en construisant des pipelines d’entraînement et en automatisant une grande partie du processus d’entraînement. Cela inclut l’augmentation des données, le choix du modèle, 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 correcte pour Python dans ArcGIS AllSource.

    Découvrez comment installer des structures de Deep Learning pour ArcGIS

  • Si vous entraînez des modèles dans un environnement déconnecté, voir Composants supplémentaire à installer dans les environnements déconnectés 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 AutoDL Mode (Mode AutoDL)
    • La valeur du paramètre Total Time Limit (Hours) (Limite de temps totale (Heures))

    Par défaut, le minuteur est défini sur 2 heures pour tous les modes. Le mode Basic (Base) entraîne les réseaux sélectionnés sur le backbone par défaut dans le temps 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 le volume de données en cours d’entraînement est important, tous les modèles sélectionnés risquent de ne pas être évalués dans les 2 heures qui suivent. Dans ce cas, le meilleur modèle déterminé dans les 2 heures est considéré comme étant le modèle optimal. Vous pouvez utiliser ce modèle ou exécuter de nouveau l’outil avec une valeur de paramètre Total Time Limit (Hours) (Limite de temps totale (Heures)) plus élevée.

  • Cet outil peut également être utilisé pour affiner un modèle entraîné existant. Par exemple, un modèle existant entraîné pour les voitures peut être affiné pour entraîner un modèle identifiant les camions.

  • Pour exécuter cet outil, une machine équipée d’un GPU est indispensable. Si vous disposez de plusieurs GPU, utilisez l’environnement GPU ID (ID de GPU) en lieu et place.

  • 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 à partir de l’outil Export Training Data For Deep Learning (Exporter les données d’entraînement pour le Deep Learning).

  • Les cas d’utilisation potentiels de l’outil sont la détection d’objets d’entraînement et les modèles de classification des pixels pour l’extraction des entités telles que l’emprise des bâtiments, les bassins, les panneaux solaires, la classification d’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’images, les étiquettes et les statistiques nécessaires à l’entraînement d’un modèle. Il s’agit de la sortie de l’outil Export Training Data For Deep Learning (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 enregistré en tant que paquetage Deep Learning (fichier .dlpk).

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

Modèle pré-entraîné qui sera utilisé pour affiner 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 affiné en vue de son adaptation 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 d’architecture que ceux qui seront utilisés pour entraîner le nouveau modèle.

File
Limite de temps totale (Heures)
(Facultatif)

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

Double
Mode AutoDL
(Facultatif)

Spécifie le mode AutoDL qui sera utilisé et l’intensité de la recherche AutoDL.

  • BasicLe mode de base sera utilisé. Ce mode est utilisé pour entraîner tous les réseaux sélectionnés sans optimisation des hyperparamètres.
  • AdvancedLe mode avancé sera utilisé. Ce mode permet d’optimiser les hyperparamètres des deux principaux modèles de performances.
String
Réseaux neuronaux
(Facultatif)

Spécifie les architectures qui seront utilisées pour entraîner le modèle.

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

  • SingleShotDetectorL’architecture SingleShotDetector est utilisée pour entraîner le modèle. SingleShotDetector est utilisée pour la détection d’objets.
  • RetinaNetL’architecture RetinaNet est utilisée pour entraîner le modèle. RetinaNet est utilisée 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 des pixels.
  • ATSSL’architecture ATSS est utilisée pour entraîner le modèle. ATSS est utilisée pour la détection d’objets.
  • CARAFEL’architecture CARAFE est utilisée pour entraîner le modèle. CARAFE est utilisée pour la détection d’objets.
  • CascadeRCNNL’architecture CascadeRCNN est utilisée pour entraîner le modèle. CascadeRCNN est utilisée pour la détection d’objets.
  • CascadeRPNL’architecture CascadeRPN est utilisée pour entraîner le modèle. CascadeRPN est utilisée pour la détection d’objets.
  • DCNL’architecture DCN est utilisée pour entraîner le modèle. DCN est utilisée pour la détection d’objets.
  • DeepLabL’architecture DeepLab est utilisée pour entraîner le modèle. DeepLab est utilisé pour la classification des pixels.
  • UnetClassifierL’architecture UnetClassifier est utilisée pour entraîner le modèle. UnetClassifier est utilisée pour la classification des 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ée pour la classification des pixels.
  • ANNL’architecture ANN est utilisée pour entraîner le modèle. ANN est utilisée pour la classification des pixels.
  • APCNetL’architecture APCNet est utilisée pour entraîner le modèle. APCNet est utilisée pour la classification des pixels.
  • CCNetL’architecture CCNet est utilisée pour entraîner le modèle. CCNet est utilisée pour la classification des pixels.
  • CGNetL’architecture CGNet est utilisée pour entraîner le modèle. CGNet est utilisée pour la classification des pixels.
  • DETRegL’architecture DETReg est utilisée pour entraîner le modèle. DETReg est utilisée pour la détection d’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 OCRNet est utilisée pour entraîner le modèle. OCRNet est utilisée 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 est utilisée pour entraîner le modèle. MaskRCNN est utilisé pour la détection d’objets.
String
Save Evaluated Models (Enregistrer les modèles évalués)
(Facultatif)

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

  • Activée - Tous les modèles évalués seront enregistrés.
  • Désactivée - Seul le meilleur modèle de performances sera 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’images, les étiquettes et les statistiques nécessaires à l’entraînement d’un modèle. Il s’agit de la sortie de l’outil Export Training Data For Deep Learning (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 enregistré en tant que paquetage Deep Learning (fichier .dlpk).

File
pretrained_model
(Facultatif)

Modèle pré-entraîné qui sera utilisé pour affiner 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 affiné en vue de son adaptation 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 d’architecture que ceux qui seront utilisés pour entraîner le nouveau modèle.

File
total_time_limit
(Facultatif)

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

Double
autodl_mode
(Facultatif)

Spécifie le mode AutoDL qui sera utilisé et l’intensité de la recherche AutoDL.

  • BASICLe mode de base sera utilisé. Ce mode est utilisé pour entraîner tous les réseaux sélectionnés sans optimisation des hyperparamètres.
  • ADVANCEDLe mode avancé sera utilisé. Ce mode permet d’optimiser les hyperparamètres des deux principaux modèles de performances.
String
networks
[networks,...]
(Facultatif)

Spécifie les architectures qui seront utilisées pour entraîner le modèle.

  • SingleShotDetectorL’architecture SingleShotDetector est utilisée pour entraîner le modèle. SingleShotDetector est utilisée pour la détection d’objets.
  • RetinaNetL’architecture RetinaNet est utilisée pour entraîner le modèle. RetinaNet est utilisée 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 des pixels.
  • ATSSL’architecture ATSS est utilisée pour entraîner le modèle. ATSS est utilisée pour la détection d’objets.
  • CARAFEL’architecture CARAFE est utilisée pour entraîner le modèle. CARAFE est utilisée pour la détection d’objets.
  • CascadeRCNNL’architecture CascadeRCNN est utilisée pour entraîner le modèle. CascadeRCNN est utilisée pour la détection d’objets.
  • CascadeRPNL’architecture CascadeRPN est utilisée pour entraîner le modèle. CascadeRPN est utilisée pour la détection d’objets.
  • DCNL’architecture DCN est utilisée pour entraîner le modèle. DCN est utilisée pour la détection d’objets.
  • DeepLabL’architecture DeepLab est utilisée pour entraîner le modèle. DeepLab est utilisé pour la classification des pixels.
  • UnetClassifierL’architecture UnetClassifier est utilisée pour entraîner le modèle. UnetClassifier est utilisée pour la classification des 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ée pour la classification des pixels.
  • ANNL’architecture ANN est utilisée pour entraîner le modèle. ANN est utilisée pour la classification des pixels.
  • APCNetL’architecture APCNet est utilisée pour entraîner le modèle. APCNet est utilisée pour la classification des pixels.
  • CCNetL’architecture CCNet est utilisée pour entraîner le modèle. CCNet est utilisée pour la classification des pixels.
  • CGNetL’architecture CGNet est utilisée pour entraîner le modèle. CGNet est utilisée pour la classification des pixels.
  • DETRegL’architecture DETReg est utilisée pour entraîner le modèle. DETReg est utilisée pour la détection d’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 OCRNet est utilisée pour entraîner le modèle. OCRNet est utilisée 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 est utilisée pour entraîner le modèle. MaskRCNN est utilisé pour la détection d’objets.

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

String
save_evaluated_models
(Facultatif)

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

  • SAVE_ALL_MODELSTous les modèles évalués seront enregistrés.
  • SAVE_BEST_MODELSeul le meilleur modèle de performances sera 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 montre comment utiliser 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")