Texttransformationsmodell trainieren (GeoAI)

Zusammenfassung

Trainiert ein Texttransformationsmodell, mit dem Text transformiert, übersetzt oder zusammengefasst werden soll.

Weitere Informationen zur Funktionsweise der Texttransformation

Verwendung

  • Für dieses Werkzeug müssen Deep-Learning-Frameworks installiert sein. Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS Pro finden Sie unter Installieren von Deep-Learning-Frameworks for ArcGIS.

  • Dieses Werkzeug kann auch zur Optimierung eines vorhandenen trainierten Modells verwendet werden.

  • Wenn Sie dieses Werkzeug mit dem Grafikprozessor ausführen möchten, legen Sie die Umgebungsvariable Prozessortyp auf "GPU" fest. Wenn Sie mehrere Grafikprozessoren haben, legen Sie stattdessen die Umgebungsvariable GPU ID fest.

  • Als Eingabe für das Werkzeug dient eine Tabelle oder Feature-Class mit Trainingsdaten, wobei ein Textfeld den Eingabetext und ein Beschriftungsfeld den transformierten Text enthält.

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

Eine Feature-Class oder Tabelle, die ein Textfeld mit dem Eingabetext für das Modell und ein Beschriftungsfeld mit dem transformierten Zieltext enthält.

Feature Layer; Table View
Textfeld

Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den vom Modell zu transformierenden Eingabetext enthält.

Field
Beschriftungsfeld

Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den transformierten Zieltext für das Training des Modells enthält.

Field
Ausgabemodell

Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird.

Folder
Datei des vortrainierten Modells
(optional)

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

Ein vortrainiertes Modell, mit dem ein ähnlicher Task ausgeführt wird, kann optimiert 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
Max. Epochen
(optional)

Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Die Einstellung "Max. Epochen" auf 1 bedeutet, dass das Dataset einmal vorwärts und einmal rückwärts durch das neuronale Netz geleitet wird. Der Standardwert ist 5.

Long
Modell-Backbone
(optional)

Gibt das vorkonfigurierte neuronale Netzwerk an, das als Architektur für das Training des neuen Modells verwendet werden soll.

  • t5-smallDas neue Modell wird mit dem neuronalen Netzwerk T5 trainiert. T5 ist eine einheitliche Umgebung zum Konvertieren von Sprachproblemen in ein Text-in-Text-Format. t5-small ist die kleine Variante von T5.
  • t5-baseDas neue Modell wird mit dem neuronalen Netzwerk T5 trainiert. T5 ist eine einheitliche Umgebung zum Konvertieren von Sprachproblemen in ein Text-in-Text-Format. t5-base ist die mittlere Variante von T5.
  • t5-largeDas neue Modell wird mit dem neuronalen Netzwerk T5 trainiert. T5 ist eine einheitliche Umgebung zum Konvertieren von Sprachproblemen in ein Text-in-Text-Format. t5-large ist die große Variante von T5.
String
Batch-Größe
(optional)

Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Der Standardwert ist 2.

Durch größere Batches kann die Leistung des Werkzeugs erhöht werden. Aber größere Batches belegen mehr Arbeitsspeicher. Wird die Fehlermeldung "Nicht genügend Arbeitsspeicher" angezeigt, verwenden Sie kleinere Batches.

Double
Modellargumente
(optional)

Zusätzliche Argumente für die Initialisierung des Modells wie beispielsweise seq_len für die maximale Sequenzlänge der Trainingsdaten, die beim Training des Modells berücksichtigt werden.

In den Informationen zu Schlüsselwortargumenten in der SequenceToSequence-Dokumentation finden Sie eine Liste der unterstützten Modellargumente, die verwendet werden können.

Value Table
Lernrate
(optional)

Die Schrittgröße, die angibt, in welchem Umfang die Modellgewichtungen beim Trainingsprozess angepasst werden. Wenn kein Wert angegeben ist, wird automatisch eine optimale Lernrate abgeleitet.

Double
Validierungsprozentsatz
(optional)

