Mit AutoDL trainieren (Image Analyst)

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Mit diesem Werkzeug wird ein Deep-Learning-Modell trainiert, indem Training-Pipelines erstellt und ein Großteil des Trainingsprozesses automatisiert wird. Dazu gehören Datenerweiterung, Modellauswahl, Hyperparameter-Optimierung und Batch-Größen-Deduktion. Die Ausgaben enthalten Performance-Kennwerte des besten Modells in den Trainingsdaten sowie das trainierte Deep-Learning-Modellpaket (.dlpk), das als Eingabe für das Werkzeug Features mit AI-Modellen extrahieren verwendet werden kann, um Vorhersagen für neue Bilddaten zu treffen.

Weitere Informationen zur Funktionsweise von AutoDL

Verwendung

  • Sie müssen das richtige Deep-Learning-Framework für Python in ArcGIS Pro installieren.

    Informationen zum Installieren von Deep-Learning-Frameworks für ArcGIS

  • Weitere Informationen zum Trainieren von Modellen in einer nicht verbundenen Umgebung finden Sie unter Additional Installation for Disconnected Environment.

  • Wie lange es dauert, bis das Werkzeug das trainierte Modell erstellt, hängt von den folgenden Faktoren ab:

    • Menge der beim Training bereitgestellten Daten
    • Wert des Parameters AutoDL-Modus
    • Wert des Parameters Limit für Gesamtzeit (Stunden)

    Standardmäßig ist der Timer für alle Modi auf 2 Stunden festgelegt. Im Modus Basis werden die ausgewählten Netzwerke innerhalb der angegebenen Zeit anhand des Standard-Backbones trainiert. Im Modus Erweitert wird die Gesamtzeit in zwei Hälften geteilt. In der ersten Hälfte wird die Modellbewertung durchgeführt. Anschließend werden die beiden Modelle mit der besten Performance für die Bewertung anhand anderer Backbones ausgewählt. Wenn eine große Menge von Daten trainiert werden soll, können innerhalb von 2 Stunden möglicherweise nicht alle ausgewählten Modelle ausgewertet werden. In solchen Fällen wird das Modell, das in 2 Stunden am besten abschneidet, als optimales Modell betrachtet. Sie können entweder dieses Modell verwenden oder das Werkzeug mit einem höheren Wert für den Parameter Limit für Gesamtzeit (Stunden) erneut ausführen.

  • Dieses Werkzeug kann auch zur Optimierung eines vorhandenen trainierten Modells verwendet werden. Beispielsweise kann für ein vorhandenes Modell, das für Autos trainiert wurde, ein Finetuning durchgeführt werden, um ein Modell für die Identifizierung von Lastwagen zu trainieren.

  • Zur Ausführung dieses Werkzeugs ist ein Computer mit Grafikprozessor erforderlich. Wenn Sie mehrere Grafikprozessoren haben, verwenden Sie die Umgebungsvariable GPU ID.

  • Die Eingabe-Trainingsdaten für dieses Werkzeug müssen die Bilder- und Beschriftungsordner umfassen, die vom Werkzeug Trainingsdaten für Deep Learning exportieren generiert werden.

  • Mögliche Anwendungsfälle für das Werkzeug wären das Trainieren von Modellen für die Objekterkennung und Pixelklassifizierung zum Extrahieren von Features wie Gebäudegrundrissen, Becken, Solarkollektoren, Landnutzungsklassifizierung usw.

  • Weitere Informationen zu den Voraussetzungen für die Ausführung dieses Werkzeugs und eventuell dabei auftretenden Problemen finden Sie unter Häufig gestellte Fragen zu Deep Learning.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Trainingsdaten

Die Ordner mit den Bildschnipseln, Beschriftungen und Statistiken, die zum Trainieren des Modells benötigt werden. Dies ist die Ausgabe des Werkzeugs Trainingsdaten für Deep Learning exportieren. Das Metadatenformat der exportierten Daten muss Classified_Tiles, PASCAL_VOC_rectangles oder KITTI_rectangles lauten.

Folder
Ausgabemodell

Das trainierte Ausgabemodell, das als Deep-Learning-Paket (.dlpk-Datei) gespeichert wird.

File
Vortrainiertes Modell
(optional)

Ein vortrainiertes Modell, das zum Finetuning des neuen Modells verwendet wird. Die Eingabe ist eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk).

Für ein vortrainiertes Modell mit ähnlichen Klassen kann ein Finetuning durchgeführt werden, um es auf das neue Modell abzustimmen. Das vortrainierte Modell muss mit dem gleichen Modelltyp und dem gleichen Backbone-Modell trainiert worden sein, das für das Training des neuen Modells verwendet wird.

File
Limit für Gesamtzeit (Stunden)
(optional)

