Liste der integrierten Debugger-Regeln - Amazon SageMaker

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 Debugger-Regeln

Verwenden Sie die integrierten Debugger-Regeln, die von Amazon SageMaker Debugger bereitgestellt werden, und analysieren Sie Tensoren, die während des Trainings Ihrer Modelle ausgegeben werden. Die integrierten Debugger-Regeln überwachen verschiedene allgemeine Bedingungen, die für den Erfolg eines Trainingsauftrags entscheidend sind. Sie können die integrierten Regeln mitAmazon SageMaker Python SDKoder die SageMaker-API-Operationen auf niedriger Ebene. Abhängig von Deep-Learning-Frameworks Ihrer Wahl gibt es vier Gültigkeitsbereiche für die integrierten Regeln, wie in der folgenden Tabelle dargestellt.

Anmerkung

Die maximale Anzahl an integrierten Regeln für einen Ausbildungsjob beträgt 20 fürProfilerRuleund 20 fürRuleaus. SageMaker Debugger verwaltet die integrierten Regeln vollständig und analysiert Ihren Trainingsjob parallel. Weitere Informationen zur Fakturierung finden Sie unterAmazon SageMaker Studio ist ohne Aufpreis erhältlich-Abschnitt imAmazon SageMaker Preisgestaltungangezeigten.

Wichtig

Um die neuen Debugger-Funktionen nutzen zu können, müssen Sie das SageMaker Python SDK und die SmDeBug-Clientbibliothek aktualisieren. Führen Sie in Ihrem iPython-Kernel, dem Jupyter-Notebook oder der 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-ProfilerRule

Die folgenden Regeln sind die integrierten Debugger-Regeln, die mit demProfilerRule.sagemakerklassenmethode.

Debugger-Regeln für die Erstellung von Profilerstellungsberichten
Gültigkeitsbereich Integrierte Regeln
Bericht zur Profilerstellung für jeden SageMaker-Schulungsjob
Integrierte Debugger-Regeln zur Überwachung der Ressourcenauslastung des Hardwaresystems (Systemmetriken)
Gültigkeitsbereich Integrierte Regeln
Generische Regeln zur Systemüberwachung für jeden SageMaker-Schulungsjob
Debugger-Regeln für die Profilerstellung von Framework-Metriken
Gültigkeitsbereich Integrierte Regeln
Deep Learning-Frameworks (TensorFlow und PyTorch)

Debugger-Regel

Die folgenden Regeln sind die integrierten Debugger-Regeln, die mit demRule.sagemakerklassenmethode.

Debugger-Regeln für die Erstellung von Schulungsberichten
Gültigkeitsbereich Integrierte Regeln
Schulungsbericht für SageMaker XgBoost Trainingsjob
Integrierte Debugger-Regeln zum Debuggen von Modelltrainingsdaten (Output-Tensoren)
Gültigkeitsbereich Integrierte Regeln
Deep Learning-Frameworks (TensorFlow, MXNet und PyTorch)
Deep Learning-Frameworks (TensorFlow, MXNet und PyTorch) und der XGBoost-Algorithmus
Deep Learning-Anwendungen
XGBoost-Algorithmus

So verwenden Sie die integrierten Regeln mit Standardparameterwerten— Verwenden Sie das folgende Konfigurationsformat:

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_1()), ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_2()), ... ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_n()), 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()) ]

So verwenden Sie die integrierten Regeln beim Anpassen der Parameterwerte— Verwenden Sie das folgende Konfigurationsformat:

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker( base_config=rule_configs.BuiltInRuleName(), rule_parameters={ "key": "value" } ) 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" } ) ] ) ]

So finden Sie verfügbare Schlüssel für dierule_parametersParameterbeschreibungen finden Sie unter Parameterbeschreibungen

Für jede integrierte Regel unterhalb der Parameterbeschreibungstabellen werden Beispielkonfigurationscodes bereitgestellt.

ProfilerReport

Die ProfilerRead-Regel ruft alle integrierten Regeln für die Überwachung und Profilerstellung auf. Es erstellt einen Profilerstellungsbericht und wird aktualisiert, wenn die einzelnen Regeln ausgelöst werden. Sie können einen umfassenden Bericht zur Profilerstellung herunterladen, während ein Schulungsjob ausgeführt wird oder nachdem der Schulungsauftrag abgeschlossen ist. Sie können die Regelparameterwerte anpassen, um die Empfindlichkeit der integrierten Überwachungs- und Profilerstellungsregeln anzupassen. Der folgende Beispielcode zeigt das Basisformat zum Anpassen der integrierten Regelparameter über die ProfilerReport Regel.

rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport( <BuiltInRuleName>_<parameter_name> = value ) ) ]

