

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.

# Utilisation des API Debugger pour exécuter vos propres règles personnalisées
<a name="debugger-custom-rules-python-sdk"></a>

**Note**  
Amazon SageMaker Debugger n'est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. AWS continue d'investir dans l'amélioration de la sécurité et de la disponibilité de Debugger, mais nous ne prévoyons pas d'introduire de nouvelles fonctionnalités. Pour de plus amples informations, veuillez consulter [Modification de la disponibilité du débogueur](debugger-availability-change.md). 

L'exemple de code suivant montre comment configurer une règle personnalisée avec le SDK [https://sagemaker.readthedocs.io/en/stable](https://sagemaker.readthedocs.io/en/stable) Amazon SageMaker Python. Cet exemple suppose que le script de règle personnalisé que vous avez créé à l'étape précédente se trouve dans « * path/to /my\_custom\_rule.py * ».

```
from sagemaker.core.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 de l'API `Rule.custom` Debugger.
+ `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 règles d' SageMaker IA open source sur. [URI d'images Amazon SageMaker Debugger pour les évaluateurs de règles personnalisés](debugger-reference.md#debuger-custom-rule-registry-ids)
+ `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'URI Amazon S3 vers votre script de règle personnalisée.
+ `rule_to_invoke`(str) : Ceci spécifie l'implémentation particulière de la classe Rule dans votre script de règle personnalisé. SageMaker L'IA ne prend en charge qu'une seule règle à évaluer à la fois dans le cadre d'une tâche de règle.
+ `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_rule`objet, vous pouvez l'utiliser pour créer un estimateur SageMaker IA 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.train import ModelTrainer
from sagemaker.train.configs import SourceCode, Compute
from sagemaker.core.helper.session_helper import get_execution_role

model_trainer = ModelTrainer(
                role=get_execution_role(),
                base_job_name='smdebug-custom-rule-demo-tf-keras',
                source_code=SourceCode(entry_script='path/to/your_training_script.py'),
                compute=Compute(instance_type='ml.p2.xlarge'),
                ...
                
                # debugger-specific arguments below
                rules = [custom_rule]
)

model_trainer.train()
```

Pour plus de variantes et des exemples avancés d'utilisation des règles personnalisées Debugger, consultez les exemples de blocs-notes suivants.
+ [Surveillez votre travail de formation grâce aux règles personnalisées d'Amazon SageMaker Debugger ](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/tensorflow_keras_custom_rule/tf-keras-custom-rule.html)
+ [PyTorch élagage par modèle itératif de et ResNet AlexNet ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/pytorch_iterative_model_pruning)
+ [Déclenchez Amazon CloudWatch Events à l'aide des règles du débogueur pour effectuer une action en fonction de l'état de la formation avec TensorFlow ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_action_on_rule)