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.
Beispiel-Notebooks und Codebeispiele zur Konfiguration von Debugger-Regeln
In den folgenden Abschnitten werden Notebooks und Codebeispiele zur Verwendung von Debugger-Regeln zur Überwachung von SageMaker-Trainingsaufträgen bereitgestellt.
Themen
Beispiel für Notebooks mit integrierten Debugger-Regeln
Die folgenden Beispiel-Notebooks zeigen, wie die integrierten Debugger-Regeln bei der Ausführung von Trainingsjobs mit Amazon SageMaker AI verwendet werden:
Wenn Sie die Beispiel-Notebooks in SageMaker Studio ausführen, finden Sie die Trainingsauftrags-Testversion, die auf der Registerkarte Studio-Experimentliste erstellt wurde. Wie im folgenden Screenshot gezeigt, können Sie beispielsweise das Fenster Testkomponente beschreiben Ihres aktuellen Trainingsauftrags finden und öffnen. Auf der Registerkarte Debugger können Sie überprüfen, ob die Debugger-Regeln vanishing_gradient() undloss_not_decreasing(), die Trainingssitzung parallel überwachen. Eine vollständige Anleitung, wie Sie Ihre Trainingsauftrags-Testkomponenten in der Studio-Benutzeroberfläche finden, finden Sie unter SageMaker Studio – Experimente, Studien und Testkomponenten anzeigen.
Es gibt zwei Möglichkeiten, die integrierten Debugger-Regeln in der SageMaker-AI-Umgebung zu verwenden: Stellen Sie die integrierten Regeln so bereit, wie sie vorbereitet sind, oder passen Sie ihre Parameter nach Ihren Wünschen an. Im Folgenden erfahren Sie anhand von Beispielcodes, wie Sie integrierte Regeln verwenden.
Beispielcode für integrierte Debugger-Regeln
Das folgende Codebeispiel zeigt, wie die integrierten Debugger-Regeln mit der Methode Rule.sagemaker festgelegt werden. Um die integrierten Regeln anzugeben, die Sie ausführen möchten, rufen Sie die integrierten Regeln mithilfe der rules_configs API-Operation auf. Eine vollständige Liste der integrierten Debugger-Regeln und Standardparameterwerte finden Sie unter Liste der in den Debugger integrierten Regeln.
import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import Rule, CollectionConfig, rule_configs # call built-in rules that you want to use. built_in_rules=[ Rule.sagemaker(rule_configs.vanishing_gradient()) Rule.sagemaker(rule_configs.loss_not_decreasing()) ] # construct a SageMaker AI estimator with the Debugger built-in rules sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-built-in-rules-demo', instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.9.0", py_version="py39", # debugger-specific arguments below rules=built_in_rules ) sagemaker_estimator.fit()
Anmerkung
Die integrierten Debugger-Regeln werden parallel zu Ihrem Trainingsauftrag ausgeführt. Die maximale Anzahl von integrierten Regelcontainern für einen Trainingsauftrag ist 20.
Weitere Informationen über die Debugger-Regelklasse, Methoden und Parameter finden Sie in der SageMaker Debugger-Regelklasse
Ein Beispiel für die Anpassung der Debugger-Regelparameter finden Sie im folgenden Abschnitt Integrierte Debugger-Regeln mit Parameteränderungen verwenden.
Integrierte Debugger-Regeln mit Parameteränderungen verwenden
Das folgende Codebeispiel zeigt die Struktur der integrierten Regeln zur Anpassung von Parametern. In diesem Beispiel erfasst stalled_training_rule alle 50 Schritte die losses Tensorerfassung aus einem Trainingsauftrag und alle 10 Schritte aus einer Evaluierungsphase. Wenn der Trainingsprozess ins Stocken gerät und 120 Sekunden lang keine Tensorausgaben erfasst werden, stoppt der stalled_training_rule den Trainingsjob.
import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import Rule, CollectionConfig, rule_configs # call the built-in rules and modify the CollectionConfig parameters base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time())) built_in_rules_modified=[ Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ 'threshold': '120', 'training_job_name_prefix': base_job_name_prefix, 'stop_training_on_fire' : 'True' } collections_to_save=[ CollectionConfig( name="losses", parameters={ "train.save_interval": "50" "eval.save_interval": "10" } ) ] ) ] # construct a SageMaker AI estimator with the modified Debugger built-in rule sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name=base_job_name_prefix, instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.9.0", py_version="py39", # debugger-specific arguments below rules=built_in_rules_modified ) sagemaker_estimator.fit()