Die Debugger-APIs verwenden, um Ihre eigenen benutzerdefinierten Regeln auszuführen - Amazon SageMaker AI

Die Debugger-APIs verwenden, um Ihre eigenen benutzerdefinierten Regeln auszuführen

Das folgende Codebeispiel zeigt, wie eine benutzerdefinierte Regel mit dem Amazon SageMaker Python SDK konfiguriert wird. 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 Debugger Rule.custom-API-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 Open-Source-Bilder für die SageMaker-AI-Regelauswertung finden Sie unter Image-URLs des Amazon SageMaker Debugger 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 spezifiziert die spezielle Regelklassenimplementierung in Ihrem benutzerdefinierten Regelskript. SageMaker AI unterstützt jeweils nur eine Regel, die in einem Regelauftrag 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-AI-Schätzer für alle Trainingsjobs 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.