Wenn Sie diese ProfilerReport Regel ohne benutzerdefinierten Parameter auslösen, wie im folgenden Beispielcode gezeigt, löst die ProfilerReport Regel alle integrierten Regeln für die Überwachung und Profilerstellung mit ihren Standardparameterwerten aus.

rules=[ProfilerRule.sagemaker(rule_configs.ProfilerReport())]

Der folgende Beispielcode zeigt, wie Sie die CpuBottlenecck-Regel angeben und anpassen.cpu_thresholdParameter und die ioBottleNeck-Regelthreshold-Parameter.

rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport( CPUBottleneck_cpu_threshold = 90, IOBottleneck_threshold = 90 ) ) ]

Parameterbeschreibungen für die OverallSystemUsage Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

<BuiltInRuleName>_<parameter_name>

Anpassbarer Parameter zum Anpassen der Schwellenwerte anderer integrierter Überwachungs- und Profilerstellungsregeln.

Optional

Standardwer: None

BatchSize

Die BatchSize-Regel hilft zu erkennen, ob die GPU aufgrund einer geringen Chargengröße nicht ausgelastet ist. Um dieses Problem zu erkennen, überwacht diese Regel die durchschnittliche CPU-Auslastung, die GPU-Auslastung und die GPU-Speicherauslastung. Wenn die Auslastung von CPU-, GPU- und GPU-Speicher im Durchschnitt gering ist, kann dies darauf hindeuten, dass der Trainingsauftrag entweder auf einem kleineren Instance-Typ ausgeführt werden kann oder mit einer größeren Stapelgröße ausgeführt werden kann. Diese Analyse funktioniert nicht für Frameworks, die Speicher stark überweisen. Eine Erhöhung der Chargengröße kann jedoch zu Engpässen bei der Verarbeitung oder Datenladung führen, da in jeder Iteration mehr Datenvorverarbeitungszeit erforderlich ist.

Parameterbeschreibungen für die BatchSize-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

cpu_threshold_p95

Definiert den Schwellenwert für das 95. Quantil der CPU-Auslastung in Prozent.

Optional

Zulässige Werte: Ganzzahl

Standardwert:70(in Prozent)

gpu_threshold_p95

Definiert den Schwellenwert für das 95. Quantil der GPU-Auslastung in Prozent.

Optional

Zulässige Werte: Ganzzahl

Standardwert:70(in Prozent)

gpu_memory_threshold_p95

Definiert den Schwellenwert für das 95. Quantil der GPU-Speicherauslastung in Prozent.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:70(in Prozent)

patience

Definiert die Anzahl der Datenpunkte, die übersprungen werden, bis die Regel mit der Auswertung beginnt. Die ersten Schritte von Trainingsjobs zeigen in der Regel ein hohes Volumen an Datenprozessen. Halten Sie also den Regelpatienten bei und verhindern Sie, dass er mit einer bestimmten Anzahl von Profiling-Daten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 100

window

Fenstergröße für das Berechnen von Quantilen.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 500

scan_interval_us

Zeitintervall, in dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

CpuBottleNeck

Die CpuBottleneck-Regel hilft zu erkennen, ob die GPU aufgrund von CPU-Engpässen nicht ausgelastet ist. Die Regel gibt True zurück, wenn die Anzahl der CPU-Engpässe einen vordefinierten Schwellenwert überschreitet.

Parameterbeschreibungen für die CpuBottleLeck-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold

Definiert den Schwellenwert für den Anteil der Engpässe zur gesamten Trainingszeit. Wenn der Anteil den für den Schwellenwertparameter angegebenen Prozentsatz überschreitet, wechselt die Regel den Regelstatus auf True.

Optional

Zulässige Werte: Ganzzahl

Standardwert:50(in Prozent)

gpu_threshold

Ein Schwellenwert, der eine geringe GPU-Auslastung definiert.

Optional

Zulässige Werte: Ganzzahl

Standardwert:10(in Prozent)

cpu_threshold

Ein Schwellenwert, der eine hohe CPU-Auslastung definiert.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:90(in Prozent)

patience

Definiert die Anzahl der Datenpunkte, die übersprungen werden, bis die Regel mit der Auswertung beginnt. Die ersten Schritte von Trainingsjobs zeigen in der Regel ein hohes Volumen an Datenprozessen. Halten Sie also den Regelpatienten bei und verhindern Sie, dass er mit einer bestimmten Anzahl von Profiling-Daten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 100

scan_interval_us

Zeitintervall, mit dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

gpumemoryErhöhen

Die gpumemoryErhöre-Regel hilft, einen starken Anstieg der Speicherauslastung auf GPUs zu erkennen.

Parameterbeschreibungen für die GPumemoryErhebungs-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

increase

Definiert den Schwellenwert für die absolute Speichererhöhung.

Optional