Das Limit für die Gesamtzeit des AutoDL-Modelltrainings in Stunden. Der Standardwert liegt bei 2 Stunden.

Double
AutoDL-Modus
(optional)

Gibt an, welcher AutoDL-Modus verwendet und mit welcher Intensität die AutoDL-Suche durchgeführt wird.

  • GrundlegendEs wird der Basismodus verwendet. Dieser Modus dient zum Trainieren aller ausgewählten Netzwerke ohne Hyperparameter-Optimierung.
  • ErweitertEs wird der erweiterte Modus verwendet. Mit diesem Modus wird eine Hyperparameter-Optimierung für die beiden Modelle mit der besten Performance durchgeführt.
String
Neuronales Netzwerk
(optional)

Gibt die Architekturen an, die zum Trainieren des Modells verwendet werden.

Standardmäßig werden alle Netze verwendet.

  • SingleShotDetectorDie Architektur "SingleShotDetector" wird zum Trainieren des Modells verwendet. SingleShotDetector wird für die Objekterkennung eingesetzt.
  • RetinaNetDie Architektur "RetinaNet" wird zum Trainieren des Modells verwendet. RetinaNet wird für die Objekterkennung eingesetzt.
  • FasterRCNNDie Architektur "FasterRCNN" wird zum Trainieren des Modells verwendet. FasterRCNN wird für die Objekterkennung eingesetzt.
  • YOLOv3Die Architektur "YOLOv3" wird zum Trainieren des Modells verwendet. Für die Objekterkennung wird YOLOv3 verwendet.
  • HRNetDie Architektur "HRNet" wird zum Trainieren des Modells verwendet. HRNet wird für die Pixelklassifizierung verwendet.
  • ATSSDie Architektur "ATSS" wird zum Trainieren des Modells verwendet. ATSS wird für die Objekterkennung eingesetzt.
  • CARAFEDie Architektur "CARAFE" wird zum Trainieren des Modells verwendet. CARAFE wird für die Objekterkennung eingesetzt.
  • CascadeRCNNDie Architektur "CascadeRCNN" wird zum Trainieren des Modells verwendet. CascadeRCNN wird für die Objekterkennung eingesetzt.
  • CascadeRPNDie Architektur "CascadeRPN" wird zum Trainieren des Modells verwendet. CascadeRPN wird für die Objekterkennung eingesetzt.
  • DCNDie Architektur "DCN" wird zum Trainieren des Modells verwendet. DCN wird für die Objekterkennung eingesetzt.
  • DeepLabDie Architektur "DeepLab" wird zum Trainieren des Modells verwendet. DeepLab wird für die Pixelklassifizierung verwendet.
  • UnetClassifierDie Architektur "UnetClassifier" wird zum Trainieren des Modells verwendet. UnetClassifier wird für die Pixelklassifizierung verwendet.
  • PSPNetClassifierDie Architektur "PSPNetClassifier" wird zum Trainieren des Modells verwendet. PSPNetClassifier wird für die Pixelklassifizierung verwendet.
  • ANNDie Architektur "ANN" wird zum Trainieren des Modells verwendet. ANN wird für die Pixelklassifizierung verwendet.
  • APCNetDie Architektur "APCNet" wird zum Trainieren des Modells verwendet. APCNet wird für die Pixelklassifizierung verwendet.
  • CCNetDie Architektur "CCNet" wird zum Trainieren des Modells verwendet. CCNet wird für die Pixelklassifizierung verwendet.
  • CGNetDie Architektur "CGNet" wird zum Trainieren des Modells verwendet. CGNet wird für die Pixelklassifizierung verwendet.
String
Ausgewertete Modelle speichern
(optional)

Gibt an, ob alle ausgewerteten Modelle gespeichert werden.

  • Aktiviert: Alle ausgewerteten Modelle werden gespeichert.
  • Deaktiviert: Nur das Modell mit der besten Performance wird gespeichert. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabe-Modelldatei

Die Ausgabe-Modelldatei.

File

TrainUsingAutoDL(in_data, out_model, {pretrained_model}, {total_time_limit}, {autodl_mode}, {networks}, {save_evaluated_models})
NameErläuterungDatentyp
in_data

Die Ordner mit den Bildschnipseln, Beschriftungen und Statistiken, die zum Trainieren des Modells benötigt werden. Dies ist die Ausgabe des Werkzeugs Trainingsdaten für Deep Learning exportieren. Das Metadatenformat der exportierten Daten muss Classified_Tiles, PASCAL_VOC_rectangles oder KITTI_rectangles lauten.

Folder
out_model

Das trainierte Ausgabemodell, das als Deep-Learning-Paket (.dlpk-Datei) gespeichert wird.

File
pretrained_model
(optional)

Ein vortrainiertes Modell, das zum Finetuning des neuen Modells verwendet wird. Die Eingabe ist eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk).