Der Prozentsatz der Trainingsgebiete, die für die Überprüfung des Modells verwendet werden sollen. Der Standardwert ist 10.

Double
Beenden, wenn sich das Modell nicht mehr verbessert
(optional)

Gibt an, ob das Modelltraining beendet wird, wenn sich das Modell nicht mehr verbessert, oder erst dann, wenn der Parameterwert Max. Epochen erreicht wurde.

  • Aktiviert: Das Modelltraining wird beendet, wenn sich das Modell nicht mehr verbessert, und zwar unabhängig vom angegebenen Parameterwert Max. Epochen. Dies ist die Standardeinstellung.
  • Deaktiviert: Das Modelltraining wird fortgesetzt, bis der Parameterwert Max. Epochen erreicht wurde.
Boolean
Modell-Backbone trainierbar machen
(optional)

Gibt an, ob die Backbone-Layer im vorab trainierten Modell fixiert werden sollen, sodass die Gewichtungen und Verzerrungen wie ursprünglich vorgesehen beibehalten werden.

  • Aktiviert: Die Backbone-Layer werden nicht fixiert, und die Gewichtungen und Verzerrungen des Parameterwertes Modell-Backbone können geändert werden, um sie an die Trainingsgebiete anzupassen. Die Verarbeitung dauert zwar länger, führt aber in der Regel zu besseren Ergebnissen. Dies ist die Standardeinstellung.
  • Deaktiviert: Die Backbone-Layer werden fixiert, und die vordefinierten Gewichtungen und Verzerrungen des Parameterwertes Modell-Backbone werden beim Training nicht geändert.

Boolean
HTML-Tags entfernen
(optional)

Gibt an, ob HTML-Tags aus dem Eingabetext entfernt werden.

  • Aktiviert: Die HTML-Tags im Eingabetext werden entfernt. Dies ist die Standardeinstellung.
  • Deaktiviert: Die HTML-Tags im Eingabetext werden nicht entfernt.

Boolean
URLs entfernen
(optional)

Gibt an, ob URLs aus dem Eingabetext entfernt werden.

  • Aktiviert: Die URLs im Eingabetext werden entfernt. Dies ist die Standardeinstellung.
  • Deaktiviert: Die URLs im Eingabetext werden nicht entfernt.

Boolean

arcpy.geoai.TrainTextTransformationModel(in_table, text_field, label_field, out_model, {pretrained_model_file}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable}, {remove_html_tags}, {remove_urls})
NameErläuterungDatentyp
in_table

Eine Feature-Class oder Tabelle, die ein Textfeld mit dem Eingabetext für das Modell und ein Beschriftungsfeld mit dem transformierten Zieltext enthält.

Feature Layer; Table View
text_field

Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den vom Modell zu transformierenden Eingabetext enthält.

Field
label_field

Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den transformierten Zieltext für das Training des Modells enthält.

Field
out_model

Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird.

Folder
pretrained_model_file
(optional)

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

Ein vortrainiertes Modell, mit dem ein ähnlicher Task ausgeführt wird, kann optimiert 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
max_epochs
(optional)

Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Die Einstellung "Max. Epochen" auf 1 bedeutet, dass das Dataset einmal vorwärts und einmal rückwärts durch das neuronale Netz geleitet wird. Der Standardwert ist 5.

Long
model_backbone
(optional)

Gibt das vorkonfigurierte neuronale Netzwerk an, das als Architektur für das Training des neuen Modells verwendet werden soll.

  • t5-smallDas neue Modell wird mit dem neuronalen Netzwerk T5 trainiert. T5 ist eine einheitliche Umgebung zum Konvertieren von Sprachproblemen in ein Text-in-Text-Format. t5-small ist die kleine Variante von T5.
  • t5-baseDas neue Modell wird mit dem neuronalen Netzwerk T5 trainiert. T5 ist eine einheitliche Umgebung zum Konvertieren von Sprachproblemen in ein Text-in-Text-Format. t5-base ist die mittlere Variante von T5.
  • t5-largeDas neue Modell wird mit dem neuronalen Netzwerk T5 trainiert. T5 ist eine einheitliche Umgebung zum Konvertieren von Sprachproblemen in ein Text-in-Text-Format. t5-large ist die große Variante von T5.