Zulässige Werte: Ganzzahl

Standardwert:10(in Prozent)

patience

Definiert die Anzahl der Datenpunkte, die übersprungen werden, bis die Regel mit der Auswertung beginnt. Die ersten Schritte von Trainingsjobs zeigen in der Regel ein hohes Volumen an Datenprozessen. Halten Sie also den Regelpatienten bei und verhindern Sie, dass er mit einer bestimmten Anzahl von Profiling-Daten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 100

window

Fenstergröße für das Berechnen von Quantilen.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 500

scan_interval_us

Zeitintervall, in dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

ioBottleNeck

Diese Regel hilft festzustellen, ob die GPU aufgrund von Daten-IO-Engpässen nicht ausgelastet ist. Die Regel gibt True zurück, wenn die Anzahl der IO-Engpässe einen vordefinierten Schwellenwert überschreitet.

Parameterbeschreibungen für die IoBottleLeck-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold Definiert den Schwellenwert, wenn Regel True zurückgeben soll.

Optional

Zulässige Werte: Ganzzahl

Standardwert:50(in Prozent)

gpu_threshold

Ein Schwellenwert, der definiert, wann GPU als nicht ausgelastet angesehen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwert:70(in Prozent)

io_threshold Ein Schwellenwert, der eine Wartezeit mit hoher I/A definiert.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:50(in Prozent)

patience Definiert die Anzahl der Datenpunkte, die übersprungen werden, bis die Regel mit der Auswertung beginnt. Die ersten Schritte von Trainingsjobs zeigen in der Regel ein hohes Volumen an Datenprozessen. Halten Sie also den Regelpatienten bei und verhindern Sie, dass er mit einer bestimmten Anzahl von Profiling-Daten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 1000

scan_interval_us

Zeitintervall, in dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

LoadBalancing

Die LoadBalancing-Regel hilft bei der Erkennung von Problemen beim Workload-Balancing zwischen mehreren GPUs.

Parameterbeschreibungen für die LoadBalancing-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold

Definiert den Prozentsatz der Arbeitslast.

Optional

Zulässige Werte: Ganzzahl

Standardwert:0.5(unitless Verhältnis)

patience

Definiert die Anzahl der Datenpunkte, die übersprungen werden, bis die Regel mit der Auswertung beginnt. Die ersten Schritte von Trainingsjobs zeigen in der Regel ein hohes Volumen an Datenprozessen. Halten Sie also den Regelpatienten bei und verhindern Sie, dass er mit einer bestimmten Anzahl von Profiling-Daten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 10

scan_interval_us

Zeitintervall, in dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

LowgPuUUtilization

Die LowgPuUUUlastation-Regel hilft zu erkennen, ob die GPU-Auslastung gering ist oder an Schwankungen leidet. Dies wird für jede GPU für jeden Arbeiter überprüft. Die Regel gibt True zurück, wenn das 95. Quantil unter threshold_p95 liegt, was auf eine Unterauslastung hinweist. Die Regel gibt true zurück, wenn das 95. Quantil über threshold_p95 liegt und das 5. Quantil unter Schwellenwert_p5 liegt, was auf Schwankungen hinweist.

Parameterbeschreibungen für die LowGPuUlastation-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold_p95

Ein Schwellenwert für das 95. Quantil, unter dem GPU als nicht ausgelastet angesehen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwert:70(in Prozent)

threshold_p5 Ein Schwellenwert für das 5. Quantil. Der Standardwert ist 10 Prozent.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:10(in Prozent)

patience

Definiert die Anzahl der Datenpunkte, die übersprungen werden, bis die Regel mit der Auswertung beginnt. Die ersten Schritte von Trainingsjobs zeigen in der Regel ein hohes Volumen an Datenprozessen. Halten Sie also den Regelpatienten bei und verhindern Sie, dass er mit einer bestimmten Anzahl von Profiling-Daten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 1000

window

Fenstergröße für das Berechnen von Quantilen.

Optional

Zulässige Werte: Ganzzahl

Standardwerte: 500

scan_interval_us

Zeitintervall, in dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

OverallSystemUsage

Die OverallSystemUsage-Regel misst die allgemeine Systemauslastung pro Worker-Knoten. Die Regel aggregiert derzeit nur Werte pro Knoten und berechnet ihre Perzentile.

Parameterbeschreibungen für die OverallSystemUsage Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

scan_interval_us

Zeitintervall zum Scannen von Timeline-Dateien.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

MaxInitializationTime

Die MaxInitializationTime-Regel hilft zu erkennen, ob die Initialisierung des Trainings zu viel Zeit in Anspruch nimmt. Die Regel wartet, bis der erste Schritt verfügbar ist.

Parameterbeschreibungen für die MaxInitializationTime-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold

