Verwenden Sie den DebuggerAPIs, um Ihre eigenen benutzerdefinierten Regeln auszuführen - 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.

Verwenden Sie den DebuggerAPIs, um Ihre eigenen benutzerdefinierten Regeln auszuführen

Das folgende Codebeispiel zeigt, wie eine benutzerdefinierte Regel mit Amazon SageMaker Python konfiguriert wirdSDK. In diesem Beispiel wird davon ausgegangen, dass sich das benutzerdefinierte Regelskript, das Sie im vorherigen Schritt erstellt haben, unter 'path/to/my_custom_rule.py' befindet.

from sagemaker.debugger import Rule, CollectionConfig custom_rule = Rule.custom( name='MyCustomRule', image_uri='759209512951.dkr.ecr.us-west-2.amazonaws.com/sagemaker-debugger-rule-evaluator:latest', instance_type='ml.t3.medium', source='path/to/my_custom_rule.py', rule_to_invoke='CustomGradientRule', collections_to_save=[CollectionConfig("gradients")], rule_parameters={"threshold": "20.0"} )

In der folgenden Liste werden die Rule.custom API Debugger-Argumente erklärt.

  • name (str): Geben Sie beliebig einen benutzerdefinierten Regelnamen an.

  • image_uri (str): Dies ist das Bild des Containers, das die Logik enthält, Ihre benutzerdefinierte Regel zu verstehen. Es bezieht die angegebenen Tensorsammlungen, die Sie im Trainingsauftrag speichern, und wertet sie aus. Die Liste der SageMaker Open-Source-Rule Evaluator-Images finden Sie unter. Amazon SageMaker Debugger-Image URIs für benutzerdefinierte Regelauswerter

  • instance_type (str): Sie müssen eine Instance angeben, um einen Regel-Docker-Container zu erstellen. Dadurch wird die Instance parallel zu einem Trainingscontainer hochgefahren.

  • source(str): Dies ist der lokale Pfad oder der Amazon S3 URI zu Ihrem benutzerdefinierten Regelskript.

  • rule_to_invoke(str): Dies gibt die spezielle Regelklassenimplementierung in Ihrem benutzerdefinierten Regelskript an. SageMaker unterstützt in einem Regeljob jeweils nur eine Regel, die ausgewertet werden kann.

  • collections_to_save (str): Dies gibt an, welche Tensorsammlungen Sie speichern, damit die Regel ausgeführt werden kann.

  • rule_parameters (Wörterbuch): Dies akzeptiert Parametereingaben in einem Wörterbuchformat. Sie können die Parameter anpassen, die Sie im benutzerdefinierten Regelskript konfiguriert haben.

Nachdem Sie das custom_rule Objekt eingerichtet haben, können Sie es verwenden, um einen SageMaker Schätzer für alle Trainingsaufgaben zu erstellen. Geben Sie das entry_point in Ihrem Trainingsskript an. Sie müssen keine Änderungen an Ihrem Trainingsskript vornehmen.

from sagemaker.tensorflow import TensorFlow estimator = TensorFlow( role=sagemaker.get_execution_role(), base_job_name='smdebug-custom-rule-demo-tf-keras', entry_point='path/to/your_training_script.py' train_instance_type='ml.p2.xlarge' ... # debugger-specific arguments below rules = [custom_rule] ) estimator.fit()

Weitere Varianten und erweiterte Beispiele für die Verwendung benutzerdefinierter Debugger-Regeln finden Sie in den folgenden Beispiel-Notebooks.