Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Liste der integrierten Debuger-Regeln
Sie können die von Amazon Debugger bereitgestellten integrierten SageMaker Debuger-Regeln verwenden, um Metriken und Tensoren zu analysieren, die beim Training Ihrer Modelle erfasst wurden. Im Folgenden sind die Debugger-Regeln aufgeführt, einschließlich Informationen und eines Beispiels zur Konfiguration und Bereitstellung der einzelnen integrierten Regeln.
Die in den Debugger integrierten Regeln überwachen verschiedene häufige Bedingungen, die für den Erfolg eines Trainings-Jobs entscheidend sind. Sie können die integrierten Regeln mit Amazon SageMaker Python SDK
Für die Nutzung der integrierten Regeln fallen keine zusätzlichen Kosten an. Weitere Informationen zur Abrechnung finden Sie auf der Seite mit den SageMaker Amazon-Preisen
Anmerkung
Die maximale Anzahl integrierter Regeln, die Sie einem Training-Job zuordnen können, beträgt 20. SageMaker Der Debugger verwaltet die integrierten Regeln vollständig und analysiert Ihren Trainingsjob synchron.
Wichtig
Um die neuen Debugger-Funktionen verwenden zu können, müssen Sie SageMaker Python SDK und die SMDebug Client-Bibliothek aktualisieren. Führen Sie in Ihrem iPython Kernel, Jupyter-Notebook oder Ihrer JupyterLab Umgebung den folgenden Code aus, um die neuesten Versionen der Bibliotheken zu installieren und den Kernel neu zu starten.
import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)
Debugger-Regel
Die folgenden Regeln sind die in den Debugger integrierten Regeln, die mit der Klassenmethode Rule.sagemaker
aufgerufen werden können.
In den Debugger integrierte Regeln zum Erzeugen von Trainingsberichten
Gültigkeitsbereich | Integrierte Regeln |
---|---|
Schulungsbericht für eine SageMaker XGboost Ausbildungsstelle |
In den Debugger integrierte Regeln zum Debuggen von Modelltrainingsdaten (Ausgabetensoren)
Gültigkeitsbereich | Integrierte Regeln |
---|---|
Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) | |
Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) und der XGBoost Algorithmus | |
Deep-Learning-Anwendungen | |
XGBoostAlgorithmus |
Um die integrierten Regeln mit Standardparameterwerten zu verwenden, verwenden Sie das folgende Konfigurationsformat:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ Rule.sagemaker(rule_configs.
built_in_rule_name_1
()), Rule.sagemaker(rule_configs.built_in_rule_name_2
()), ... Rule.sagemaker(rule_configs.built_in_rule_name_n
()) ]
Um die integrierten Regeln mit individuellen Parameterwerten zu verwenden, verwenden Sie das folgende Konfigurationsformat:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ Rule.sagemaker( base_config=rule_configs.
built_in_rule_name
(), rule_parameters={ "key
": "value
" } collections_to_save=[ CollectionConfig( name="tensor_collection_name
", parameters={ "key
": "value
" } ) ] ) ]
Die verfügbaren Schlüssel für den Parameter rule_parameters
finden Sie in den Tabellen mit den Parameterbeschreibungen.
Unter den Tabellen mit den Parameterbeschreibungen finden Sie für jede integrierte Regel Beispielkonfigurationscodes.
-
Eine vollständige Anleitung und Beispiele für die Verwendung der in den Debugger integrierten Regeln finden Sie unter Beispielcode für integrierte Debuger-Regeln.
-
Eine vollständige Anleitung zur Verwendung der integrierten Regeln mit SageMaker API Low-Level-Operationen finden Sie unterDebugger konfigurieren mit SageMaker API.
CreateXgboostReport
Die CreateXgboostReport Regel sammelt Ausgangstensoren aus einem XGBoost Trainingsjob und generiert automatisch einen umfassenden Trainingsbericht. Sie können einen umfassenden Profilerstellungsbericht herunterladen, während ein Training-Job ausgeführt wird oder nachdem der Training-Job abgeschlossen ist, und den Trainingsfortschritt oder das Endergebnis des Training-Jobs überprüfen. Die CreateXgboostReport Regel sammelt standardmäßig die folgenden Ausgabetensoren:
-
hyperparameters
– Speichert beim ersten Schritt -
metrics
– Speichert Verlust und Genauigkeit alle 5 Schritte -
feature_importance
– Speichert alle 5 Schritte -
predictions
– Speichert alle 5 Schritte -
labels
– Speichert alle 5 Schritte
Parameterbeschreibungen für die Regel CreateXgboostReport
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
rules=[ Rule.sagemaker( rule_configs.
create_xgboost_report
() ) ]
DeadRelu
Diese Regel erkennt, wenn der Prozentsatz der Aktivierungsfunktionen für die berichtigte lineare Einheit (ReLU) in einer Testversion als tot angesehen wird, da ihre Aktivierungsaktivität einen bestimmten Schwellenwert unterschritten hat. Wenn der Prozentsatz von inaktivem R eLUs in einer Ebene größer ist als der threshold_layer
Wert von inaktivem ReLUs, kehrt die Regel zurückTrue
.
Parameterbeschreibungen für die DeadRelu Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: |
threshold_inactivity |
Definiert einen Aktivitätsgrad, unter dem ein ReLU als tot angesehen wird. Ein ReLU kann zu Beginn einer Testphase aktiv sein und dann während des Trainings langsam inaktiv werden. Wenn das ReLU weniger aktiv ist als der Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
threshold_layer |
Gibt zurück Gibt zurück Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.dead_relu(), rule_parameters={ "tensor_regex": "
.*relu_output|.*ReLU_output
", "threshold_inactivity": "1.0
", "threshold_layer": "50.0
" }, collections_to_save=[ CollectionConfig( name="custom_relu_collection
", parameters={ "include_regex: ".*relu_output|.*ReLU_output
", "save_interval": "500
" } ) ] ) ]
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Diese Regel ist für den XGBoost Algorithmus nicht verfügbar.
ExplodingTensor
Diese Regel erkennt, ob die während des Trainings ausgegebenen Tensoren unendliche Werte aufweisen, entweder unendlich oder NaN (keine Zahl). Wenn ein nicht endlicher Wert erkannt wird, gibt die Regel True
zurück.
Parameterbeschreibungen für die Regel ExplodingTensor
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Zulässige Werte: String Standardwert: |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Zulässige Werte: String Standardwert: |
only_nan |
Optional Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
exploding_tensor
(), rule_parameters={ "tensor_regex": ".*gradient
", "only_nan": "False
" }, collections_to_save=[ CollectionConfig( name="gradients
", parameters={ "save_interval": "500
" } ) ] ) ]
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Diese Regel ist für den XGBoost Algorithmus nicht verfügbar.
PoorWeightInitialization
Diese Regel erkennt, ob die Modellparameter schlecht initialisiert wurden.
Eine gute Initialisierung unterbricht die Symmetrie der Gewichte und Gradienten in einem neuronalen Netzwerk und behält die angemessenen Aktivierungsvarianzen über Ebenen hinweg bei. Andernfalls lernt das neuronale Netzwerk nicht effektiv. Initialisierer wie Xavier zielen darauf ab, die Varianz über Aktivierungen hinweg konstant zu halten, was besonders für das Training sehr tiefer neuronaler Netze relevant ist. Eine zu kleine Initialisierung kann zu verschwindenden Gradienten führen. Eine zu große Initialisierung kann zu explodierenden Gradienten führen. Diese Regel überprüft die Varianz der Aktivierungseingänge über Ebenen hinweg, die Verteilung der Gradienten und die Verlustkonvergenz für die ersten Schritte, um festzustellen, ob ein neuronales Netzwerk schlecht initialisiert wurde.
Parameterbeschreibungen für die Regel PoorWeightInitialization
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
activation_inputs_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Zulässige Werte: String Standardwert: |
threshold |
Wenn das Verhältnis zwischen minimaler und maximaler Varianz der Gewichtungen pro Ebene die Optional Gültige Werte: Gleitkommazahl. Standardwert: |
distribution_range |
Wenn die Mindestdifferenz zwischen dem 5. und dem 95. Perzentil der Gradientenverteilung kleiner ist als der Optional Gültige Werte: Gleitkommazahl. Standardwert: |
patience |
Die Anzahl der Schritte, über die hinweg gewartet werden soll, bis der Verlust als nicht mehr abnehmend betrachtet wird. Optional Gültige Werte: Ganzzahl Standardwert: |
steps |
Die Anzahl der Schritte, die diese Regel analysiert. In der Regel müssen Sie nur die ersten paar Iterationen überprüfen. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
poor_weight_initialization
(), rule_parameters={ "activation_inputs_regex": ".*relu_input|.*ReLU_input
", "threshold": "10.0
", "distribution_range": "0.001
", "patience": "5
", "steps": "10
" }, collections_to_save=[ CollectionConfig( name="custom_relu_collection
", parameters={ "include_regex
": ".*relu_input|.*ReLU_input
", "save_interval
": "500
" } ) ] ) ]
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Diese Regel ist für den XGBoost Algorithmus nicht verfügbar.
SaturatedActivation
Diese Regel erkennt, ob die Tanh- und Sigmoid-Aktivierungsebenen gesättigt werden. Eine Aktivierungsschicht ist gesättigt, wenn die Eingabe der Schicht nahe dem Maximum oder Minimum der Aktivierungsfunktion liegt. Das Minimum und Maximum der Tanh- und Sigmoid-Aktivierungsfunktionen werden durch ihre jeweiligen – min_threshold
und max_thresholds
-Werte definiert. Wenn die Aktivität eines Knotens unter den threshold_inactivity
-Prozentsatz fällt, gilt er als gesättigt. Wenn mehr als ein threshold_layer
-Prozent der Knoten gesättigt sind, gibt die Regel True
zurück.
Parameterbeschreibungen für die Regel SaturatedActivation
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Zulässige Werte: String Standardwert: |
threshold_tanh_min |
Die minimalen und maximalen Schwellenwerte, die die Extremwerte der Eingabe für eine Tanh-Aktivierungsfunktion definieren, definiert als: Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
threshold_tanh_max |
Die minimalen und maximalen Schwellenwerte, die die Extremwerte der Eingabe für eine Tanh-Aktivierungsfunktion definieren, definiert als: Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
threshold_sigmoid_min |
Die minimalen und maximalen Schwellenwerte, die die Extremwerte der Eingabe für eine Sigmoid-Aktivierungsfunktion definieren, definiert als: Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
threshold_sigmoid_max |
Die minimalen und maximalen Schwellenwerte, die die Extremwerte der Eingabe für eine Sigmoid-Aktivierungsfunktion definieren, definiert als: Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
threshold_inactivity |
Der Prozentsatz der Inaktivität, unterhalb dessen die Aktivierungsebene als gesättigt angesehen wird. Die Aktivierung kann zu Beginn einer Testphase aktiv sein und dann langsam während des Trainings weniger aktiv werden. Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
threshold_layer |
Gibt Gibt Optional Gültige Werte: Gleitkommazahl. Standardwerte: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
saturated_activation
(), rule_parameters={ "tensor_regex": ".*tanh_input|.*sigmoid_input
", "threshold_tanh_min": "-9.4999
", "threshold_tanh_max": "9.4999
", "threshold_sigmoid_min": "-23
", "threshold_sigmoid_max": "16.99999
", "threshold_inactivity": "1.0
", "threshold_layer": "50.0
" }, collections_to_save=[ CollectionConfig( name="custom_activations_collection
", parameters={ "include_regex
": ".*tanh_input|.*sigmoid_input
" "save_interval
": "500
" } ) ] ) ]
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Diese Regel ist für den XGBoost Algorithmus nicht verfügbar.
VanishingGradient
Diese Regel erkennt, ob die Gradients in einer Testversion extrem klein werden oder auf eine Größenordnung von Null abfallen. Wenn der Mittelwert der Absolutwerte der Gradienten unter einen angegebenen threshold
fällt, gibt die Regel True
zurück.
Parameter, Beschreibungen für die Regel VanishingGradient
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Der Wert, ab dem der Gradienten als verschwindend betrachtet wird. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
vanishing_gradient
(), rule_parameters={ "threshold": "0.0000001
" }, collections_to_save=[ CollectionConfig( name="gradients
", parameters={ "save_interval
": "500
" } ) ] ) ]
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Diese Regel ist für den XGBoost Algorithmus nicht verfügbar.
WeightUpdateRatio
Diese Regel verfolgt das Verhältnis von Aktualisierungen zu Gewichten während des Trainings und erkennt, ob dieses Verhältnis zu groß oder zu klein wird. Wenn das Verhältnis von Aktualisierungen zu Gewichten größer ist als der large_threshold value
oder wenn dieses Verhältnis kleiner ist als der small_threshold
, gibt die Regel True
zurück.
Die Bedingungen für das Training sind optimal, wenn die Aktualisierungen den Gradienten entsprechen. Übermäßig große Aktualisierungen können dazu führen, dass weniger Gewichte auf optimale Werte fallen, und sehr kleine Aktualisierungen haben eine stark verlangsamte Konvergenz zur Folge. Für diese Regel ist es erforderlich, dass Gewichte für zwei Trainingsschritte zur Verfügung stehen, und train.save_interval
muss so eingestellt werden, dass es gleich num_steps
ist.
Parameterbeschreibungen für die Regel WeightUpdateRatio
Parametername, | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
num_steps |
Die Anzahl der Schritte, über die hinweg die Regel prüft, ob sich der Tensor geändert hat. Die Anzahl der Schritte, über die Sie die Gewichtsverhältnisse vergleichen möchten. Wenn Sie keinen Wert übergeben, wird die Regel standardmäßig für den aktuellen Schritt und den unmittelbar vorherigen gespeicherten Schritt ausgeführt. Wenn Sie den Standardwert umgehen, indem Sie einen Wert für diesen Parameter übergeben, erfolgt der Vergleich zwischen Gewichten in Schritt Optional Gültige Werte: Ganzzahl Standardwert: |
large_threshold |
Der Maximalwert, den das Verhältnis von Aktualisierungen zu Gewichten erreichen kann, bevor die Regel Optional Gültige Werte: Gleitkommazahl. Standardwert: |
small_threshold |
Der Mindestwert, den das Verhältnis von Aktualisierungen zu Gewichten erreichen kann, unterhalb dessen die Regel Optional Gültige Werte: Gleitkommazahl. Standardwert: |
epsilon |
Eine kleine Konstante, die sicherstellt, dass der Debugger nicht durch Null teilt, wenn die Berechnung des Verhältnisses auf Gewicht aktualisiert wird. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
weight_update_ratio
(), rule_parameters={ "num_steps": "100
", "large_threshold": "10.0
", "small_threshold": "0.00000001
", "epsilon": "0.000000001
" }, collections_to_save=[ CollectionConfig( name="weights
", parameters={ "train.save_interval
": "100
" } ) ] ) ]
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Diese Regel ist für den XGBoost Algorithmus nicht verfügbar.
AllZero
Diese Regel erkennt, ob alle oder ein bestimmter Prozentsatz der Tensorwerte Null sind.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden. Sie müssen entweder den Parameter collection_names
oder tensor_regex
angeben. Wenn beide Parameter angegeben sind, prüft die Regel die Vereinigung von Tensoren aus beiden Sätzen.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameter, Beschreibungen für die AllZero Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: |
threshold |
Gibt den Prozentsatz der Werte im Tensor an, der Null sein muss, damit diese Regel aufgerufen wird. Optional Gültige Werte: Gleitkommazahl. Standardwert: 100 (in Prozent) |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
all_zero
(), rule_parameters={ "tensor_regex": ".*
", "threshold": "100
" }, collections_to_save=[ CollectionConfig( name="all
", parameters={ "save_interval
": "500
" } ) ] ) ]
ClassImbalance
Diese Regel misst Stichprobenungleichgewichte zwischen Klassen und löst Fehler aus, wenn das Ungleichgewicht einen Schwellenwert überschreitet oder wenn aufgrund des Ungleichgewichts zu viele Fehlprognosen für unterrepräsentierte Klassen auftreten.
Klassifizierungsmodelle erfordern ausgewogene Klassen im Trainingsdatensatz oder eine korrekte Gewichtung bzw. Stichprobenahme von Klassen während des Trainings. Die Regel nimmt die folgenden Prüfungen vor:
-
Sie zählt die Vorkommen pro Klasse. Wenn das Verhältnis der Anzahl der Stichproben zwischen kleinster und größter Klasse größer ist als die
threshold_imbalance
, wird ein Fehler ausgelöst. -
Sie überprüft die Vorhersagegenauigkeit pro Klasse. Wenn Resampling (Stichprobenwiederholung) oder Gewichtung nicht korrekt angewendet wurde, kann das Modell mit vielen Trainingsstichproben eine hohe Genauigkeit für die Klasse erreichen, aber geringe Genauigkeit für die Klassen mit wenigen Trainingsstichproben. Wenn ein Anteil von Fehlvorhersagen für eine bestimmte Klasse
threshold_misprediction
übersteigt, wird ein Fehler ausgelöst.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die ClassImbalance Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold_imbalance |
Das akzeptable Ungleichgewicht zwischen der Anzahl der Stichproben in der kleinsten Klasse und in der größten Klasse. Wenn Sie diesen Schwellenwert überschreiten, wird ein Fehler ausgegeben. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
threshold_misprediction |
Eine Begrenzung für den Anteil an Fehlvorhersagen, der für jede Klasse zulässig ist. Wenn Sie diesen Schwellenwert überschreiten, wird ein Fehler ausgegeben. Die unterrepräsentierten Klassen sind am meisten gefährdet, diese Schwelle zu überschreiten. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
samples |
Die Anzahl von Labels, die verarbeitet werden müssen, bevor ein Ungleichgewicht ausgewertet wird. Die Regel wird möglicherweise erst ausgelöst, wenn über mehrere Schritte hinweg ausreichende Stichproben angezeigt wurden. Je mehr Klassen Ihr Datensatz enthält, desto größer sollte diese Optional Gültige Werte: Ganzzahl Standardwert: |
argmax |
Wenn Bedingt Zulässige Werte: Boolesch Standardwert: |
labels_regex |
Der Name des Tensors, der die Labels enthält. Optional Zulässige Werte: String Standardwert: |
predictions_regex |
Der Name des Tensors, der die Vorhersagen enthält. Optional Zulässige Werte: String Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
class_imbalance
(), rule_parameters={ "threshold_imbalance": "10
", "threshold_misprediction": "0.7
", "samples": "500
", "argmax": "False
", "labels_regex": ".*labels
", "predictions_regex": ".*predictions
" }, collections_to_save=[ CollectionConfig( name="custom_output_collection
", parameters={ "include_regex": ".*labels|.*predictions
", "save_interval": "500
" } ) ] ) ]
LossNotDecreasing
Diese Regel erkennt, wenn der Verlust nicht mit einer angemessenen Rate an Wert abnimmt. Diese Verluste müssen Skalare sein.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden. Sie müssen entweder den Parameter collection_names
oder tensor_regex
angeben. Wenn beide Parameter angegeben sind, prüft die Regel die Vereinigung von Tensoren aus beiden Sätzen.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die LossNotDecreasing Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: |
use_losses_collection |
Wenn diese Option auf Optional Zulässige Werte: Boolesch Standardwert: |
num_steps |
Die Mindestanzahl von Schritten, nach denen die Regel prüft, ob der Verlust zurückgegangen ist. Regelauswertung findet alle Optional Gültige Werte: Ganzzahl Standardwert: |
diff_percent |
Die minimale prozentuale Differenz, um die sich der Verlust zwischen Optional Gültige Werte: Standardwert: |
increase_threshold_percent |
Der maximale prozentuale Schwellenwert, um den sich der Verlust erhöhen darf, falls der Verlust gestiegen ist Optional Gültige Werte: Standardwert: |
mode |
Der Name des Debugger-Modus für die Abfrage von Tensorwerten zur Prüfung der Regel. Wenn er nicht übergeben wird, prüft die Regel standardmäßig nacheinander auf Optional Gültige Werte: Zeichenfolge ( Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
loss_not_decreasing
(), rule_parameters={ "tensor_regex": ".*
", "use_losses_collection": "True
", "num_steps": "10
", "diff_percent": "0.1
", "increase_threshold_percent": "5
", "mode": "GLOBAL
" }, collections_to_save=[ CollectionConfig( name="losses
", parameters={ "save_interval
": "500
" } ) ] ) ]
Overfit
Diese Regel erkennt, ob Ihr Modell übermäßig an die Trainingsdaten angepasst ist, indem die Validierungs- und Trainingsverluste miteinander verglichen werden.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Eine Standardmethode, eine Überanpassung zu verhindern, besteht darin, Ihr Modell zu regulieren.
Parameterbeschreibungen für die Overfit-Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
start_step |
Der Schritt, ab dem Validierung und Trainingsverlust miteinander verglichen werden sollen. Optional Gültige Werte: Ganzzahl Standardwert: |
patience |
Die Anzahl der Schritte, für die der Optional Gültige Werte: Ganzzahl Standardwert: |
ratio_threshold |
Das maximale Verhältnis der Differenz zwischen dem mittleren Validierungsverlust und dem mittleren Trainingsverlust. Wenn dieser Schwellenwert für eine Optional Gültige Werte: Gleitkommazahl. Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
overfit
(), rule_parameters={ "tensor_regex": ".*
", "start_step": "0
", "patience": "1
", "ratio_threshold": "0.1
" }, collections_to_save=[ CollectionConfig( name="losses
", parameters={ "train.save_interval": "100
", "eval.save_interval": "10
" } ) ] ) ]
Overtraining
Diese Regel erkennt, wenn ein Modell übertrainiert wird. Nach einer Reihe von Trainingsdurchgängen mit einem gut funktionierenden Modell (sowohl der Trainings- als auch der Validierungsverlust nehmen ab) nähert sich das Modell einem Minimum der Verlustfunktion und verbessert sich nicht mehr. Wenn das Modell weiter trainiert wird, kann es vorkommen, dass der Validierungsverlust zunimmt, weil das Modell anfängt, zu starke Anpassungen vorzunehmen. Diese Regel legt Schwellenwerte und Bedingungen fest, um festzustellen, ob sich das Modell nicht mehr verbessert, und verhindert Probleme durch zu starke Anpassungen aufgrund von Übertraining.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Anmerkung
Overtraining kann durch frühzeitiges Stoppen vermieden werden. Hinweise zum vorzeitigen Beenden finden Sie unter Vorzeitiges Beenden von Trainingsaufträgen. Ein Beispiel, das zeigt, wie Sie Spot-Training mit Debugger verwenden, finden Sie unter Spot-Training mit Amazon SageMaker Debugger aktivieren
Parameterbeschreibungen für die Overtraining-Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
patience_train |
Die Anzahl der Schritte, die vor dem Trainingsverlust zu warten sind, soll nicht mehr verbessert werden. Optional Gültige Werte: Ganzzahl Standardwert: |
patience_validation |
Die Anzahl von Schritte, die gewartet werden soll, bis dem Validierungsverlust als sich nicht mehr verbessernd angesehen wird. Optional Gültige Werte: Ganzzahl Standardwert: |
delta |
Die Mindestschwelle, um die sich der Fehler verbessern sollte, bevor er als neues Optimum angesehen wird. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
overtraining
(), rule_parameters={ "patience_train": "5
", "patience_validation": "10
", "delta": "0.01
" }, collections_to_save=[ CollectionConfig( name="losses
", parameters={ "save_interval
": "500
" } ) ] ) ]
SimilarAcrossRuns
Diese Regel vergleicht Tensoren, die aus einer Basisversion gesammelt wurden, mit Tensoren aus einer anderen Testversion.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die SimilarAcrossRuns Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
other_trials |
Der Name eines abgeschlossenen Training-Jobs, dessen Tensoren Sie mit denjenigen Tensoren vergleichen möchten, die aus dem aktuellen Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
similar_across_runs
(), rule_parameters={ "other_trials": "<specify-another-job-name>
", "collection_names": "losses
", "tensor_regex": ".*
" }, collections_to_save=[ CollectionConfig( name="losses
", parameters={ "save_interval
": "500
" } ) ] ) ]
StalledTrainingRule
StalledTrainingRule erkennt, ob beim Trainingsjob kein Fortschritt erzielt wurde, und stoppt den Trainingsjob, wenn die Regel ausgelöst wird. Für diese Regel ist es erforderlich, dass Tensoren regelmäßig in einem Zeitintervall gespeichert werden, das durch ihren Parameter threshold
festgelegt wird. Diese Regel hält ständig nach neuen Tensoren Ausschau, und wenn kein neuer Tensor für den Schwellenwert ausgegeben wurde, wird die Intervallregel ausgelöst.
Parameterbeschreibungen für die StalledTrainingRule Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Ein Schwellenwert, der festlegt, wie viel Zeit in Sekunden die Regel auf eine Tensorausgabe wartet, bis ein Problem wegen eines stehengebliebenen Trainings ausgelöst wird. Der Standardwert beträgt 1800 Sekunden. Optional Gültige Werte: Ganzzahl Standardwert: |
stop_training_on_fire |
Falls dieser auf Optional Zulässige Werte: Boolesch Standardwert: |
training_job_name_prefix |
Das Präfix des Namens eines Basis-Training-Jobs. Wenn der Wert wahr Optional Zulässige Werte: String |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
stalled_training_rule
(), rule_parameters={ "threshold": "1800
", "stop_training_on_fire": "True
", "training_job_name_prefix": "<specify-training-base-job-name>
" }, collections_to_save=[ CollectionConfig( name="losses
", parameters={ "save_interval
": "500
" } ) ] ) ]
TensorVariance
Diese Regel erkennt, ob Sie Tensoren mit sehr hohen oder niedrigen Varianzen haben. Sehr hohe oder niedrige Abweichungen in einem Tensor könnten zu einer Neuronensättigung führen, wodurch die Lernfähigkeit des neuronalen Netzwerks verringert wird. Eine sehr hohe Varianz in Tensoren kann letztendlich auch zu explodierenden Tensoren führen. Verwenden Sie diese Regel, um solche Probleme frühzeitig zu erkennen.
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden. Sie müssen entweder den Parameter collection_names
oder tensor_regex
angeben. Wenn beide Parameter angegeben sind, prüft die Regel die Vereinigung von Tensoren aus beiden Sätzen.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die TensorVariance Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
max_threshold |
Der Schwellenwert für die Obergrenze der Tensorvarianz. Optional Gültige Werte: Gleitkommazahl. Standardwert: Keiner |
min_threshold |
Der Schwellenwert für die Untergrenze der Tensorvarianz. Optional Gültige Werte: Gleitkommazahl. Standardwert: Keine |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
tensor_variance
(), rule_parameters={ "collection_names": "weights
", "max_threshold": "10
", "min_threshold": "0.00001
", }, collections_to_save=[ CollectionConfig( name="weights
", parameters={ "save_interval
": "500
" } ) ] ) ]
UnchangedTensor
Diese Regel erkennt, ob sich ein Tensor über Schritte hinweg nicht mehr ändert.
Diese Regel führt die Methode numpy.allclose
Diese Regel kann entweder auf eines der unterstützten Deep-Learning-Frameworks (TensorFlowMXNet, und PyTorch) oder auf den XGBoost Algorithmus angewendet werden. Sie müssen entweder den Parameter collection_names
oder tensor_regex
angeben. Wenn beide Parameter angegeben sind, prüft die Regel die Vereinigung von Tensoren aus beiden Sätzen.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die UnchangedTensor Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
collection_names |
Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: Keiner |
num_steps |
Die Anzahl der Schritte, über die hinweg die Regel prüft, ob sich der Tensor geändert hat. Hiermit werden die letzten verfügbaren Optional Gültige Werte: Ganzzahl Standardwert: |
rtol |
Der relative Toleranzparameter, der an die Methode Optional Gültige Werte: Gleitkommazahl. Standardwert: |
atol |
Der absolute Toleranzparameter, der an die Methode Optional Gültige Werte: Gleitkommazahl. Standardwert: |
equal_nan |
Gibt an, ob der Vergleich NaNs als gleichwertig erfolgen soll. Wenn Optional Zulässige Werte: Boolesch Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
unchanged_tensor
(), rule_parameters={ "collection_names": "losses
", "tensor_regex": "", "num_steps": "3
", "rtol": "1e-05
", "atol": "1e-08
", "equal_nan": "False
" }, collections_to_save=[ CollectionConfig( name="losses
", parameters={ "save_interval
": "500
" } ) ] ) ]
CheckInputImages
Diese Regel prüft, ob Eingabebilder korrekt normalisiert wurden. Insbesondere wird festgestellt, ob der Mittelwert der Stichprobendaten um mehr als einen Schwellenwert von Null abweicht. Viele Modelle des maschinellen Sehens erfordern Eingabedaten mit einem Mittelwert und einer Einheitenvarianz von Null.
Diese Regel gilt für Deep-Learning-Anwendungen.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die Regel CheckInputImages
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold_mean |
Ein Schwellenwert, der definiert, um wie viel der Mittelwert der Eingabedaten von 0 abweichen kann. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
threshold_samples |
Die Anzahl der Bilder, von denen Stichproben genommen werden müssen, bevor ein Fehler ausgelöst werden kann. Wenn der Wert zu niedrig ist, ist die Schätzung des Mittelwerts des Datensatzes ungenau. Optional Gültige Werte: Ganzzahl Standardwert: |
regex |
Der Name des Eingabedatentensors. Optional Zulässige Werte: String Standardwert: |
channel |
Die Position des Farbkanals im Formarray des Eingabetensors. Optional Gültige Werte: Ganzzahl Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
check_input_images
(), rule_parameters={ "threshold_mean
": "0.2
", "threshold_samples
": "500
", "regex
": ".*hybridsequential0_input_0
", "channel
": "1
" }, collections_to_save=[ CollectionConfig( name="custom_inputs_collection
", parameters={ "include_regex
": ".*hybridsequential0_input_0
", "save_interval
": "500
" } ) ] ) ]
NLPSequenceRatio
Diese Regel berechnet das Verhältnis bestimmter Token, wenn der Rest der Eingabesequenz angegeben wird, die für die Optimierung der Leistung nützlich ist. Sie können beispielsweise den Prozentsatz der Padding end-of-sentence (EOS) -Token in Ihrer Eingabesequenz berechnen. Wenn die Anzahl der EOS Token zu hoch ist, sollte eine alternative Bucketing-Strategie angewendet werden. Sie können auch den Prozentsatz unbekannter Token in Ihrer Eingabesequenz berechnen. Wenn die Anzahl unbekannter Wörter zu hoch ist, kann ein alternatives Vokabular verwendet werden.
Diese Regel gilt für Deep-Learning-Anwendungen.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die Regel NLPSequenceRatio
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
tensor_regex |
Eine Liste von Regex-Mustern, die verwendet wird, um diesen Vergleich auf bestimmte skalarwertige Tensoren zu beschränken. Die Regel prüft nur die Tensoren, die mit den in der Liste angegebenen Regex-Mustern übereinstimmen. Wenn keine Muster übergeben werden, vergleicht die Regel standardmäßig alle Tensoren, die in den Testversionen gesammelt wurden. Nur skalarwertige Tensoren können zugeordnet werden. Optional Gültige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge Standardwert: |
token_values |
Eine Zeichenfolge einer Liste der numerischen Werte der Token. Beispiel: „3, 0“. Optional Gültige Werte: Kommagetrennte Zeichenfolge von numerischen Werten Standardwert: |
token_thresholds_percent |
Eine Zeichenfolge einer Liste von Schwellenwerten (in Prozentsätzen), die jedem der Optional Gültige Werte: durch Komma getrennte Gleitkommazahlen Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
nlp_sequence_ratio
(), rule_parameters={ "tensor_regex": ".*embedding0_input_0
", "token_values": "0
", "token_thresholds_percent": "50
" }, collections_to_save=[ CollectionConfig( name="custom_inputs_collection
", parameters={ "include_regex
": "" } ) ] ) ]
.*embedding0_input_0
Confusion
Diese Regel wertet die Güte einer Konfusionmatrix für ein Klassifizierungsproblem aus.
Es erstellt eine Matrix der Größe category_no*category_no
und füllt sie mit Daten aus (labels
, predictions
)-Paaren. Für jedes (labels
, predictions
)-Paar wird die Anzahl in confusion[labels][predictions]
um 1 erhöht. Wenn die Matrix vollständig gefüllt ist, wird das Verhältnis zwischen auf Diagonalen liegenden Daten und nicht auf Diagonalen liegenden Werten folgt ausgewertet:
-
Für Elemente auf der Diagonalen:
confusion[i][i]/sum_j(confusion[j][j])>=min_diag
-
Für Elemente außerhalb der Diagonalen:
confusion[j][i])/sum_j(confusion[j][i])<=max_off_diag
Diese Regel kann auf den XGBoost Algorithmus angewendet werden.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die Confusion-Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
category_no |
Die Anzahl der Kategorien. Optional Gültige Werte: ganzzahlig ≥2 Standardwert: |
labels |
Die Optional Zulässige Werte: String Standardwert: |
predictions |
Die Optional Zulässige Werte: String Standardwert: |
labels_collection |
Die Regel prüft die Tensoren in dieser Sammlung auf Optional Zulässige Werte: String Standardwert: |
predictions_collection |
Die Regel prüft die Tensoren in dieser Sammlung auf Optional Zulässige Werte: String Standardwert: |
min_diag |
Der untere Schwellenwert für das Verhältnis der Daten auf der Diagonale. Optional Gültige Werte: Standardwert: |
max_off_diag |
Der obere Schwellenwert für das Verhältnis der Daten abseits der Diagonale. Optional Gültige Werte: Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
confusion
(), rule_parameters={ "category_no": "10
", "labels": "labels
", "predictions": "predictions
", "labels_collection": "labels
", "predictions_collection": "predictions
", "min_diag": "0.9
", "max_off_diag": "0.1
" }, collections_to_save=[ CollectionConfig( name="labels
", parameters={ "save_interval": "500
" } ), CollectionConfig( name="predictions
", parameters={ "include_regex": "500
" } ) ] ) ]
Anmerkung
Diese Regel leitet Standardwerte für die optionalen Parameter ab, wenn ihre Werte nicht angegeben sind.
FeatureImportanceOverweight
Diese Regel akkumuliert die Gewichtungen der n größten Feature-Wichtigkeitswerte pro Schritt und stellt sicher, dass diese den Schwellenwert nicht überschreiten. Sie können z. B. festlegen, dass der Schwellenwert für die drei wichtigsten Features nicht mehr als 80 Prozent der Gesamtgewichtungen des Modells ausmacht.
Diese Regel ist nur für den XGBoost Algorithmus gültig.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die FeatureImportanceOverweight Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Legt den Schwellenwert für den Anteil der Optional Gültige Werte: Gleitkommazahl. Standardwert: |
nfeatures |
Die Anzahl der größten Features. Optional Gültige Werte: Ganzzahl Standardwert: |
tensor_regex |
Der reguläre Ausdruck (regex) des Tensors benennt die zu analysierende Regel. Optional Zulässige Werte: String Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
feature_importance_overweight
(), rule_parameters={ "threshold": "0.8
", "nfeatures": "3
", "tensor_regex": ".*feature_importance/weight
" }, collections_to_save=[ CollectionConfig( name="feature_importance
", parameters={ "save_interval
": "500
" } ) ] ) ]
TreeDepth
Diese Regel misst die Tiefe von Bäumen in einem XGBoost Modell. XGBoostlehnt Splits ab, wenn sie den Verlust nicht verbessern. Dadurch wird das Training geregelt. Infolgedessen wächst der Baum möglicherweise nicht so tief wie durch den Parameter depth
definiert.
Diese Regel gilt nur für den XGBoost Algorithmus.
Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter So konfigurieren Sie die integrierten Debuger-Regeln.
Parameterbeschreibungen für die TreeDepth Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
depth |
Die Tiefe des Baums. Die Tiefe des Baumes wird durch Berechnung des Basis-2-Logarithmus der größten Knoten-ID bestimmt. Optional Gültige Werte: Gleitkommazahl. Standardwert: |
built_in_rules = [ Rule.sagemaker( base_config=rule_configs.
tree_depth
(), rule_parameters={ "depth
": "4
" }, collections_to_save=[ CollectionConfig( name="tree
", parameters={ "save_interval
": "500
" } ) ] ) ]