Definiert den Schwellenwert in Minuten, um zu warten, bis der erste Schritt verfügbar wird.

Optional

Zulässige Werte: Ganzzahl

Standardwert:20(in Minuten)

scan_interval_us

Zeitintervall, mit dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

OverallFrameworkMetrics

Die OverallFrameworkMetrics-Regel fasst die Zeit zusammen, die für Framework-Metriken wie Vorwärts- und Rückwärtspass sowie das Laden von Daten aufgewendet wird.

Parameterbeschreibungen für die OverallFrameworkMetrics-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

scan_interval_us

Zeitintervall zum Scannen von Timeline-Dateien.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

StepOutlier

Die StepOutlier-Regel hilft, Ausreißer in Schrittzeiten zu erkennen. Diese Regel kehrt zurückTruewenn es Ausreißer mit Schrittzeiten gibt, die größer sind alsstddevSigmas der gesamten Schrittzeiten in einem Zeitbereich.

Parameterbeschreibungen für die StepOutlier-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

stddev

Definiert einen Faktor, mit dem die Standardabweichung multipliziert werden soll. Beispielsweise wird die Regel standardmäßig aufgerufen, wenn eine Schrittdauer größer oder kleiner als das Fünffache der Standardabweichung ist.

Optional

Zulässige Werte: Ganzzahl

Standardwert:5(in Minuten)

mode Modus, in dem Schritte gespeichert wurden und auf welcher Regel ausgeführt werden soll. Standardmäßig wird die Regel für Schritte aus der EVAL- und TRAIN-Phase ausgeführt

Optional

Zulässige Werte: Ganzzahl

Standardwert:5(in Minuten)

n_outliers Wie viele Ausreißer müssen ignoriert werden, bevor die Regel True zurückgibt

Optional

Zulässige Werte: Ganzzahl

Standardwer: 10

scan_interval_us

Zeitintervall, mit dem Zeitleistendateien gescannt werden.

Optional

Zulässige Werte: Ganzzahl

Standardwerte:60000000(in Mikrosekunden)

CreateXGboosReport

Die CreateXgBoostReport Regel sammelt Output-Tensoren aus einem XGBoost-Trainingsjob und generiert automatisch einen umfassenden Schulungsbericht. Sie können einen umfassenden Profilerstellungsbericht herunterladen, während ein Schulungsjob ausgeführt wird oder nachdem der Schulungsauftrag abgeschlossen ist, und den Fortbildungsfortschritt oder das Endergebnis des Ausbildungsauftrags überprüfen. Die CreateXgBoosReport Regel sammelt standardmäßig die folgenden Ausgabe-Tensoren:

  • hyperparameters— Speichert im ersten Schritt

  • metrics- Spart 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 CreateXGboostreport-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

rules=[ Rule.sagemaker( rule_configs.create_xgboost_report() ) ]

DeadRelu

Diese Regel erkennt, wenn der Prozentsatz der ReLU-Aktivierungsfunktionen (rektifizierte Lineareinheit) in einer Testversion als tot angesehen wird, da ihre Aktivierungsaktivität unter einen Schwellenwert gesunken ist. Wenn der Prozentsatz der inaktiven ReLUs in einer Ebene größer ist als der threshold_layer-Wert inaktiver ReLUs, gibt die Regel True zurück.

Parameterbeschreibungen für die DeadRelu-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwer: ".*relu_output"

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 threshold_inactivity, gilt es als tot.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte:1.0(in Prozent)

threshold_layer

Gibt True zurück, wenn der Prozentsatz der inaktiven ReLUs in einer Ebene größer als threshold_layer ist.

Gibt False zurück, wenn der Prozentsatz der inaktiven ReLUs in einer Ebene kleiner als threshold_layer ist.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte:50.0(in Prozent)

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 Konfigurieren integrierter Debuggerregeln.

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 ExplodingTensor-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: None

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 (Zeichenfolge)

Standardwer: None

only_nan

True, um die base_trial-Tensoren nur auf NaN-Werte und nicht auf Unendlichkeit zu überwachen.

False, um sowohl NaN als auch Unendlichkeit als explodierende Werte zu behandeln und beide zu überwachen.

Optional

Standardwer: False

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 Konfigurieren integrierter Debuggerregeln.

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 PoorWeightInitialization-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

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 (Zeichenfolge)

Standardwer: ".*relu_input"

threshold

Wenn das Verhältnis zwischen minimaler und maximaler Varianz der Gewichtungen pro Ebene die threshold bei einem Schritt überschreitet, gibt die Regel True zurück.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 10.0

distribution_range

Wenn die Mindestdifferenz zwischen dem 5. und dem 95. Perzentil der Gradientenverteilung kleiner ist als der distribution_range, gibt die Regel True zurück.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.001

patience

