Entraîner le modèle de Deep Learning (Image Analyst)

Disponible avec une licence Image Analyst.

Synthèse

Entraîne un modèle d’apprentissage profond à l’aide de la sortie de l’outil Export Training Data For Deep Learning (Exporter les données d’entraînement pour l’apprentissage profond).

Utilisation

  • Cet outil entraîne le modèle de Deep Learning à l’aide de structures de Deep Learning.

  • Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS Pro, consultez la rubrique Installer les structures d’apprentissage profond 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.

  • 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 avec un processeur graphique, définissez l’option Processor Type (Type de processeur) sur GPU. Si vous avez plusieurs processeurs, spécifiez plutôt le paramètre d’environnement ID de GPU.

  • Par défaut, l’outil utilise l’ensemble des GPU disponibles lorsque le paramètre Model Type (Type de modèle) a l’une des valeurs suivantes :

    • ConnectNet
    • Classificateur d’entités
    • MaskRCNN
    • Extracteur de routes multitâche
    • Single Shot Detector
    • U-Net

    Pour utiliser un GPU spécifique, indiquez son 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.

  • Spécifiez des transformations fastai pour l’augmentation de données des jeux de données d’entraînement et de validation à l’aide du fichier transforms.json, situé dans le même dossier que les données d’entraînement. Vous trouverez ci-dessous un exemple de fichier transforms.json :

    Paramètres d’augmentation personnalisés

    
    {
        "Training": {
            "rotate": {
                "degrees": 30,
                "p": 0.5
            },
            "crop": {
                "size": 224,
                "p": 1,
                "row_pct": "0, 1",
                "col_pct": "0, 1"
            },
            "brightness": {
                "change": "0.4, 0.6"
            },
            "contrast": {
                "scale": "1.0, 1.5"
            },
            "rand_zoom": {
                "scale": "1, 1.2"
            }
        },
        "Validation": {
            "crop": {
                "size": 224,
                "p": 1.0,
                "row_pct": 0.5,
                "col_pct": 0.5
            }
        }
    }

  • 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. .

  • Pour plus d’informations sur l’apprentissage profond, reportez-vous à la rubrique Apprentissage profond dans ArcGIS Pro.

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.

Plusieurs dossiers en entrée sont pris en charge lorsque les conditions suivantes sont remplies :

  • Le format de métadonnées doit être de type tuiles classées, tuiles étiquetées, tuiles à plusieurs étiquettes, classes d’objets visuels PASCAL ou masques RCNN.
  • Toutes les données d’entraînement doivent avoir le même format de métadonnées.
  • Toutes les données d’entraînement doivent posséder le même nombre de bandes.
  • Toutes les données d’entraînement doivent avoir la même taille de tuile.

Folder
Dossier en sortie

Emplacement du dossier en sortie où sera stocké le modèle entraîné.

Folder
Nombre maximal d’époques
(Facultatif)

Nombre maximal d’époques pour lesquelles le modèle est entraîné. Si le nombre maximal d’époques est égal à 1, le jeu de données va-et-vient une fois à travers le réseau neuronal. La valeur par défaut est 20.

Long
Type de modèle
(Facultatif)

Indique le type de modèle à utiliser pour entraîner le modèle de Deep Learning.

  • Détecteur de tir unique (détection des objets)L’architecture SSD (Single Shot Detector) sera utilisée pour entraîner le modèle. SSD est utilisé pour la détection des objets. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Pascal Visual Object Classes.
  • U-Net (classification de pixels)L’architecture U-Net sera utilisée pour entraîner le modèle. U-Net est utilisé pour la classification des pixels.
  • Classificateur d’entités (classification des objets)L’architecture Classificateur d’entités sera utilisée pour entraîner le modèle. Classificateur d’entités est utilisé pour la classification d’objets ou d’images.
  • Pyramid Scene Parsing Network (classification de pixels)L’architecture PSPNET (Pyramid Scene Parsing Network) sera utilisée pour entraîner le modèle. PSPNET est utilisé pour la classification des pixels.
  • RetinaNet (détection des objets)L’architecture RetinaNet est utilisée pour entraîner le modèle. RetinaNet est utilisé pour la détection d’objets. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Pascal Visual Object Classes.
  • MaskRCNN (détection des objets)L’architecture MaskRCNN sera utilisée pour entraîner le modèle. MaskRCNN est utilisé pour la détection des objets. Cette méthode est utilisée pour la segmentation d’instances, qui est la délimitation précise des objets dans une image. Ce type de modèle peut servir pour détecter les emprises de bâtiments. Il utilise le format de métadonnées MaskRCNN pour les données d’entraînement en entrée. Les valeurs de classe pour les données d’entraînement en entrée doivent commencer à 1. Ce type de modèle peut uniquement être entraîné avec un GPU compatible CUDA.
  • YOLOv3 (détection des objets)L’architecture YOLOv3 est utilisée pour entraîner le modèle. YOLOv3 est utilisé pour la détection d’objets.
  • DeepLabV3 (classification de pixels)L’architecture DeepLabV3 sera utilisée pour entraîner le modèle. DeepLab est utilisé pour la classification de pixels.
  • FasterRCNN (détection des objets)L’architecture FasterRCNN est utilisée pour entraîner le modèle. FasterRCNN est utilisé pour la détection d’objets.
  • Détecteur de segment BDCN (classification de pixel)L’architecture BDCN (Bi-Directional Cascade Network) est utilisée pour entraîner le modèle. Le détecteur de contours BDCN est utilisé pour la classification des pixels. Cette méthode est utile pour améliorer la détection des contours d’objets à différentes échelles.
  • Détecteur de segment HED (classification de pixel)L’architecture HED (Holistically-Nested Edge Detection) est utilisée pour entraîner le modèle. Le détecteur de contours HED est utilisé pour la classification des pixels. Cette méthode est utile pour améliorer la détection des contours et des limites d’objets.
  • Extracteur de route multitâche (classification de pixel)L’architecture de l’extracteur de route multitâche est utilisée pour entraîner le modèle. L’extracteur de routes multitâche est utilisé pour la classification des pixels. Cette méthode est utile pour extraire des réseaux routiers de l’imagerie satellite.
  • ConnectNet (classification de pixel)L’architecture ConnectNet est utilisée pour entraîner le modèle. ConnectNet est utilisé pour la classification des pixels. Cette méthode est utile pour extraire des réseaux routiers de l’imagerie satellite.
  • Pix2Pix (conversion d’image)L’architecture Pix2Pix sera utilisée pour entraîner le modèle. Pix2Pix est utilisé pour la conversion image à image. Cette méthode crée un objet de modèle qui génère des images d’un type à un autre. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Exporter les tuiles.
  • CycleGAN (conversion d’image)L’architecture CycleGAN sera utilisée pour entraîner le modèle. CycleGAN est utilisé pour la conversion image à image. Cette méthode crée un objet de modèle qui génère des images d’un type à un autre. Cette méthode est unique en ce sens que les images à entraîner n’ont pas besoin de se superposer. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées CycleGAN.
  • Super résolution (conversion d’image)L’architecture de super-résolution sera utilisée pour entraîner le modèle. La super-résolution est utilisée pour la conversion image à image. Cette méthode crée un objet de modèle qui augmente la résolution et améliore la qualité des images. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Exporter les tuiles.
  • Détecteur de changement (classification de pixels)L’architecture Détection des changements sera utilisée pour entraîner le modèle. Le détecteur de changement est utilisé pour la classification des pixels. Cette méthode crée un objet de modèle qui utilise deux images spatio-temporelles pour créer un raster classé du changement. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Tuiles classées.
  • Créateur de légende d’image (conversion d’images)L’architecture Créateur de légende d’image sera utilisée pour entraîner le modèle. Créateur de légende d’image est utilisé pour la conversion d’image en texte. Cette méthode crée un modèle qui génère des légendes textuelles pour une image.
  • SiamMask (suiveur d’objet)L’architecture Siam Mask sera utilisée pour entraîner le modèle. SiamMask est utilisé pour la détection des objets dans les vidéos. Le modèle est entraîné à l’aide d’images de la vidéo et détecte les classes et zones de délimitation des objets dans cette image. Les données d’entraînement en entrée pour ce type de modèle utilise le format de métadonnées MaskRCNN.
  • MMDetection (détection des objets)L’architecture MMDetection sera utilisée pour entraîner le modèle. MMDetection est utilisé pour la détection des objets. Les formats de métadonnées pris en charge sont les rectangles de classes d’objets visuels PASCAL et les rectangles KITTI.
  • MMSegmentation (classification de pixels)L’architecture MMSegmentation sera utilisée pour entraîner le modèle. MMSegmentation est utilisé pour la classification des pixels. Le format de métadonnées pris en charge est Tuiles classées.
  • Deep Sort (suiveur d’objet)L’architecture Deep Sort sera utilisée pour entraîner le modèle. Deep Sort est utilisé pour la détection des objets dans les vidéos. Le modèle est entraîné à l’aide d’images de la vidéo et détecte les classes et zones de délimitation des objets dans cette image. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Imagenet. Tandis que Siam Mask est utile pour suivre un objet, Deep Sort est utile pour entraîner un modèle afin de suivre plusieurs objets.
  • Pix2PixHD (conversion d’images)L’architecture Pix2PixHD sera utilisée pour entraîner le modèle. Pix2PixHD est utilisé pour la conversion image à image. Cette méthode crée un objet de modèle qui génère des images d’un type à un autre. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Exporter les tuiles.
  • MaX-DeepLab (segmentation panoptique)L’architecture MaX-DeepLab sera utilisée pour entraîner le modèle. MaX-DeepLab est utilisé pour la segmentation panoptique. Cette méthode crée un objet de modèle qui génère des images et des entités. Les données d’entraînement en entrée pour ce type de modèle utilise le format de métadonnées de segmentation Panoptique.
  • DETReg (détection d’objets)L’architecture DETReg sera utilisée pour entraîner le modèle. DETReg est utilisé pour la détection des objets. Les données d’entraînement en entrée pour ce type de modèle utilisent les classes d’objets visuels Pascal. Ce type de modèle sollicite beaucoup le GPU ; son exécution requiert un GPU dédié avec au moins 16 Go de mémoire.
  • PSETAE (classification des pixels)L’architecture PSETAE (Pixel-Set Encoders and Temporal Self-Attention) est utilisée pour entraîner le modèle pour la classification des séries chronologiques. PSETAE est utilisé pour la classification des pixels. Les données préliminaires utilisées pour cette méthode sont des données multidimensionnelles.