Für ein vortrainiertes Modell mit ähnlichen Klassen kann ein Finetuning durchgeführt werden, um es auf das neue Modell abzustimmen. Das vortrainierte Modell muss mit dem gleichen Modelltyp und dem gleichen Backbone-Modell trainiert worden sein, das für das Training des neuen Modells verwendet wird.

File
total_time_limit
(optional)

Das Limit für die Gesamtzeit des AutoDL-Modelltrainings in Stunden. Der Standardwert liegt bei 2 Stunden.

Double
autodl_mode
(optional)

Gibt an, welcher AutoDL-Modus verwendet und mit welcher Intensität die AutoDL-Suche durchgeführt wird.

  • BASICEs wird der Basismodus verwendet. Dieser Modus dient zum Trainieren aller ausgewählten Netzwerke ohne Hyperparameter-Optimierung.
  • ADVANCEDEs wird der erweiterte Modus verwendet. Mit diesem Modus wird eine Hyperparameter-Optimierung für die beiden Modelle mit der besten Performance durchgeführt.
String
networks
[networks,...]
(optional)

Gibt die Architekturen an, die zum Trainieren des Modells verwendet werden.

  • SingleShotDetectorDie Architektur "SingleShotDetector" wird zum Trainieren des Modells verwendet. SingleShotDetector wird für die Objekterkennung eingesetzt.
  • RetinaNetDie Architektur "RetinaNet" wird zum Trainieren des Modells verwendet. RetinaNet wird für die Objekterkennung eingesetzt.
  • FasterRCNNDie Architektur "FasterRCNN" wird zum Trainieren des Modells verwendet. FasterRCNN wird für die Objekterkennung eingesetzt.
  • YOLOv3Die Architektur "YOLOv3" wird zum Trainieren des Modells verwendet. Für die Objekterkennung wird YOLOv3 verwendet.
  • HRNetDie Architektur "HRNet" wird zum Trainieren des Modells verwendet. HRNet wird für die Pixelklassifizierung verwendet.
  • ATSSDie Architektur "ATSS" wird zum Trainieren des Modells verwendet. ATSS wird für die Objekterkennung eingesetzt.
  • CARAFEDie Architektur "CARAFE" wird zum Trainieren des Modells verwendet. CARAFE wird für die Objekterkennung eingesetzt.
  • CascadeRCNNDie Architektur "CascadeRCNN" wird zum Trainieren des Modells verwendet. CascadeRCNN wird für die Objekterkennung eingesetzt.
  • CascadeRPNDie Architektur "CascadeRPN" wird zum Trainieren des Modells verwendet. CascadeRPN wird für die Objekterkennung eingesetzt.
  • DCNDie Architektur "DCN" wird zum Trainieren des Modells verwendet. DCN wird für die Objekterkennung eingesetzt.
  • DeepLabDie Architektur "DeepLab" wird zum Trainieren des Modells verwendet. DeepLab wird für die Pixelklassifizierung verwendet.
  • UnetClassifierDie Architektur "UnetClassifier" wird zum Trainieren des Modells verwendet. UnetClassifier wird für die Pixelklassifizierung verwendet.
  • PSPNetClassifierDie Architektur "PSPNetClassifier" wird zum Trainieren des Modells verwendet. PSPNetClassifier wird für die Pixelklassifizierung verwendet.
  • ANNDie Architektur "ANN" wird zum Trainieren des Modells verwendet. ANN wird für die Pixelklassifizierung verwendet.
  • APCNetDie Architektur "APCNet" wird zum Trainieren des Modells verwendet. APCNet wird für die Pixelklassifizierung verwendet.
  • CCNetDie Architektur "CCNet" wird zum Trainieren des Modells verwendet. CCNet wird für die Pixelklassifizierung verwendet.
  • CGNetDie Architektur "CGNet" wird zum Trainieren des Modells verwendet. CGNet wird für die Pixelklassifizierung verwendet.

Standardmäßig werden alle Netze verwendet.

String
save_evaluated_models
(optional)

Gibt an, ob alle ausgewerteten Modelle gespeichert werden.

  • SAVE_ALL_MODELSAlle ausgewerteten Modelle werden gespeichert.
  • SAVE_BEST_MODELNur das Modell mit der besten Performance wird gespeichert. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
output_model_file

Die Ausgabe-Modelldatei.

File

Codebeispiel

TrainUsingAutoDL (Python-Fenster)

In diesem Beispiel wird die Verwendung der Funktion TrainUsingAutoDL gezeigt.


# 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")
TrainUsingAutoDL (Python-Fenster)

In diesem Beispiel wird die Verwendung der Funktion TrainUsingAutoDL gezeigt.

# 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")

Umgebungen

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Erfordert Image Analyst

Verwandte Themen