Die Anzahl der Schritte, über die hinweg gewartet werden soll, bis der Verlust als nicht mehr abnehmend betrachtet wird.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 5

steps

Die Anzahl der Schritte, die diese Regel analysiert. In der Regel müssen Sie nur die ersten paar Iterationen überprüfen.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 10

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 Konfigurieren integrierter Debuggerregeln.

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 Ebene 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 SaturatedActivation-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

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 (Zeichenfolge)

Standardwer: ".*tanh_input|.*sigmoid_input".

threshold_tanh_min

Die minimalen und maximalen Schwellenwerte, die die Extreme der Eingabe für eine tanh-Aktivierungsfunktion definieren, definiert als: (min_threshold, max_threshold)aus. Die Standardwerte werden basierend auf einem Schwellenwert für verschwindende Gradienten von 0,0000001 ermittelt.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte: -9.4999

threshold_tanh_max

Die minimalen und maximalen Schwellenwerte, die die Extreme der Eingabe für eine tanh-Aktivierungsfunktion definieren, definiert als: (min_threshold, max_threshold)aus. Die Standardwerte werden basierend auf einem Schwellenwert für verschwindende Gradienten von 0,0000001 ermittelt.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte: 9.4999

threshold_sigmoid_min

Die minimalen und maximalen Schwellenwerte, die die Extreme der Eingabe für eine Sigmoid-Aktivierungsfunktion definieren, definiert als: (min_threshold, max_threshold)aus. Die Standardwerte werden basierend auf einem Schwellenwert für verschwindende Gradienten von 0,0000001 ermittelt.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte: -23

threshold_sigmoid_max

Die minimalen und maximalen Schwellenwerte, die die Extreme der Eingabe für eine Sigmoid-Aktivierungsfunktion definieren, definiert als: (min_threshold, max_threshold)aus. Die Standardwerte werden basierend auf einem Schwellenwert für verschwindende Gradienten von 0,0000001 ermittelt.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte: 16.99999

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

Zulässige Werte: Gleitkommazahl

Standardwerte: 1.0

threshold_layer

Gibt True zurück, wenn die Anzahl der gesättigten Aktivierungen in einer Ebene größer als der threshold_layer-Prozentsatz ist.

Gibt False zurück, wenn die Anzahl der gesättigten Aktivierungen in einer Ebene kleiner als der threshold_layer-Prozentsatz ist.

Optional

Zulässige Werte: Gleitkommazahl

Standardwerte: 50.0

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 Konfigurieren integrierter Debuggerregeln.

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.

Parameterbeschreibungen für die VanishingGradient-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold Der Wert, ab dem der Gradienten als verschwindend betrachtet wird.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.0000001.

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 Konfigurieren integrierter Debuggerregeln.

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 am besten, 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. Diese Regel erfordert, dass Gewichte für zwei Trainingsschritte verfügbar sind.train.save_intervalmuss gleich eingestellt werdennum_stepsaus.

Parameterbeschreibungen für die WeightUpdateRatio-Regel
Parametername, Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

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 überschreiben, indem Sie einen Wert für diesen Parameter übergeben, wird der Vergleich zwischen Gewichten in Schritt durchgeführtsund auf einem Schritt>= s - num_stepsaus.

Optional

Zulässige Werte: Ganzzahl

Standardwer: None

large_threshold

Der Maximalwert, auf den sich das Verhältnis von Aktualisierungen zu Gewicht belaufen kann, bevor die Regel zurückgibtTrueaus.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 10.0

small_threshold

Der Mindestwert, auf den sich das Verhältnis von Aktualisierungen zu Gewicht belaufen kann, unterhalb dessen die Regel zurückgibtTrueaus.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.00000001

epsilon

Eine kleine Konstante, mit der sichergestellt wird, dass Debugger nicht durch Null geteilt wird, wenn die das Verhältnis von Aktualisierungen zu Gewichten berechnet wird.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.000000001

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 Konfigurieren integrierter Debuggerregeln.

Anmerkung

Diese Regel ist für den XGBoost-Algorithmus nicht verfügbar.

AllZero

Diese Regel erkennt, ob alle oder ein bestimmter Prozentsatz der Tensor-Werte Null sind.