String
batch_size
(optional)

Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Der Standardwert ist 2.

Durch größere Batches kann die Leistung des Werkzeugs erhöht werden. Aber größere Batches belegen mehr Arbeitsspeicher. Wird die Fehlermeldung "Nicht genügend Arbeitsspeicher" angezeigt, verwenden Sie kleinere Batches.

Double
model_arguments
[model_arguments,...]
(optional)

Zusätzliche Argumente für die Initialisierung des Modells wie beispielsweise seq_len für die maximale Sequenzlänge der Trainingsdaten, die beim Training des Modells berücksichtigt werden.

In den Informationen zu Schlüsselwortargumenten in der SequenceToSequence-Dokumentation finden Sie eine Liste der unterstützten Modellargumente, die verwendet werden können.

Value Table
learning_rate
(optional)

Die Schrittgröße, die angibt, in welchem Umfang die Modellgewichtungen beim Trainingsprozess angepasst werden. Wenn kein Wert angegeben ist, wird automatisch eine optimale Lernrate abgeleitet.

Double
validation_percentage
(optional)

Der Prozentsatz der Trainingsgebiete, die für die Überprüfung des Modells verwendet werden sollen. Der Standardwert ist 10.

Double
stop_training
(optional)

Gibt an, ob das Modelltraining beendet wird, wenn sich das Modell nicht mehr verbessert, oder erst dann, wenn der Parameterwert max_epochs erreicht wurde.

  • STOP_TRAININGDas Modelltraining wird beendet, wenn sich das Modell nicht mehr verbessert, und zwar unabhängig vom angegebenen Parameterwert max_epochs. Dies ist die Standardeinstellung.
  • CONTINUE_TRAININGDas Modelltraining wird fortgesetzt, bis der Parameterwert max_epochs erreicht wurde.
Boolean
make_trainable
(optional)

Gibt an, ob die Backbone-Layer im vorab trainierten Modell fixiert werden sollen, sodass die Gewichtungen und Verzerrungen wie ursprünglich vorgesehen beibehalten werden.

  • TRAIN_MODEL_BACKBONEDie Backbone-Layer werden nicht fixiert, und die Gewichtungen und Verzerrungen des Parameterwertes model_backbone können geändert werden, um sie an die Trainingsgebiete anzupassen. Die Verarbeitung dauert zwar länger, führt aber in der Regel zu besseren Ergebnissen. Dies ist die Standardeinstellung.
  • FREEZE_MODEL_BACKBONEDie Backbone-Layer werden fixiert, und die vordefinierten Gewichtungen und Verzerrungen des Parameterwertes model_backbone werden beim Training nicht geändert.
Boolean
remove_html_tags
(optional)

Gibt an, ob HTML-Tags aus dem Eingabetext entfernt werden.

  • REMOVE_HTML_TAGSDie HTML-Tags im Eingabetext werden entfernt. Dies ist die Standardeinstellung.
  • DO_NOT_REMOVE_HTML_TAGSDie HTML-Tags im Eingabetext werden nicht entfernt.
Boolean
remove_urls
(optional)

Gibt an, ob URLs aus dem Eingabetext entfernt werden.

  • REMOVE_URLSDie URLs im Eingabetext werden entfernt. Dies ist die Standardeinstellung.
  • DO_NOT_REMOVE_URLSDie URLs im Eingabetext werden nicht entfernt.
Boolean

Codebeispiel

TrainTextTransformationModel (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie die Funktion TrainTextTransformationModel verwenden.

# Name: TrainTextTransformation.py
# Description: Train a sequence-to-sequence model to translate text from English to German.  
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy
import os

# Set local variables
in_table = "training_data.csv"
out_folder = "c\\texttransformer"

# Run Train Text Transformation Model
arcpy.geoai.TrainTextTransformationModel(in_table, out_folder, max_epochs=2,
         text_field="input", label_field="target", batch_size=16)

Umgebungen

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen