

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Notebook di esempio ed esempi di codice per configurare le regole di Debugger
<a name="debugger-built-in-rules-example"></a>

Nelle sezioni seguenti vengono forniti notebook ed esempi di codice su come utilizzare le regole Debugger per monitorare i lavori di formazione. SageMaker 

**Topics**
+ [Notebook di esempio con regole integrate di Debugger](#debugger-built-in-rules-notebook-example)
+ [Codice di esempio con regole integrate di Debugger](#debugger-deploy-built-in-rules)
+ [Utilizzare le regole integrate di Debugger con le modifiche dei parametri](#debugger-deploy-modified-built-in-rules)

## Notebook di esempio con regole integrate di Debugger
<a name="debugger-built-in-rules-notebook-example"></a>

I seguenti notebook di esempio mostrano come utilizzare le regole integrate di Debugger durante l'esecuzione di lavori di formazione con Amazon AI: SageMaker 
+ [Utilizzo di una regola integrata di Debugger con SageMaker TensorFlow](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_builtin_rule)
+ [Utilizzo di una regola integrata nel SageMaker Debugger con Managed Spot Training e MXNet](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mxnet_spot_training)
+ [Utilizzo di una regola integrata del SageMaker Debugger con modifiche ai parametri per un'analisi del lavoro di formazione in tempo reale con XGBoost](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/xgboost_realtime_analysis)

**Durante l'esecuzione dei notebook di esempio in SageMaker Studio, puoi trovare la versione di prova del lavoro di formazione creata nella scheda Studio Experiment List.** Ad esempio, come mostrato nella schermata seguente, è possibile trovare e aprire una finestra **Descrivi componente di prova** relativa al processo di addestramento corrente. Nella scheda Debugger, puoi verificare se le regole di Debugger `vanishing_gradient()` e `loss_not_decreasing()`, stanno monitorando la sessione di addestramento in parallelo. Per istruzioni complete su come trovare i componenti di prova del lavoro di formazione nell'interfaccia utente di Studio, consulta [SageMaker Studio - View Experiments, Trials and](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks.html#studio-tasks-experiments) Trial Components.

![\[Un'immagine dell'esecuzione di un processo di formazione con le regole integrate di Debugger attivate in Studio SageMaker\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/debugger/debugger-built-in-rule-studio.png)


Esistono due modi per utilizzare le regole integrate di Debugger nell'ambiente di SageMaker intelligenza artificiale: distribuire le regole integrate man mano che vengono preparate o modificarne i parametri come si desidera. I seguenti argomenti mostrano come utilizzare le regole integrate con codici di esempio.

## Codice di esempio con regole integrate di Debugger
<a name="debugger-deploy-built-in-rules"></a>

Nell'esempio di codice riportato di seguito viene illustrato come impostare le regole integrate di Debugger utilizzando il metodo `Rule.sagemaker`. Per specificare le regole integrate da eseguire, utilizza l'operazione API `rules_configs` per richiamare le regole integrate. Per un elenco completo delle regole integrate di Debugger e dei valori dei parametri predefiniti, consulta [Elenco delle regole integrate di Debugger](debugger-built-in-rules.md).

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import Rule, CollectionConfig, rule_configs

# call built-in rules that you want to use.
built_in_rules=[ 
            Rule.sagemaker(rule_configs.vanishing_gradient())
            Rule.sagemaker(rule_configs.loss_not_decreasing())
]

# construct a SageMaker AI estimator with the Debugger built-in rules
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name='debugger-built-in-rules-demo',
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",

    # debugger-specific arguments below
    rules=built_in_rules
)
sagemaker_estimator.fit()
```

**Nota**  
Le regole integrate di Debugger vengono eseguite in parallelo al processo di addestramento. Il numero massimo di container di regole integrate per un processo di addestramento è 20. 

[Per ulteriori informazioni sulla classe di regole, i metodi e i parametri Debugger, consulta la classe [SageMaker Debugger Rule nell'](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html)SDK Amazon Python. SageMaker ](https://sagemaker.readthedocs.io/en/stable) 

Per trovare un esempio di come modificare i parametri della regola di Debugger, consulta la sezione seguente [Utilizzare le regole integrate di Debugger con le modifiche dei parametri](#debugger-deploy-modified-built-in-rules).

## Utilizzare le regole integrate di Debugger con le modifiche dei parametri
<a name="debugger-deploy-modified-built-in-rules"></a>

Il seguente esempio di codice mostra la struttura delle regole integrate per regolare i parametri. In questo esempio, `stalled_training_rule` raccoglie la raccolta di tensori `losses` da un processo di addestramento ogni 50 fasi e una fase di valutazione ogni 10 fasi. Se il processo di addestramento inizia a bloccarsi e non raccoglie i risultati del tensore per 120 secondi, `stalled_training_rule` interrompe il processo di addestramento. 

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import Rule, CollectionConfig, rule_configs

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

# construct a SageMaker AI estimator with the modified Debugger built-in rule
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name=base_job_name_prefix,
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",

    # debugger-specific arguments below
    rules=built_in_rules_modified
)
sagemaker_estimator.fit()
```