

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.

# Exemples de blocs-notes et de code pour configurer les règles Debugger
<a name="debugger-built-in-rules-example"></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). 

Les sections suivantes proposent des blocs-notes et des exemples de code expliquant comment utiliser les règles du débogueur pour surveiller les tâches de SageMaker formation.

**Topics**
+ [Exemples de blocs-notes de règles intégrées Debugger](#debugger-built-in-rules-notebook-example)
+ [Exemple de code pour les règles intégrées Debugger](#debugger-deploy-built-in-rules)
+ [Utilisation des règles intégrées Debugger avec modifications des paramètres](#debugger-deploy-modified-built-in-rules)

## Exemples de blocs-notes de règles intégrées Debugger
<a name="debugger-built-in-rules-notebook-example"></a>

Les exemples de blocs-notes suivants montrent comment utiliser les règles intégrées du débogueur lors de l'exécution de tâches de formation avec Amazon AI : SageMaker 
+ [Utilisation d'une SageMaker règle intégrée du débogueur avec TensorFlow ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_builtin_rule)
+ [Utilisation d'une règle intégrée au SageMaker débogueur avec Managed Spot Training et MXNet ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mxnet_spot_training)
+ [Utilisation d'une règle intégrée au SageMaker débogueur avec modification des paramètres pour une analyse des tâches de formation en temps réel avec XGBoost ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/xgboost_realtime_analysis)

Lorsque vous exécutez les exemples de blocs-notes dans SageMaker Studio, vous pouvez trouver l'essai de formation créé dans l'**onglet ** Studio Experiment List. Par exemple, comme illustré dans la capture d'écran suivante, vous pouvez rechercher et ouvrir une fenêtre **Describe Trial Component (Décrire le composant d'essai)** de votre tâche d'entraînement actuelle. Sous l'onglet Debugger, vous pouvez vérifier si les règles de Debugger, `vanishing_gradient()` et `loss_not_decreasing()`, contrôlent la séance de formation en parallèle. Pour obtenir des instructions complètes sur la façon de trouver les composants d'essai de votre job de formation dans l'interface utilisateur de Studio, voir [ SageMaker Studio - Afficher les expériences, les essais et les composants d'essai](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks.html#studio-tasks-experiments).

![Image montrant l'exécution d'une tâche de formation avec les règles intégrées du débogueur activées dans SageMaker Studio.](https://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/debugger/debugger-built-in-rule-studio.png)


Il existe deux manières d'utiliser les règles intégrées du débogueur dans l'environnement d' SageMaker IA : déployez les règles intégrées au fur et à mesure de leur préparation ou ajustez leurs paramètres comme vous le souhaitez. Les rubriques suivantes vous montrent comment utiliser les règles intégrées avec des exemples de codes.

## Exemple de code pour les règles intégrées Debugger
<a name="debugger-deploy-built-in-rules"></a>

L'exemple de code ci-après illustre comment configurer une règle intégrée Debugger à l'aide de la méthode `Rule.sagemaker`. Pour spécifier les règles intégrées que vous souhaitez exécuter, utilisez l'opération d'API `rules_configs` permettant d'appeler les règles intégrées. Pour obtenir la liste complète des règles intégrées et des valeurs de paramètres par défaut de Debugger, consultez [Liste des règles intégrées à Debugger](debugger-built-in-rules.md).

```
import boto3
import sagemaker
from sagemaker.train import ModelTrainer
from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs
from sagemaker.core.helper.session_helper import get_execution_role
built_in_rules=[ 
            Rule.sagemaker(rule_configs.vanishing_gradient()),
            Rule.sagemaker(rule_configs.loss_not_decreasing())
]

from sagemaker.core import image_uris
from sagemaker.train.configs import SourceCode, Compute

training_image = image_uris.retrieve(
    framework="tensorflow",
    region=boto3.Session().region_name,
    version="{{2.9.0}}",
    py_version="{{py39}}",
    instance_type="{{ml.p3.2xlarge}}",
    image_scope="training"
)

# construct a SageMaker AI ModelTrainer with the Debugger built-in rules
sagemaker_model_trainer=ModelTrainer(
    training_image=training_image,
    source_code=SourceCode(entry_script='directory/to/your_training_script.py'),
    role=get_execution_role(),
    base_job_name='debugger-built-in-rules-demo',
    compute=Compute(instance_type="{{ml.p3.2xlarge}}", instance_count=1),

    # debugger-specific arguments below
    rules=built_in_rules
)
sagemaker_model_trainer.train()
```

**Note**  
Les règles intégrées de Debugger s'exécutent en parallèle avec votre tâche d'entraînement. Le nombre maximal de conteneurs de règles intégrées pour une tâche d'entraînement est de 20. 

Pour plus d'informations sur la classe de règles, les méthodes et les paramètres du débogueur, consultez la classe [ SageMaker Debugger Rule du [ SDK Amazon ](https://sagemaker.readthedocs.io/en/stable) Python. SageMaker ](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html) 

Pour trouver un exemple d'ajustement des paramètres de règles Debugger, consultez la section [Utilisation des règles intégrées Debugger avec modifications des paramètres](#debugger-deploy-modified-built-in-rules) suivante.

## Utilisation des règles intégrées Debugger avec modifications des paramètres
<a name="debugger-deploy-modified-built-in-rules"></a>

L'exemple de code suivant présente la structure des règles intégrées permettant d'ajuster les paramètres. Dans cet exemple, la règle `stalled_training_rule` collecte la collection de tenseurs `losses` à partir d'une tâche d'entraînement toutes les 50 étapes et d'une étape d'évaluation toutes les 10 étapes. Si le processus d'entraînement commence à ralentir et ne collecte pas de sorties tenseurs pendant 120 secondes, la règle `stalled_training_rule` arrête la tâche d'entraînement. 

```
import boto3
import time
import sagemaker
from sagemaker.train import ModelTrainer
from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs
from sagemaker.core.helper.session_helper import get_execution_role

# call the built-in rules and modify the CollectionConfig parameters

base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time()))

built_in_rules_modified=[
    Rule.sagemaker(
        base_config=rule_configs.stalled_training_rule(),
        rule_parameters={
                'threshold': '120',
                'training_job_name_prefix': base_job_name_prefix,
                'stop_training_on_fire' : 'True'
        },
        collections_to_save=[ 
            CollectionConfig(
                name="losses", 
                parameters={
                      "train.save_interval": "50",
                      "eval.save_interval": "10"
                } 
            )
        ]
    )
]

from sagemaker.core import image_uris
from sagemaker.train.configs import SourceCode, Compute

training_image = image_uris.retrieve(
    framework="tensorflow",
    region=boto3.Session().region_name,
    version="{{2.9.0}}",
    py_version="{{py39}}",
    instance_type="{{ml.p3.2xlarge}}",
    image_scope="training"
)

# construct a SageMaker AI ModelTrainer with the modified Debugger built-in rule
sagemaker_model_trainer=ModelTrainer(
    training_image=training_image,
    source_code=SourceCode(entry_script='directory/to/your_training_script.py'),
    role=get_execution_role(),
    base_job_name=base_job_name_prefix,
    compute=Compute(instance_type="{{ml.p3.2xlarge}}", instance_count=1),

    # debugger-specific arguments below
    rules=built_in_rules_modified
)
sagemaker_model_trainer.train()
```