Diese Regel kann entweder auf eines der unterstützten Deep Learning-Frameworks (TensorFlow, MxNet 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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die AllZero-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwer: None

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwer: None

threshold

Gibt den Prozentsatz der Werte im Tensor an, der Null sein muss, damit diese Regel aufgerufen wird.

Optional

Zulässige 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 Trainingsdataset oder eine korrekte Gewichtung bzw. Stichprobenahme von Klassen während des Trainings. Die Regel führt die folgenden Prüfungen durch:

  • 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 (TensorFlow, MxNet und PyTorch) oder auf den XGBoost-Algorithmus angewendet werden.

Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die ClassImbalance-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

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

Zulässige Werte: Gleitkommazahl

Standardwer: 10

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

Zulässige Werte: Gleitkommazahl

Standardwer: 0.7

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 Dataset enthält, desto größer sollte diese sample-Anzahl sein.

Optional

Zulässige Werte: Ganzzahl

Standardwert: 500 (unter der Annahme eines Datasets wie MNIST mit 10 Klassen)

argmax

Wenn True, wird np.argmax auf den Vorhersage-Tensor angewendet. Erforderlich, wenn ein Vektor von Wahrscheinlichkeiten für jede Klasse vorhanden ist. Anhand von ihm wird bestimmt, welche Klasse die höchste Wahrscheinlichkeit hat.

Bedingt

Zulässige Werte: Boolesch

Standardwer: False

labels_regex

Der Name des Tensors, der die Labels enthält.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: ".*labels"

predictions_regex

Der Name des Tensors, der die Vorhersagen enthält.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: ".*predictions"

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 (TensorFlow, MxNet 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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die LossNotDecreasing-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwer: None

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwer: None

use_losses_collection

Wenn diese Option auf True gesetzt ist, wird nach Verlusten in der Sammlung „losses (Verluste)“ gesucht, sofern die Sammlung vorhanden ist.

Optional

Zulässige Werte: Boolesch

Standardwer: True

num_steps

Die Mindestanzahl von Schritten, nach denen die Regel prüft, ob der Verlust zurückgegangen ist. Regelauswertung findet alle num_steps statt. Die Regel vergleicht den Verlust für diesen Schritt mit dem Verlust bei einem Schritt, der zumindest num_steps hinter dem aktuellen Schritt liegt. Angenommen, der Verlust wird alle drei Schritte gespeichert, aber num_steps ist auf 10 gesetzt. Bei Schritt 21 wird der Verlust für Schritt 21 mit dem Verlust für Schritt 9 verglichen. Der nächste Schritt, bei dem der Verlust überprüft wird, ist Schritt 33, da zehn Schritte nach Schritt 21 Schritt 31 ist und bei Schritt 31 und Schritt 32 der Verlust nicht gespeichert wird.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 10

diff_percent

Die minimale prozentuale Differenz, um die sich der Verlust zwischen num_steps verringern sollte.

Optional

Gültige Werte: 0.0 < Gleitkommazahl < 100

Standardwert:0.1(in Prozent)

increase_threshold_percent

Der maximale Schwellenwert, den der Verlust bei Verlust erhöhen darf, hat zugenommen

Optional

Gültige Werte: 0 < Gleitkommazahl < 100

Standardwert:5(in Prozent)

mode

Der Name des Debugger-Modus zum Abfragen von Tensorwerten für die Regelprüfung. Wenn er nicht übergeben wird, prüft die Regel standardmäßig nacheinander auf mode.EVAL, mode.TRAIN und dann mode.GLOBAL.

Optional

Zulässige Werte: Zeichenfolge (EVAL,TRAIN, oderGLOBAL)

Standardwer: GLOBAL

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 (TensorFlow, MxNet und PyTorch) oder auf den XGBoost-Algorithmus angewendet werden.

Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter Konfigurieren integrierter Debuggerregeln.

Anmerkung

Eine Standardmethode, eine Überanpassung zu verhindern, besteht darin, Ihr Modell zu regulieren.

Parameterbeschreibungen für die Overfit-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

start_step

Der Schritt, ab dem Validierung und Trainingsverlust miteinander verglichen werden sollen.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 0

patience

Die Anzahl der Schritte, für die der ratio_threshold den eingestellten Wert überschreiten darf, bevor das Modell als überdimensioniert angesehen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 1

ratio_threshold

Das maximale Verhältnis der Differenz zwischen dem mittleren Validierungsverlust und dem mittleren Trainingsverlust. Wenn dieser Schwellenwert für eine patience-Anzahl von Schritten überschritten wird, erfolgt eine Überanpassung des Modells und die Regel gibt True zurück.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.1

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, ob ein Modell übertrainiert wird. Nach einer Reihe von Trainingserationen an einem gut erzogenen Modell (sowohl Training als auch Validierungsverlust sinken) nähert sich das Modell einem Minimum der Verlustfunktion und verbessert sich nicht mehr. Wenn das Modell weiter trainiert, kann es vorkommen, dass der Validierungsverlust zunimmt, da das Modell zu überpassen beginnt. Diese Regel legt Schwellenwerte und Bedingungen fest, um festzustellen, ob sich das Modell nicht verbessert, und verhindert Überanpassungsprobleme aufgrund von Übertraining.

Diese Regel kann entweder auf eines der unterstützten Deep Learning-Frameworks (TensorFlow, MxNet und PyTorch) oder auf den XGBoost-Algorithmus angewendet werden.

Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter Konfigurieren integrierter Debuggerregeln.

Anmerkung

Overtraining kann durch frühzeitiges Stoppen vermieden werden. Hinweise zum vorzeitigen Beenden finden Sie unter Vorzeitiges Beenden von Schulungsaufträgen. Ein Beispiel, das zeigt, wie das Spot-Training mit Debugger verwendet wird, finden Sie unterSpot-Schulung mit Amazon SageMaker Debugger aktivierenaus.

Parameterbeschreibungen für die Overtraining-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

patience_train

Die Anzahl der Schritte, die vor dem Trainingsverlust zu warten sind, soll nicht mehr verbessert werden.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 5

patience_validation Die Anzahl von Schritte, die gewartet werden soll, bis dem Validierungsverlust als sich nicht mehr verbessernd angesehen wird.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 10

delta

Die Mindestschwelle, um die sich der Fehler verbessern sollte, bevor er als neues Optimum angesehen wird.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.01

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 (TensorFlow, MxNet und PyTorch) oder auf den XGBoost-Algorithmus angewendet werden.

Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die SimilarAcrossRuns-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

other_trial

Der Name eines abgeschlossenen Trainingsauftrags, dessen Tensoren Sie mit den Tensoren vergleichen möchten, die aus der aktuellenbase_trialaus.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.similar_across_runs(), rule_parameters={ "other_trial": "<specify-another-job-name>", "collection_names": "losses", "tensor_regex": ".*" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "save_interval": "500" } ) ] ) ]