String
Taille de lot
(Facultatif)

Nombre d’échantillons d’entraînement à traiter à la fois pour l’entraînement.

Il est possible d’augmenter la taille de lot pour améliorer les performances de l’outil. Il convient toutefois de noter que le volume de mémoire utilisée est proportionnel à la taille de lot.

Si la mémoire disponible du GPU est insuffisante pour la taille de lot définie, l’outil tente d’estimer et d’utiliser une taille de lot optimale. Si un message d’erreur s’affiche pour mémoire insuffisante, utilisez une taille de lot plus petite.

Long
Arguments du modèle
(Facultatif)

Les informations du paramètre Model Type (Type de modèle) sont utilisées pour renseigner ce paramètre. Ces arguments varient selon l’architecture du modèle. Les arguments pris en charge pour les modèles entraînés dans ArcGIS sont décrits ci-dessous. Les modèles pré-entraînés ArcGIS et les modèles de Deep Learning personnalisés peuvent comporter des arguments supplémentaires pris en charge par l’outil.

Pour plus d’informations sur les arguments disponibles pour chaque type de modèle, reportez-vous à la rubrique Arguments de Deep learning.

  • attention_type : indique le type de module. Les options de module sont PAM (Pyramid Attention Module) ou BAM (Basic Attention Module). La valeur par défaut est PAM.
  • chip_size : taille d’image utilisée pour entraîner le modèle. Tous les types de modèles prennent en charge l’argument chip_size, qui indique la taille de fragment d’image des échantillons d’entraînement. Les images sont rognées selon la taille de fragment spécifiée. Si la taille de l’image est inférieure à la taille du fragment, la taille de l’image est utilisée. La taille par défaut est 224 pixels.
  • class_balancing : indique si la perte d’entropie croisée inverse est équilibrée avec la fréquence des pixels par classe. La valeur par défaut est Faux.
  • decode_params : dictionnaire qui contrôle le mode de fonctionnement du créateur de légende d’image. La valeur par défaut est {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. L’argument decode_params se compose des paramètres suivants :
    • embed_size : taille d’incorporation. La valeur par défaut est de 100 couches dans le réseau neuronal.
    • hidden_size : taille de couche masquée. La valeur par défaut est de 100 couches dans le réseau neuronal.
    • attention_size : taille de couche d’attention intermédiaire. La valeur par défaut est de 100 couches dans le réseau neuronal.
    • teacher_forcing : probabilité de contrainte par l’enseignant. Le forçage des enseignants est une stratégie destinée à entraîner les réseaux neuronaux récurrents. Il utilise en entrée la sortie du modèle d’un intervalle temporel précédent au lieu de la sortie précédente, au cours de la rétro-propagation. La plage valide est comprise entre 0,0 et 1,0. La valeur par défaut est 1.
    • dropout : probabilité d’abandon. La plage valide est comprise entre 0,0 et 1,0. La valeur par défaut est 0,1.
    • pretrained_emb : spécifie l’indicateur d’incorporation pré-entraînée. Avec la valeur True, l’incorporation de texte rapide est utilisée. Avec la valeur False, l’incorporation de texte pré-entraînée n’est pas utilisée. La valeur par défaut est Faux.
  • focal_loss : indique si la perte focale est utilisée. La valeur par défaut est Faux.
  • gaussian_thresh : seuil gaussien, qui définit la largeur de route requise. La plage valide est comprise entre 0,0 et 1,0. La valeur par défaut est 0,76.
  • grids : nombre de grilles selon lequel l’image est divisée pour le traitement. Par exemple, si vous définissez cet argument sur 4, l’image est divisée en 4 x 4 ou 16 cellules de grille. Si aucune valeur n’est spécifiée, la valeur de grille optimale est calculée en fonction de l’imagerie en entrée.
  • ignore_classes : liste des valeurs de classe pour lesquelles le modèle ne subit pas de perte.
  • model : modèle backbone utilisé pour entraîner le modèle. Les backbones disponibles dépendent de la valeur du paramètre Model Type (Type de modèle). La valeur par défaut pour MMDetection est cascade_rcnn. La valeur par défaut pour MMSegmentation est deeplabv3.
  • model_weight : détermine l’utilisation ou non des pondérations du modèle pré-entraîné. La valeur par défaut est Faux. La valeur peut également être un chemin d’accès à un fichier de configuration contenant les pondérations d’un modèle, provenant du référentiel MMDetection ou MMSegmentation.
  • monitor : indique la métrique à surveiller lors de la création des points de contrôle et de l’arrêt prématuré. Les métriques disponibles dépendent de la valeur du paramètre Model Type (Type de modèle). La métrique par défaut est valid_loss.
  • mtl_model : spécifie le type d’architecture utilisé pour créer le modèle. Les options sont linknet ou hourglass pour les architectures neuronales basées sur linknet ou hourglass, respectivement. La valeur par défaut est hourglass.
  • orient_bin_size : taille de groupe pour les angles d’orientation. La valeur par défaut est 20.
  • orient_theta : largeur du masque d’orientation. La valeur par défaut est 8.
  • pyramid_sizes : nombre et taille des couches de convolution à appliquer aux différentes sous-régions. La valeur par défaut est [1, 2 , 3, 6]. Cet argument est propre au modèle Pyramid Scene Parsing Network.
  • ratios : liste des proportions à utiliser pour les zones d’ancrage. Dans le domaine de la détection d’objet, une zone d’ancrage représente la localisation, la forme et la taille idéales de l’objet qui fait l’objet d’une prédiction. Par exemple, si vous définissez cet argument sur [1.0,1.0], [1.0, 0.5], la boîte englobante est un carré (1:1) ou un rectangle pour lequel la longueur du côté horizontal correspond à la moitié de la longueur du côté vertical (1:0.5). La valeur par défaut pour RetinaNet est 0.5,1,2. La valeur par défaut pour Single Shot Detector est [1.0, 1.0].
  • scales : nombre de niveaux d’échelle selon lequel chaque cellule est réduite ou agrandie. La valeur par défaut est [1, 0,8, 0,63].
  • use_net : indique si le décodeur U-Net est utilisé pour récupérer les données une fois le regroupement pyramidal opéré. La valeur par défaut est Vrai. Cet argument est propre au modèle Pyramid Scene Parsing Network.
  • zooms : nombre de niveaux de zoom selon lequel chaque cellule de grille est réduite ou agrandie. Si vous définissez cet argument sur 1, toutes les cellules de grille restent à la même taille ou au même niveau de zoom. Un niveau de zoom égal à 2 signifie que toutes les cellules de grille deviennent deux fois plus grandes (agrandies à 100 pour cent). Si vous fournissez une liste de niveaux de zoom, toutes les cellules de grille sont mises à l’échelle avec tous les nombres de la liste. La valeur par défaut est 1.
Value Table
Vitesse d’apprentissage
(Facultatif)

Vitesse à laquelle les informations existantes sont remplacées par les nouvelles informations acquises tout au long du processus d’entraînement. Si aucune valeur n’est spécifiée, la vitesse d’apprentissage optimale est extraite de la courbe d’apprentissage au cours du processus d’entraînement.

Double
Modèle backbone
(Facultatif)

Spécifie le réseau neuronal préconfiguré à utiliser comme architecture pour entraîner le nouveau modèle. Cette méthode est connue sous le nom de Transfer Learning.

En outre, les réseaux neuronaux convolutifs pris en charge des modèles PyTorch Image Models (timm) peuvent être spécifiés en indiquant timm comme préfixe, par exemple timm:resnet31, timm:inception_v4, timm:efficientnet_b3, etc.

  • DenseNet-121Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 121 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • DenseNet-161Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 161 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • DenseNet-169Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 169 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • DenseNet-201Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 201 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • MobileNet version 2Le modèle préconfiguré est entraîné avec la base de données Imagenet, composé de 54 couches et dédié au calcul en périphérie de réseau, car il utilise moins de mémoire.
  • ResNet-18Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 18 couches.
  • ResNet-34Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 34 couches. Il s’agit de l’option par défaut.
  • ResNet-50Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 50 couches.
  • ResNet-101Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 101 couches.
  • ResNet-152Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 152 couches.
  • VGG-11Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 11 couches.
  • VGG-11 avec normalisation par lotsLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 11 couches.
  • VGG-13Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 13 couches.
  • VGG-13 avec normalisation par lotsLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 13 couches.
  • VGG-16Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 16 couches.
  • VGG-16 avec normalisation par lotsLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 16 couches.
  • VGG-19Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 19 couches.
  • VGG-19 avec normalisation par lotsLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 19 couches.
  • DarkNet-53Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 53 couches.
  • Reid_v1Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet utilisé pour le suivi d’objets.
  • Reid_v2Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet utilisé pour le suivi d’objets.
  • ResNeXt-50Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet et est composé de 50 couches. Il s’agit d’un réseau neuronal homogène, qui réduit le nombre d’hyperparamètres requis par le réseau résiduel conventionnel.
  • Wide ResNet-50Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet et est composé de 50 couches. Il possède la même architecture que ResNET, mas avec davantage de canaux.
String
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
% validation
(Facultatif)

Pourcentage des échantillons d’entraînement utilisés pour valider le modèle. La valeur par défaut est 10.

Double
Arrêter lorsque le modèle ne s’améliore plus
(Facultatif)

Indique si l’arrêt prématuré est implémenté.

  • Activé : l’arrêt prématuré est implémenté et l’entraînement du modèle s’arrête lorsque ce dernier cesse de s’améliorer, quelle que soit la valeur spécifiée pour le paramètre Nombre maximal d’époques. Il s’agit de l’option par défaut.
  • Désactivé : l’arrêt prématuré n’est pas implémenté et l’entraînement du modèle continue jusqu’à atteindre la valeur du paramètre Nombre maximal d’époques.
Boolean
Figer le modèle
(Facultatif)

Spécifie si les couches backbone dans le modèle pré-entraîné sont figées afin que les pondérations et les biais conservent leur conception d’origine.

  • Activé : les couches backbone sont figées, et les pondérations et les biais prédéfinis ne sont pas altérés dans le paramètre Modèle backbone. Il s’agit de l’option par défaut.
  • Activé : les couches backbone ne sont pas figées, et les pondérations et les biais du paramètre Modèle backbone peuvent être altérés pour s’ajuster aux échantillons d’entraînement. Le temps de traitement est plus long, mais les résultats obtenus sont généralement meilleurs.

Boolean
Augmentation des données
(Facultatif)

Spécifie le type d’augmentation des données utilisé.

L’augmentation des données est une technique permettant d’augmenter artificiellement la taille du jeu d’entraînement en créant des copies modifiées d’un jeu de données à l’aide des données existantes.

  • Par défautLes méthodes et les valeurs d’augmentation des données par défaut sont utilisées.Les méthodes d’augmentation des données par défaut incluses sont crop, dihedral_affine, brightness, contrast et zoom. Ces valeurs par défaut fonctionnent généralement bien pour l’imagerie satellite.
  • AucunL’augmentation des données n’est pas utilisée.
  • PersonnaliséeLes valeurs d’augmentation des données sont spécifiées à l’aide du paramètre Augmentation Parameters (Paramètres d’augmentation).
  • FichierLes transformations fastai pour l’augmentation de données des jeux de données d’entraînement et de validation sont spécifiées à l’aide du fichier transforms.json, situé dans le même dossier que les données d’entraînement.Pour plus d’informations sur les diverses transformations, voir la page consacrée aux transformations sur le site Web fastai.
String
Paramètres d’augmentation
(Facultatif)

Spécifie la valeur de chaque transformation dans le paramètre d’augmentation.

  • rotate : l’image subit une rotation aléatoire (en degrés) selon une probabilité (p). Si le nombre de degrés est une plage (a,b), une valeur entre a et b est attribuée de manière uniforme. La valeur par défaut est 30.0; 0.5.
  • brightness : la luminosité de l’image est ajustée de manière aléatoire selon la valeur de changement, avec une probabilité (p). Une valeur de changement de 0 rend l’image plus sombre, alors que la valeur 1 la rend plus claire. Une valeur de changement de 0,5 ne modifie pas la luminosité. Si la valeur de changement est une plage (a,b), l’augmentation attribue de manière uniforme une valeur entre a et b. La valeur par défaut est (0.4,0.6); 1.0.
  • contrast : le contraste de l’image est ajusté de manière aléatoire selon la valeur d’échelle, avec une probabilité (p). Une valeur d’échelle de 0 transforme l’image en niveaux de gris et une échelle supérieure à 1 défini un contraste élevé. Une valeur d’échelle de 1 n’ajuste pas le contraste. Si la valeur d’échelle est une plage (a,b), l’augmentation attribue de manière uniforme une valeur entre a et b. La valeur par défaut est (0.75, 1.5); 1.0.
  • zoom : un zoom avant aléatoire est appliqué à l’image selon la valeur d’échelle. La valeur de zoom a le format scale(a,b); p. La valeur par défaut est (1.0, 1.2); 1.0 où p représente la probabilité. Un zoom avant n’est appliqué à l’image que si la valeur d’échelle est supérieure à 1. Si la valeur d’échelle est une plage (a,b), une valeur entre a et b est attribuée de manière uniforme.
  • crop : l’image est rognée de manière aléatoire. La valeur de rognage a le format size;p;row_pct;col_pctp représente la probabilité. La position est donnée par (col_pct, row_pct),, où col_pct et row_pct sont normalisés entre 0 et 1. Si col_pct ou row_pct est une plage (a,b), une valeur entre a et b est attribuée de manière uniforme. La valeur par défaut est chip_size;1.0; (0, 1); (0, 1) où 224 représente la taille de fragment par défaut.

Value Table
Taille de fragment
(Facultatif)

Taille d’image utilisée pour entraîner le modèle. Les images sont rognées en fonction de la taille de fragment spécifiée. Si la taille d’image est inférieure à la valeur du paramètre, la taille d’image est utilisée. La valeur par défaut est de 224 pixels.

Long
Redimensionner à
(Facultatif)

Redimensionne les fragments d’image. Une fois un fragment redimensionné, des blocs de pixels sont rognés à la taille de fragment et utilisés pour l’entraînement. Ce paramètre s’applique à la détection d’objets (PASCAL VOC), à la classification d’objets (tuiles étiquetées) et aux données de super-résolution uniquement.

La valeur de redimensionnement correspond généralement à la moitié de la taille de fragment. Si la valeur de redimensionnement est inférieure à la taille de fragment, elle est utilisée pour créer les blocs de pixels pour l’entraînement.

String
Structure d’initialisation de la pondération
(Facultatif)

Spécifie la structure dans laquelle les pondérations seront initialisées pour la couche.

Pour qu’un modèle puisse être entraîné avec des données multispectrales, il doit contenir les divers types de canaux disponibles. Pour que cette condition soit remplie, il faut réinitialiser la première couche du modèle.

Ce paramètre s’applique uniquement lorsque des images multispectrales sont utilisées dans le modèle.

  • AléatoireDes pondérations aléatoires sont initialisées pour les canaux non RVB, alors que les pondérations pré-entraînées sont conservées pour les canaux RVB. Il s’agit de l’option par défaut.
  • Canal rougeLes pondérations correspondant au canal rouge de la couche du modèle pré-entraîné sont clonées pour les canaux non RVB, alors que les pondérations pré-entraînées sont conservées pour les canaux RVB.
  • Tout aléatoireDes pondérations aléatoires sont initialisées pour les canaux RVB, ainsi que pour les canaux non RVB. Cette option s’applique uniquement à l’imagerie multispectrale.
String
Métrique surveillée
(Facultatif)

Indique quelle métrique surveiller au point de contrôle et en cas d’arrêt prématuré.

  • Perte de validationLa perte de validation est surveillée. Lorsque la perte de validation ne change plus de manière significative, le modèle s’arrête. Il s’agit de l’option par défaut.
  • Précision moyenneLa moyenne pondérée de précision à chaque seuil est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • PrécisionLe ratio entre le nombre de prévisions correctes et le nombre total de prévisions est surveillé. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • Score F1La combinaison des scores de précision et de rappel d’un modèle est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • MIoULa moyenne entre l’intersection sur union (IoU) des objets segmentés pour toutes les images du jeu de données de test est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • SegmenterLes performances du modèle sont surveillées à l’aide de la métrique Dice. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Cette valeur peut être comprise entre 0 et 1. La valeur 1 correspond à une correspondance parfaite des pixels entre les données de validation et les données d’entraînement.
  • PrécisionLa précision, qui mesure l’exactitude du modèle lors de la classification d’un échantillon comme positif, est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.La précision représente le ratio entre le nombre d’échantillons positifs classés correctement et le nombre total d’échantillons classés (correctement ou non).
  • RappelerLe rappel, qui mesure la capacité du modèle à détecter les échantillons positifs, est surveillé. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Plus le rappel est élevé, plus le nombre d’échantillons positifs détectés est élevé. La valeur de rappel représente le ratio entre le nombre d’échantillons positifs classés correctement comme positifs et le nombre total d’échantillons positifs.
  • Score bleu du corpusLe score bleu du corpus est surveillé. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Ce score est utilisé pour calculer la précision de plusieurs phrases, par exemple un paragraphe ou un document.
  • Score F-bêta (plusieurs étiquettes)La moyenne harmonique pondérée de la précision et du rappel est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Cette valeur est souvent appelée score F-bêta.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Modèle en sortie

Fichier du modèle entraîné en sortie.

File

TrainDeepLearningModel(in_folder, out_folder, {max_epochs}, {model_type}, {batch_size}, {arguments}, {learning_rate}, {backbone_model}, {pretrained_model}, {validation_percentage}, {stop_training}, {freeze}, {augmentation}, {augmentation_parameters}, {chip_size}, {resize_to}, {weight_init_scheme}, {monitor})
NomExplicationType de données
in_folder
[in_folder,...]

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.

Plusieurs dossiers en entrée sont pris en charge lorsque les conditions suivantes sont remplies :

  • Le format de métadonnées doit être de type tuiles classées, tuiles étiquetées, tuiles à plusieurs étiquettes, classes d’objets visuels PASCAL ou masques RCNN.
  • Toutes les données d’entraînement doivent avoir le même format de métadonnées.
  • Toutes les données d’entraînement doivent posséder le même nombre de bandes.
  • Toutes les données d’entraînement doivent avoir la même taille de tuile.

Folder
out_folder

Emplacement du dossier en sortie où sera stocké le modèle entraîné.

Folder
max_epochs
(Facultatif)

Nombre maximal d’époques pour lesquelles le modèle est entraîné. Si le nombre maximal d’époques est égal à 1, le jeu de données va-et-vient une fois à travers le réseau neuronal. La valeur par défaut est 20.

Long
model_type
(Facultatif)

Indique le type de modèle à utiliser pour entraîner le modèle de Deep Learning.

  • SSDL’architecture SSD (Single Shot Detector) sera utilisée pour entraîner le modèle. SSD est utilisé pour la détection des objets. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Pascal Visual Object Classes.
  • UNETL’architecture U-Net sera utilisée pour entraîner le modèle. U-Net est utilisé pour la classification des pixels.
  • FEATURE_CLASSIFIERL’architecture Classificateur d’entités sera utilisée pour entraîner le modèle. Classificateur d’entités est utilisé pour la classification d’objets ou d’images.
  • PSPNETL’architecture PSPNET (Pyramid Scene Parsing Network) sera utilisée pour entraîner le modèle. PSPNET est utilisé pour la classification des pixels.
  • RETINANETL’architecture RetinaNet est utilisée pour entraîner le modèle. RetinaNet est utilisé pour la détection d’objets. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Pascal Visual Object Classes.
  • MASKRCNNL’architecture MaskRCNN sera utilisée pour entraîner le modèle. MaskRCNN est utilisé pour la détection des objets. Cette méthode est utilisée pour la segmentation d’instances, qui est la délimitation précise des objets dans une image. Ce type de modèle peut servir pour détecter les emprises de bâtiments. Il utilise le format de métadonnées MaskRCNN pour les données d’entraînement en entrée. Les valeurs de classe pour les données d’entraînement en entrée doivent commencer à 1. Ce type de modèle peut uniquement être entraîné avec un GPU compatible CUDA.
  • YOLOV3L’architecture YOLOv3 est utilisée pour entraîner le modèle. YOLOv3 est utilisé pour la détection d’objets.
  • DEEPLABL’architecture DeepLabV3 sera utilisée pour entraîner le modèle. DeepLab est utilisé pour la classification de pixels.
  • FASTERRCNNL’architecture FasterRCNN est utilisée pour entraîner le modèle. FasterRCNN est utilisé pour la détection d’objets.
  • BDCN_EDGEDETECTORL’architecture BDCN (Bi-Directional Cascade Network) est utilisée pour entraîner le modèle. Le détecteur de contours BDCN est utilisé pour la classification des pixels. Cette méthode est utile pour améliorer la détection des contours d’objets à différentes échelles.
  • HED_EDGEDETECTORL’architecture HED (Holistically-Nested Edge Detection) est utilisée pour entraîner le modèle. Le détecteur de contours HED est utilisé pour la classification des pixels. Cette méthode est utile pour améliorer la détection des contours et des limites d’objets.
  • MULTITASK_ROADEXTRACTORL’architecture de l’extracteur de route multitâche est utilisée pour entraîner le modèle. L’extracteur de routes multitâche est utilisé pour la classification des pixels. Cette méthode est utile pour extraire des réseaux routiers de l’imagerie satellite.
  • CONNECTNETL’architecture ConnectNet est utilisée pour entraîner le modèle. ConnectNet est utilisé pour la classification des pixels. Cette méthode est utile pour extraire des réseaux routiers de l’imagerie satellite.
  • PIX2PIXL’architecture Pix2Pix sera utilisée pour entraîner le modèle. Pix2Pix est utilisé pour la conversion image à image. Cette méthode crée un objet de modèle qui génère des images d’un type à un autre. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Exporter les tuiles.
  • CYCLEGANL’architecture CycleGAN sera utilisée pour entraîner le modèle. CycleGAN est utilisé pour la conversion image à image. Cette méthode crée un objet de modèle qui génère des images d’un type à un autre. Cette méthode est unique en ce sens que les images à entraîner n’ont pas besoin de se superposer. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées CycleGAN.
  • SUPERRESOLUTIONL’architecture de super-résolution sera utilisée pour entraîner le modèle. La super-résolution est utilisée pour la conversion image à image. Cette méthode crée un objet de modèle qui augmente la résolution et améliore la qualité des images. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Exporter les tuiles.
  • CHANGEDETECTORL’architecture Détection des changements sera utilisée pour entraîner le modèle. Le détecteur de changement est utilisé pour la classification des pixels. Cette méthode crée un objet de modèle qui utilise deux images spatio-temporelles pour créer un raster classé du changement. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Tuiles classées.
  • IMAGECAPTIONERL’architecture Créateur de légende d’image sera utilisée pour entraîner le modèle. Créateur de légende d’image est utilisé pour la conversion d’image en texte. Cette méthode crée un modèle qui génère des légendes textuelles pour une image.
  • SIAMMASKL’architecture Siam Mask sera utilisée pour entraîner le modèle. SiamMask est utilisé pour la détection des objets dans les vidéos. Le modèle est entraîné à l’aide d’images de la vidéo et détecte les classes et zones de délimitation des objets dans cette image. Les données d’entraînement en entrée pour ce type de modèle utilise le format de métadonnées MaskRCNN.
  • MMDETECTIONL’architecture MMDetection sera utilisée pour entraîner le modèle. MMDetection est utilisé pour la détection des objets. Les formats de métadonnées pris en charge sont les rectangles de classes d’objets visuels PASCAL et les rectangles KITTI.
  • MMSEGMENTATIONL’architecture MMSegmentation sera utilisée pour entraîner le modèle. MMSegmentation est utilisé pour la classification des pixels. Le format de métadonnées pris en charge est Tuiles classées.
  • DEEPSORTL’architecture Deep Sort sera utilisée pour entraîner le modèle. Deep Sort est utilisé pour la détection des objets dans les vidéos. Le modèle est entraîné à l’aide d’images de la vidéo et détecte les classes et zones de délimitation des objets dans cette image. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Imagenet. Tandis que Siam Mask est utile pour suivre un objet, Deep Sort est utile pour entraîner un modèle afin de suivre plusieurs objets.
  • PIX2PIXHDL’architecture Pix2PixHD sera utilisée pour entraîner le modèle. Pix2PixHD est utilisé pour la conversion image à image. Cette méthode crée un objet de modèle qui génère des images d’un type à un autre. Les données d’entraînement en entrée pour ce type de modèle utilisent le format de métadonnées Exporter les tuiles.
  • MAXDEEPLABL’architecture MaX-DeepLab sera utilisée pour entraîner le modèle. MaX-DeepLab est utilisé pour la segmentation panoptique. Cette méthode crée un objet de modèle qui génère des images et des entités. Les données d’entraînement en entrée pour ce type de modèle utilise le format de métadonnées de segmentation Panoptique.
  • DETREGL’architecture DETReg sera utilisée pour entraîner le modèle. DETReg est utilisé pour la détection des objets. Les données d’entraînement en entrée pour ce type de modèle utilisent les classes d’objets visuels Pascal. Ce type de modèle sollicite beaucoup le GPU ; son exécution requiert un GPU dédié avec au moins 16 Go de mémoire.
  • PSETAEL’architecture PSETAE (Pixel-Set Encoders and Temporal Self-Attention) est utilisée pour entraîner le modèle pour la classification des séries chronologiques. PSETAE est utilisé pour la classification des pixels. Les données préliminaires utilisées pour cette méthode sont des données multidimensionnelles.
String
batch_size
(Facultatif)

Nombre d’échantillons d’entraînement à traiter à la fois pour l’entraînement.

Il est possible d’augmenter la taille de lot pour améliorer les performances de l’outil. Il convient toutefois de noter que le volume de mémoire utilisée est proportionnel à la taille de lot.

Si la mémoire disponible du GPU est insuffisante pour la taille de lot définie, l’outil tente d’estimer et d’utiliser une taille de lot optimale. Si un message d’erreur s’affiche pour mémoire insuffisante, utilisez une taille de lot plus petite.

Long
arguments
[arguments,...]
(Facultatif)

Les informations du paramètre model_type servent à définir les valeurs par défaut de ce paramètre. Ces arguments varient selon l’architecture du modèle. Les arguments pris en charge pour les modèles entraînés dans ArcGIS sont décrits ci-dessous. Les modèles pré-entraînés ArcGIS et les modèles de Deep Learning personnalisés peuvent comporter des arguments supplémentaires pris en charge par l’outil.

Pour plus d’informations sur les arguments disponibles pour chaque type de modèle, reportez-vous à la rubrique Arguments de Deep learning.

  • attention_type : indique le type de module. Les options de module sont PAM (Pyramid Attention Module) ou BAM (Basic Attention Module). La valeur par défaut est PAM.
  • chip_size : taille d’image utilisée pour entraîner le modèle. Tous les types de modèles prennent en charge l’argument chip_size, qui indique la taille de fragment des échantillons d’entraînement. Les images sont rognées selon la taille de fragment spécifiée. Si la taille de l’image est inférieure à la taille du fragment, la taille de l’image est utilisée. La taille par défaut est 224 pixels.
  • CLASS_BALANCING : indique si la perte d’entropie croisée inverse est équilibrée avec la fréquence des pixels par classe. La valeur par défaut est False.
  • decode_params : dictionnaire qui contrôle le mode de fonctionnement du créateur de légende d’image. La valeur par défaut est {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. L’argument decode_params se compose des paramètres suivants :
    • embed_size : taille d’incorporation. La valeur par défaut est de 100 couches dans le réseau neuronal.
    • hidden_size : taille de couche masquée. La valeur par défaut est de 100 couches dans le réseau neuronal.
    • attention_size : taille de couche d’attention intermédiaire. La valeur par défaut est de 100 couches dans le réseau neuronal.
    • teacher_forcing : probabilité de contrainte par l’enseignant. Le forçage des enseignants est une stratégie destinée à entraîner les réseaux neuronaux récurrents. Il utilise en entrée la sortie du modèle d’un intervalle temporel précédent au lieu de la sortie précédente, au cours de la rétro-propagation. La plage valide est comprise entre 0,0 et 1,0. La valeur par défaut est 1.
    • dropout : probabilité d’abandon. La plage valide est comprise entre 0,0 et 1,0. La valeur par défaut est 0,1.
    • pretrained_emb : spécifie si l’incorporation de texte pré-entraînée est utilisée. Avec la valeur True, l’incorporation de texte rapide est utilisée. Avec la valeur False, l’incorporation de texte pré-entraînée n’est pas utilisée. La valeur par défaut est False.
  • FOCAL_LOSS : indique si la perte focale est utilisée. La valeur par défaut est False.
  • gaussian_thresh : seuil gaussien, qui définit la largeur de route requise. La plage valide est comprise entre 0,0 et 1,0. La valeur par défaut est 0,76.
  • grids : nombre de grilles selon lequel l’image est divisée pour le traitement. Par exemple, si vous définissez cet argument sur 4, l’image est divisée en 4 x 4 ou 16 cellules de grille. Si aucune valeur n’est spécifiée, la valeur de grille optimale est calculée en fonction de l’imagerie en entrée.
  • IGNORE_CLASSES : liste des valeurs de classe pour lesquelles le modèle ne subit pas de perte.
  • MIXUP : indique si l’augmentation MixUp et la perte MixUp sont utilisées. La valeur par défaut est False.
  • model : modèle backbone utilisé pour entraîner le modèle. Les options disponibles dépendent de la valeur du paramètre model_type. La valeur par défaut pour MMDetection est cascade_rcnn. La valeur par défaut pour MMSegmentation est deeplabv3.
  • model_weight : détermine l’utilisation ou non des pondérations du modèle pré-entraîné. La valeur par défaut est False. La valeur peut également être un chemin d’accès à un fichier de configuration contenant les pondérations d’un modèle, provenant du référentiel MMDetection ou MMSegmentation.
  • monitor : indique la métrique à surveiller lors de la création des points de contrôle et de l’arrêt prématuré. Les métriques disponibles dépendent de la valeur du paramètre model_type. La valeur par défaut est valid_loss.
  • mtl_model : spécifie le type d’architecture utilisé pour créer le modèle. Les options sont linknet ou hourglass pour les architectures neuronales basées sur linknet ou hourglass, respectivement. La valeur par défaut est hourglass.
  • orient_bin_size : taille de groupe pour les angles d’orientation. La valeur par défaut est 20.
  • orient_theta : largeur du masque d’orientation. La valeur par défaut est 8.
  • PYRAMID_SIZES : nombre et taille des couches de convolution à appliquer aux différentes sous-régions. La valeur par défaut est [1, 2 , 3, 6]. Cet argument est propre au modèle PSPNET.
  • ratios : liste des proportions à utiliser pour les zones d’ancrage. Dans le domaine de la détection d’objet, une zone d’ancrage représente la localisation, la forme et la taille idéales de l’objet qui fait l’objet d’une prédiction. Par exemple, si vous définissez cet argument sur [1.0,1.0], [1.0, 0.5], la boîte englobante est un carré (1:1) ou un rectangle pour lequel la longueur du côté horizontal correspond à la moitié de la longueur du côté vertical (1:0.5). La valeur par défaut pour RETINANET est 0.5,1,2. La valeur par défaut pour SSD est [1.0, 1.0].
  • SCALES : nombre de niveaux d’échelle selon lequel chaque cellule est réduite ou agrandie. La valeur par défaut est [1, 0,8, 0,63].
  • USE_UNET : indique si le décodeur U-Net est utilisé pour récupérer les données une fois le regroupement des pyramides effectué. La valeur par défaut est True. Cet argument est propre au modèle PSPNET.
  • zooms : nombre de niveaux de zoom selon lequel chaque cellule de grille est réduite ou agrandie. Si vous définissez cet argument sur 1, toutes les cellules de grille restent à la même taille ou au même niveau de zoom. Un niveau de zoom égal à 2 signifie que toutes les cellules de grille deviennent deux fois plus grandes (agrandies à 100 pour cent). Si vous fournissez une liste de niveaux de zoom, toutes les cellules de grille sont mises à l’échelle avec tous les nombres de la liste. La valeur par défaut est 1.
Value Table
learning_rate
(Facultatif)

Vitesse à laquelle les informations existantes sont remplacées par les nouvelles informations acquises tout au long du processus d’entraînement. Si aucune valeur n’est spécifiée, la vitesse d’apprentissage optimale est extraite de la courbe d’apprentissage au cours du processus d’entraînement.

Double
backbone_model
(Facultatif)

Spécifie le réseau neuronal préconfiguré à utiliser comme architecture pour entraîner le nouveau modèle. Cette méthode est connue sous le nom de Transfer Learning.

  • DENSENET121Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 121 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • DENSENET161Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 161 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • DENSENET169Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 169 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • DENSENET201Le modèle préconfiguré est un réseau dense entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 201 couches. À la différence de ResNET, qui combine les couches en les additionnant, DenseNet combine les couches en les concaténant.
  • MOBILENET_V2Le modèle préconfiguré est entraîné avec la base de données Imagenet, composé de 54 couches et dédié au calcul en périphérie de réseau, car il utilise moins de mémoire.
  • RESNET18Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 18 couches.
  • RESNET34Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 34 couches. Il s’agit de l’option par défaut.
  • RESNET50Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 50 couches.
  • RESNET101Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 101 couches.
  • RESNET152Le modèle préconfiguré est un réseau résiduel entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 152 couches.
  • VGG11Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 11 couches.
  • VGG11_BNLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 11 couches.
  • VGG13Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 13 couches.
  • VGG13_BNLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 13 couches.
  • VGG16Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 16 couches.
  • VGG16_BNLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 16 couches.
  • VGG19Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images en vue de classer des images dans 1 000 catégories d’objets et a une profondeur de 19 couches.
  • VGG19_BNLe modèle préconfiguré repose sur le réseau VGG auquel est ajoutée la normalisation par lots, ce qui signifie que chaque couche du réseau est normalisée. Il est entraîné sur le jeu de données Imagenet et comporte 19 couches.
  • DARKNET53Le modèle préconfiguré est un réseau neuronal convolutif entraîné sur le jeu de données Imagenet qui contient plus d’un million d’images et a une profondeur de 53 couches.
  • REID_V1Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet utilisé pour le suivi d’objets.
  • REID_V2Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet utilisé pour le suivi d’objets.
  • RESNEXT50Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet et est composé de 50 couches. Il s’agit d’un réseau neuronal homogène, qui réduit le nombre d’hyperparamètres requis par le réseau résiduel conventionnel.
  • WIDE_RESNET50Le modèle préconfiguré est un réseau neuronal convolutif entraîné avec le jeu de données Imagenet et est composé de 50 couches. Il possède la même architecture que ResNET, mas avec davantage de canaux.

En outre, les réseaux neuronaux convolutifs pris en charge des modèles PyTorch Image Models (timm) peuvent être spécifiés en indiquant timm comme préfixe, par exemple timm:resnet31, timm:inception_v4, timm:efficientnet_b3, etc.

String
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
validation_percentage
(Facultatif)

Pourcentage des échantillons d’entraînement utilisés pour valider le modèle. La valeur par défaut est 10.

Double
stop_training
(Facultatif)

Indique si l’arrêt prématuré est implémenté.

  • STOP_TRAININGL’arrêt prématuré est implémenté et l’entraînement du modèle s’arrête lorsque ce dernier cesse de s’améliorer, quelle que soit la valeur spécifiée pour le paramètre max_epochs. Il s’agit de l’option par défaut.
  • CONTINUE_TRAININGL’arrêt prématuré n’est pas implémenté et l’entraînement du modèle continue jusqu’à atteindre la valeur du paramètre max_epochs.
Boolean
freeze
(Facultatif)

Spécifie si les couches backbone dans le modèle pré-entraîné sont figées afin que les pondérations et les biais conservent leur conception d’origine.

  • FREEZE_MODELLes couches backbone sont figées, et les pondérations et les biais prédéfinis ne sont pas altérés dans le paramètre backbone_model. Il s’agit de l’option par défaut.
  • UNFREEZE_MODELLes couches backbone ne sont pas figées, et les pondérations et les biais du paramètre backbone_model peuvent être altérés pour s’ajuster aux échantillons d’entraînement. Le temps de traitement est plus long, mais les résultats obtenus sont généralement meilleurs.
Boolean
augmentation
(Facultatif)

Spécifie le type d’augmentation des données utilisé.

L’augmentation des données est une technique permettant d’augmenter artificiellement la taille du jeu d’entraînement en créant des copies modifiées d’un jeu de données à l’aide des données existantes.

  • DEFAULTLes méthodes et les valeurs d’augmentation des données par défaut sont utilisées.Les méthodes d’augmentation des données par défaut incluses sont crop, dihedral_affine, brightness, contrast et zoom. Ces valeurs par défaut fonctionnent généralement bien pour l’imagerie satellite.
  • NONEL’augmentation des données n’est pas utilisée.
  • CUSTOMLes valeurs d’augmentation des données sont spécifiées à l’aide du paramètre augmentation_parameters.
  • FILELes transformations fastai pour l’augmentation de données des jeux de données d’entraînement et de validation sont spécifiées à l’aide du fichier transforms.json, situé dans le même dossier que les données d’entraînement.Pour plus d’informations sur les diverses transformations, voir la page consacrée aux transformations sur le site Web fastai.
String
augmentation_parameters
[augmentation_parameters,...]
(Facultatif)

Spécifie la valeur de chaque transformation dans le paramètre d’augmentation.

  • rotate : l’image subit une rotation aléatoire (en degrés) selon une probabilité (p). Si le nombre de degrés est une plage (a,b), une valeur entre a et b est attribuée de manière uniforme. La valeur par défaut est 30.0; 0.5.
  • brightness : la luminosité de l’image est ajustée de manière aléatoire selon la valeur de changement, avec une probabilité (p). Une valeur de changement de 0 rend l’image plus sombre, alors que la valeur 1 la rend plus claire. Une valeur de changement de 0,5 ne modifie pas la luminosité. Si la valeur de changement est une plage (a,b), l’augmentation attribue de manière uniforme une valeur entre a et b. La valeur par défaut est (0.4,0.6); 1.0.
  • contrast : le contraste de l’image est ajusté de manière aléatoire selon la valeur d’échelle, avec une probabilité (p). Une valeur d’échelle de 0 transforme l’image en niveaux de gris et une échelle supérieure à 1 défini un contraste élevé. Une valeur d’échelle de 1 n’ajuste pas le contraste. Si la valeur d’échelle est une plage (a,b), l’augmentation attribue de manière uniforme une valeur entre a et b. La valeur par défaut est (0.75, 1.5); 1.0.
  • zoom : un zoom avant aléatoire est appliqué à l’image selon la valeur d’échelle. La valeur de zoom a le format scale(a,b); p. La valeur par défaut est (1.0, 1.2); 1.0 où p représente la probabilité. Un zoom avant n’est appliqué à l’image que si la valeur d’échelle est supérieure à 1. Si la valeur d’échelle est une plage (a,b), une valeur entre a et b est attribuée de manière uniforme.
  • crop : l’image est rognée de manière aléatoire. La valeur de rognage a le format size;p;row_pct;col_pctp représente la probabilité. La position est donnée par (col_pct, row_pct),, où col_pct et row_pct sont normalisés entre 0 et 1. Si col_pct ou row_pct est une plage (a,b), une valeur entre a et b est attribuée de manière uniforme. La valeur par défaut est chip_size;1.0; (0, 1); (0, 1) où 224 représente la taille de fragment par défaut.

Value Table
chip_size
(Facultatif)

Taille d’image utilisée pour entraîner le modèle. Les images sont rognées en fonction de la taille de fragment spécifiée. Si la taille d’image est inférieure à la valeur du paramètre, la taille d’image est utilisée. La valeur par défaut est de 224 pixels.

Long
resize_to
(Facultatif)

Redimensionne les fragments d’image. Une fois un fragment redimensionné, des blocs de pixels sont rognés à la taille de fragment et utilisés pour l’entraînement. Ce paramètre s’applique à la détection d’objets (PASCAL VOC), à la classification d’objets (tuiles étiquetées) et aux données de super-résolution uniquement.

La valeur de redimensionnement correspond généralement à la moitié de la taille de fragment. Si la valeur de redimensionnement est inférieure à la taille de fragment, elle est utilisée pour créer les blocs de pixels pour l’entraînement.

String
weight_init_scheme
(Facultatif)

Spécifie la structure dans laquelle les pondérations seront initialisées pour la couche.

Pour qu’un modèle puisse être entraîné avec des données multispectrales, il doit contenir les divers types de canaux disponibles. Pour que cette condition soit remplie, il faut réinitialiser la première couche du modèle.

  • RANDOMDes pondérations aléatoires sont initialisées pour les canaux non RVB, alors que les pondérations pré-entraînées sont conservées pour les canaux RVB. Il s’agit de l’option par défaut.
  • RED_BANDLes pondérations correspondant au canal rouge de la couche du modèle pré-entraîné sont clonées pour les canaux non RVB, alors que les pondérations pré-entraînées sont conservées pour les canaux RVB.
  • ALL_RANDOMDes pondérations aléatoires sont initialisées pour les canaux RVB, ainsi que pour les canaux non RVB. Cette option s’applique uniquement à l’imagerie multispectrale.

Ce paramètre s’applique uniquement lorsque des images multispectrales sont utilisées dans le modèle.

String
monitor
(Facultatif)

Indique quelle métrique surveiller au point de contrôle et en cas d’arrêt prématuré.

  • VALID_LOSSLa perte de validation est surveillée. Lorsque la perte de validation ne change plus de manière significative, le modèle s’arrête. Il s’agit de l’option par défaut.
  • AVERAGE_PRECISIONLa moyenne pondérée de précision à chaque seuil est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • ACCURACYLe ratio entre le nombre de prévisions correctes et le nombre total de prévisions est surveillé. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • F1_SCORELa combinaison des scores de précision et de rappel d’un modèle est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • MIOULa moyenne entre l’intersection sur union (IoU) des objets segmentés pour toutes les images du jeu de données de test est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.
  • DICELes performances du modèle sont surveillées à l’aide de la métrique Dice. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Cette valeur peut être comprise entre 0 et 1. La valeur 1 correspond à une correspondance parfaite des pixels entre les données de validation et les données d’entraînement.
  • PRECISIONLa précision, qui mesure l’exactitude du modèle lors de la classification d’un échantillon comme positif, est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.La précision représente le ratio entre le nombre d’échantillons positifs classés correctement et le nombre total d’échantillons classés (correctement ou non).
  • RECALLLe rappel, qui mesure la capacité du modèle à détecter les échantillons positifs, est surveillé. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Plus le rappel est élevé, plus le nombre d’échantillons positifs détectés est élevé. La valeur de rappel représente le ratio entre le nombre d’échantillons positifs classés correctement comme positifs et le nombre total d’échantillons positifs.
  • CORPUS_BLEULe score bleu du corpus est surveillé. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Ce score est utilisé pour calculer la précision de plusieurs phrases, par exemple un paragraphe ou un document.
  • MULTI_LABEL_FBETALa moyenne harmonique pondérée de la précision et du rappel est surveillée. Lorsque cette valeur ne change plus de manière significative, le modèle s’arrête.Cette valeur est souvent appelée score F-bêta.
String

Sortie obtenue

NomExplicationType de données
out_model_file

Fichier du modèle entraîné en sortie.

File

Exemple de code

Exemple 1 - TrainDeepLearningModel (fenêtre Python)

Cet exemple entraîne un modèle de classification d’arbres avec la méthode U-Net.

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
# Execute 
TrainDeepLearningModel(r"C:\DeepLearning\TrainingData\Roads_FC", 
     r"C:\DeepLearning\Models\Fire", 40, "UNET", 16, "# #", None, 
     "RESNET34", None, 10, "STOP_TRAINING", "FREEZE_MODEL")
Exemple 2 d’utilisation de la fonction TrainDeepLearningModel (script autonome)

Cet exemple entraîne un modèle de détection d’objets avec la méthode SSD.

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
#Define input parameters
in_folder = "C:\\DeepLearning\\TrainingData\\Cars" 
out_folder = "C:\\Models\\Cars"
max_epochs = 100
model_type = "SSD"
batch_size = 2
arg = "grids '[4, 2, 1]';zooms '[0.7, 1.0, 1.3]';ratios '[[1, 1], [1, 0.5], [0.5, 1]]'"
learning_rate = 0.003
backbone_model = "RESNET34" 
pretrained_model = "C:\\Models\\Pretrained\\vehicles.emd"
validation_percent = 10
stop_training = "STOP_TRAINING"
freeze = "FREEZE_MODEL"


# Execute
TrainDeepLearningModel(in_folder, out_folder, max_epochs, model_type, 
     batch_size, arg, learning_rate, backbone_model, pretrained_model, 
     validation_percent, stop_training, freeze)

Informations de licence

  • Basic: Nécessite Image Analyst
  • Standard: Nécessite Image Analyst
  • Advanced: Nécessite Image Analyst

Rubriques connexes