View a markdown version of this page

Starten Sie Trainingsjobs mit dem Debugger mithilfe des SageMaker Python-SDK - Amazon SageMaker KI

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.

Starten Sie Trainingsjobs mit dem Debugger mithilfe des SageMaker Python-SDK

Anmerkung

Amazon SageMaker Debugger steht neuen Kunden nicht mehr offen. Bestehende Kunden können den Service weiterhin wie gewohnt nutzen. AWS investiert weiterhin in Sicherheits- und Verfügbarkeitsverbesserungen für Debugger, aber wir planen nicht, neue Funktionen einzuführen. Weitere Informationen finden Sie unter Änderung der Debugger-Verfügbarkeit.

Um einen SageMaker KI-Schätzer mit SageMaker Debugger zu konfigurieren, verwenden Sie das Amazon SageMaker Python SDK und geben Sie Parameter an. Debugger-specific Um die Debugging-Funktionalität vollständig nutzen zu können, müssen Sie drei Parameter konfigurieren: debugger_hook_config, tensorboard_output_config, und rules.

Wichtig

Bevor Sie die Schätzer-Fit-Methode erstellen und ausführen, um einen Trainingsauftrag zu starten, stellen Sie sicher, dass Sie Ihr Trainingsskript entsprechend den Anweisungen unter Ihr Trainingsskript anpassen, um einen Hook zu registrieren anpassen.

Konstruieren eines SageMaker KI-Schätzers mit Parametern Debugger-specific

Die Codebeispiele in diesem Abschnitt zeigen, wie ein SageMaker KI-Schätzer mit den Debugger-specific Parametern erstellt wird.

Anmerkung

Die folgenden Codebeispiele sind Vorlagen für die Konstruktion der SageMaker KI-Framework-Schätzer und nicht direkt ausführbar. Sie müssen mit den nächsten Abschnitten fortfahren und die Debugger-specific Parameter konfigurieren.

# An example of creating a training job with debugger configuration import boto3 from sagemaker.core import image_uris from sagemaker.core.resources import TrainingJob from sagemaker.core.shapes import ( AlgorithmSpecification, ResourceConfig, OutputDataConfig, StoppingCondition, DebugHookConfig, CollectionConfiguration, DebugRuleConfiguration, ) session=boto3.session.Session() region=session.region_name # Retrieve the training image for your framework # Change framework to "tensorflow", "mxnet", "xgboost", etc. as needed training_image = image_uris.retrieve( framework="pytorch", # or "tensorflow", "mxnet", "xgboost" region=region, version="1.12.0", py_version="py37", instance_type="ml.p3.2xlarge", image_scope="training" ) debug_hook_config=DebugHookConfig(...) debug_rule_configurations=[ DebugRuleConfiguration( rule_configuration_name="built_in_rule", rule_evaluator_image="rule-evaluator-image-uri", ) ] TrainingJob.create( training_job_name="debugger-demo", algorithm_specification=AlgorithmSpecification( training_image=training_image, training_input_mode="File", ), role_arn="arn:aws:iam::123456789012:role/SageMakerRole", resource_config=ResourceConfig(instance_type="ml.p3.2xlarge", instance_count=1, volume_size_in_gb=30), output_data_config=OutputDataConfig(s3_output_path="s3://bucket/output"), stopping_condition=StoppingCondition(max_runtime_in_seconds=3600), # Debugger-specific parameters debug_hook_config=debug_hook_config, debug_rule_configurations=debug_rule_configurations, )

Konfigurieren Sie die folgenden Parameter, um den SageMaker Debugger zu aktivieren:

  • debugger_hook_config(ein Objekt von DebuggerHookConfig) — Erforderlich, um währenddessen den Hook im angepassten Trainingsskript zu aktivierenIhr Trainingsskript anpassen, um einen Hook zu registrieren, den SageMaker Trainingsstarter (Estimator) so zu konfigurieren, dass er die Ausgangstensoren Ihres Trainingsjobs erfasst, und die Tensoren in Ihrem gesicherten S3-Bucket oder auf Ihrem lokalen Computer speichern. Wie Sie den debugger_hook_config Parameter konfigurieren können, erfahren Sie unter SageMaker Debugger zum Speichern von Tensoren konfigurieren.

  • rules(eine Liste von Rule Objekten) — Konfigurieren Sie diesen Parameter, um die integrierten SageMaker Debugger-Regeln zu aktivieren, die Sie in Echtzeit ausführen möchten. Bei den integrierten Regeln handelt es sich um Logiken, die den Trainingsfortschritt Ihres Modells automatisch debuggen und Trainingsprobleme finden, indem sie die in Ihrem gesicherten S3-Bucket gespeicherten Ausgabetensoren analysieren. Wie Sie den rules Parameter konfigurieren können, erfahren Sie unter So konfigurieren Sie integrierte Debugger-Regeln. Eine vollständige Liste der integrierten Regeln für das Debuggen von Ausgabetensoren finden Sie unter Debugger-Regel. Wenn Sie Ihre eigene Logik zur Erkennung von Ausbildungsproblemen erstellen möchten, siehe Benutzerdefinierte Regeln mithilfe der Debugger-Clientbibliothek erstellen.

    Anmerkung

    Die integrierten Regeln sind nur über SageMaker Trainingsinstanzen verfügbar. Sie können sie nicht im lokalen Modus verwenden.

  • tensorboard_output_config(ein Objekt von TensorBoardOutputConfig) — Konfigurieren Sie den SageMaker Debugger so, dass er Ausgabetensoren in dem TensorBoard-compatible Format erfasst und in Ihrem im Objekt angegebenen S3-Ausgabepfad speichert. TensorBoardOutputConfig Weitere Informationen hierzu finden Sie unter Visualisieren Sie Amazon SageMaker Debugger-Ausgabetensoren in TensorBoard.

    Anmerkung

    Der tensorboard_output_config muss mit dem debugger_hook_config Parameter konfiguriert werden. Dazu müssen Sie auch Ihr Trainingsskript anpassen, indem Sie den sagemaker-debugger Hook hinzufügen.

Anmerkung

SageMaker Der Debugger speichert Ausgabetensoren sicher in Unterordnern Ihres S3-Buckets. Das Format der standardmäßigen S3-Bucket-URI in Ihrem Konto lautet beispielsweise s3://amzn-s3-demo-bucket-sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/. Es gibt zwei Unterordner, die vom SageMaker Debugger erstellt wurden:, und. debug-output rule-output Wenn Sie den tensorboard_output_config Parameter hinzufügen, finden Sie auch den tensorboard-output Ordner.

In den folgenden Themen finden Sie weitere Beispiele für die detaillierte Konfiguration der Debugger-specific Parameter.