StalledTrainingRule

StalledTrainingRule erkennt, ob beim Ausbildungsjob keine Fortschritte erzielt wurden, und stoppt den Schulungsjob, wenn die Regel ausgelöst wird. Diese Regel setzt voraus, dass Tensoren periodisch in einem Zeitintervall gespeichert werden, das durchthreshold-Parameter. Diese Regel überwacht weiterhin neue Tensoren, und wenn kein neuer Tensor für Schwellenwertintervall ausgegeben wurde, wird die Regel ausgelöst.

Parameterbeschreibungen für die StalledTrainingRule-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold

Ein Schwellenwert, der definiert, um wie viel Zeit in Sekunden die Regel auf eine Tensorausgabe wartet, bis sie ein ins Stocken geratenes Trainingsproblem löst. Der Standardwert ist 1800 Sekunden.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 1800

stop_training_on_fire

Wenn eingestellt aufTrue, beobachtet, ob der Basisausbildungsjob Tensoren ausgibt“threshold„Sekunden.

Optional

Zulässige Werte: Boolesch

Standardwer: False

training_job_name_prefix

Das Präfix des Namens des Basistrainingsjobs. Wennstop_training_on_firestimmt, die Regel sucht nach SageMaker-Ausbildungsjobs mit diesem Präfix im selben Konto. Wenn eine Inaktivität gefunden wird, gilt die RegelStopTrainingJobAktion Beachten Sie, dass mehrere Jobs mit demselben Präfix gefunden werden, überspringt die Regel die Beendigung. Es ist wichtig, dass das Präfix pro Trainingsjob eindeutig festgelegt wird.

Optional

