Utilisez le Debugger APIs pour exécuter vos propres règles personnalisées - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisez le Debugger APIs pour exécuter vos propres règles personnalisées

L'exemple de code suivant montre comment configurer une règle personnalisée avec Amazon SageMaker Python SDK. Cet exemple suppose que le script de règle personnalisé que vous avez créé à l'étape précédente se trouve sous « path/to/my_custom_rule.py ».

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

La liste suivante explique les arguments du Debugger Rule.customAPI.

  • name (str) : spécifiez un nom de règle personnalisé à votre guise.

  • image_uri (str) : il s'agit de l'image du conteneur dont la logique est de comprendre votre règle personnalisée. Celle-ci approvisionne et évalue les collections de tenseurs spécifiées que vous enregistrez dans la tâche d'entraînement. Vous pouvez trouver la liste des images de l'évaluateur de SageMaker règles open source sur. Image Amazon SageMaker Debugger pour les évaluateurs URIs de règles personnalisés

  • instance_type (str) : vous devez spécifier une instance pour créer un conteneur Docker de règles afin d'activer l'instance en parallèle avec un conteneur d'entraînement.

  • source(str) : Il s'agit du chemin local ou de l'Amazon S3 URI vers votre script de règle personnalisé.

  • rule_to_invoke(str) : Ceci spécifie l'implémentation de la classe Rule particulière dans votre script de règles personnalisé. SageMaker ne prend en charge qu'une seule règle à évaluer à la fois dans une tâche de règles.

  • collections_to_save (str) : spécifie les collections de tenseurs que vous allez enregistrer pour l'exécution de la règle.

  • rule_parameters (dictionnaire) : accepte les entrées de paramètres dans un format de dictionnaire. Vous pouvez ajuster les paramètres que vous avez configurés dans le script de règle personnalisée.

Après avoir configuré l'custom_ruleobjet, vous pouvez l'utiliser pour créer un SageMaker estimateur pour tous les travaux de formation. Spécifiez le point entry_point à votre script d'entraînement. Vous n'avez pas besoin de modifier votre script d'entraînement.

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

Pour plus de variantes et des exemples avancés d'utilisation des règles personnalisées Debugger, consultez les exemples de blocs-notes suivants.