Zulässige Werte: String (Zeichenfolge)

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 (TensorFlow, MxNet 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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die TensorVariance-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

max_threshold

Der Schwellenwert für die Obergrenze der Tensorvarianz.

Optional

Zulässige Werte: Gleitkommazahl

Standardwert: Keine

min_threshold

Der Schwellenwert für die Untergrenze der Tensorvarianz.

Optional

Zulässige 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 läuftnumpy.allcloseMethode, um zu überprüfen, ob sich der Tensor nicht ändert.

Diese Regel kann entweder auf eines der unterstützten Deep Learning-Frameworks (TensorFlow, MxNet 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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die UnchangedTensor-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

collection_names

Die Liste der Sammlungsnamen, deren Tensoren durch die Regel geprüft werden.

Optional

Zulässige Werte: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: Keine

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 num_steps überprüft. Sie müssen nicht aufeinander folgen. Wenn num_steps 2 ist, überprüft es bei Schritt „s“ nicht unbedingt auf „s-1“ und „s“. Wenn „s-1“ nicht verfügbar ist, wird der letzte verfügbare Schritt zusammen mit „s“ überprüft. In diesem Fall wird der letzte verfügbare Schritt anhand des aktuellen Schritts überprüft.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 3

rtol

Der relative Toleranzparameter, der an die Methode numpy.allclose übergeben werden soll.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 1e-05

atol

Der absolute Toleranzparameter, der an die Methode numpy.allclose übergeben werden soll.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 1e-08

equal_nan

Ob NaNs als gleichwertig zu vergleichen sind. Bei dem Wert True werden NaNs in Eingabe-Array a im Ausgabe-Array als gleichwertig mit NaNs in Eingabe-Array b angesehen. Dieser Parameter wird an die Methode numpy.allclose übergeben.

Optional

Zulässige Werte: Boolesch

Standardwer: False

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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die CheckInputImages-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold_mean

Ein Schwellenwert, der definiert, um wie viel der Mittelwert der Eingabedaten von 0 abweichen kann.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.2

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 Datasets ungenau.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 500

regex

Der Name des Eingabedatentensors.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwert: ".*hybridsequential0_input_0" (der Name des Eingabe-Tensors für Apache MXNet-Modelle, die HybridSequential verwenden)

channel

Die Position des Farbkanals im Eingabetensor-Shape-Array.

Optional

Zulässige Werte: Ganzzahl

Standardwert: 1 (Beispiel: MXNet erwartet Eingabedaten in Form von (batch_size, channel, height, width))

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 von EOS-Auffüllungs-Token (End-of-Sentence, Satzende) in Ihrer Eingabesequenz berechnen. Wenn die Anzahl der EOS-Token zu hoch ist, sollte eine alternative Bucketing-Strategie durchgeführt 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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die NLPSequenceRatio-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

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: Liste von Zeichenfolgen oder eine durch Kommas getrennte Zeichenfolge

Standardwert: ".*embedding0_input_0" (unter der Annahme einer Einbettung als Anfangsebene des Netzwerks)

token_values

Eine Zeichenfolge einer Liste der numerischen Werte der Token. Beispiel: „3, 0“.

Optional

Zulässige Werte: Durch Kommas getrennte Zeichenfolge von numerischen Werten

Standardwer: 0

token_thresholds_percent

Eine Zeichenfolge einer Liste von Schwellenwerten (in Prozentsätzen), die jedem der token_values entsprechen. Beispiel: „50,0, 50,0“.

Optional

Zulässige Werte: Kommagetrennte Gleitkommazahlen

Standardwer: "50"

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 Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die Confusion-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

category_no

Die Anzahl der Kategorien.

Optional

Zulässige Werte: Ganzzahl ≥2

Standardwer: "None"

labels

DielabelsTensorsammlung oder ein 1-d-Vektor von echten Labels.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: "labels"

predictions

DiepredictionsTensorsammlung oder ein 1-d-Vektor von geschätzten Labels.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: "predictions"

labels_collection

Die Regel prüft die Tensoren in dieser Sammlung auf labels.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: "labels"

predictions_collection

Die Regel prüft die Tensoren in dieser Sammlung auf predictions.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: "predictions"

min_diag

Der Mindestschwellenwert für das Verhältnis der Daten auf der Diagonale.

Optional

Zulässige Werte:0≤float≤1

Standardwer: 0.9

max_off_diag

Der maximale Schwellenwert für das Verhältnis der Daten von der Diagonale.

Optional

Zulässige Werte:0≤float≤1

Standardwer: 0.1

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 sammelt die Gewichte der n größten Feature-Wichtigkeitswerte pro Schritt und stellt sicher, dass sie den Schwellenwert nicht überschreiten. Sie können beispielsweise festlegen, dass der Schwellenwert für die Top 3-Features nicht mehr als 80 Prozent der Gesamtgewichte des Modells enthält.

Diese Regel gilt nur für den XGBoost-Algorithmus.

Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die FeatureImportanceOverweight-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

threshold

Definiert den Schwellenwert für den Anteil der kumulativen Summe derngrößte Funktionen. Die Zahlnwird durch dennfeatures-Parameter.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 0.8

nfeatures

Die Anzahl der größten Funktionen.

Optional

Zulässige Werte: Ganzzahl

Standardwer: 3

tensor_regex

Der reguläre Ausdruck (Regex) des Tensors nennt die zu analysierende Regel.

Optional

Zulässige Werte: String (Zeichenfolge)

Standardwer: ".*feature_importance/weight"

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. XGBoost lehnt 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 diedepth-Parameter.

Diese Regel gilt nur für den XGBoost-Algorithmus.

Ein Beispiel für das Konfigurieren und Bereitstellen einer integrierten Regel finden Sie unter Konfigurieren integrierter Debuggerregeln.

Parameterbeschreibungen für die TreeDepth-Regel
Parametername Beschreibung
base_trial

Der Name des Base Test-Trainingsjobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Schulungsauftrag eingestellt.

Erforderlich

Zulässige Werte: String (Zeichenfolge)

depth

Die Tiefe des Baums. Die Tiefe des Baumes wird durch Berechnung des Basis-2-Logarithmus der größten Knoten-ID bestimmt.

Optional

Zulässige Werte: Gleitkommazahl

Standardwer: 4

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" } ) ] ) ]