

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 l’hook Debugger
<a name="debugger-save-tensors"></a>

Le sezioni seguenti forniscono notebook ed esempi di codice su come utilizzare l’hook Debugger per salvare, accedere e visualizzare i tensori di output.

**Topics**
+ [Notebook di esempio per la visualizzazione dei tensori](#debugger-tensor-visualization-notebooks)
+ [Salvare i tensori utilizzando le raccolte integrate di Debugger](#debugger-save-built-in-collections)
+ [Salvare i tensori modificando le raccolte integrate di Debugger](#debugger-save-modified-built-in-collections)
+ [Salvare i tensori utilizzando le raccolte personalizzate di Debugger](#debugger-save-custom-collections)

## Notebook di esempio per la visualizzazione dei tensori
<a name="debugger-tensor-visualization-notebooks"></a>

I seguenti due esempi di notebook mostrano l'uso avanzato di Amazon SageMaker Debugger per la visualizzazione dei tensori. Debugger offre una visione trasparente dell'addestramento dei modelli di deep learning.
+ [Analisi interattiva dei tensori in Studio Notebook con SageMaker MXNet](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mnist_tensor_analysis)

  Questo esempio di notebook mostra come visualizzare i tensori salvati utilizzando Amazon Debugger. SageMaker Visualizzando i tensori, è possibile vedere come cambiano i valori del tensore durante l'addestramento degli algoritmi di deep learning. Questo notebook include un corso di formazione con una rete neurale mal configurata e utilizza Amazon SageMaker Debugger per aggregare e analizzare tensori, inclusi gradienti, output di attivazione e pesi. Ad esempio, il grafico seguente mostra la distribuzione dei gradienti di un livello convoluzionale che soffre di un problema di gradiente di fuga.  
![\[Un grafico che traccia la distribuzione dei gradienti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/debugger/debugger-vanishing-gradient.gif)

  questo notebook illustra anche come una buona impostazione iniziale dell'iperparametro migliora il processo di addestramento generando gli stessi grafici di distribuzione del tensore. 
+ [Visualizzazione e debug dei tensori da Model Training MXNet ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mnist_tensor_plot)

   Questo esempio di notebook mostra come salvare e visualizzare i tensori da un processo di formazione MXNet sul modello Gluon utilizzando Amazon Debugger. SageMaker Illustra che Debugger è impostato per salvare tutti i tensori in un bucket Amazon S3 e recupera gli output di attivazione per la visualizzazione. ReLu La figura seguente mostra una visualizzazione tridimensionale degli output di attivazione. ReLu La combinazione di colori è impostata affinché il blu indichi un valore vicino a 0 e il giallo dei valori vicini a 1.   
![\[Visualizzazione degli output di attivazione ReLU\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/tensorplot.gif)

  In questo notebook, la `TensorPlot` classe importata da `tensor_plot.py` è progettata per tracciare reti neurali convoluzionali (CNNs) che utilizzano immagini bidimensionali come input. Lo script `tensor_plot.py` fornito con il notebook recupera i tensori utilizzando Debugger e visualizza la CNN. È possibile eseguire questo notebook su SageMaker Studio per riprodurre la visualizzazione del tensore e implementare il proprio modello di rete neurale convoluzionale. 
+ [Analisi tensoriale in tempo reale in un notebook con SageMaker MXNet](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mxnet_realtime_analysis)

  Questo esempio ti guida nell'installazione dei componenti necessari per l'emissione di tensori in un processo di SageMaker formazione di Amazon e nell'utilizzo delle operazioni dell'API Debugger per accedere a tali tensori durante l'esecuzione della formazione. Un modello CNN gluon viene addestrato sul set di dati Fashion MNIST. Mentre il processo è in esecuzione, vedrai come Debugger recupera gli output di attivazione del primo livello convoluzionale da ciascuno dei 100 batch e li visualizza. Inoltre, questo ti mostrerà come visualizzare i pesi una volta completato il processo.

## Salvare i tensori utilizzando le raccolte integrate di Debugger
<a name="debugger-save-built-in-collections"></a>

Puoi utilizzare raccolte integrate di tensori utilizzando l'API `CollectionConfig` e salvarle utilizzando l'API `DebuggerHookConfig`. L'esempio seguente mostra come utilizzare le impostazioni predefinite delle configurazioni degli hook di Debugger per costruire uno stimatore AI. SageMaker TensorFlow Puoi utilizzarlo anche per, e estimatori. MXNet PyTorch XGBoost

**Nota**  
Nel seguente codice di esempio, il parametro `s3_output_path` per `DebuggerHookConfig` è facoltativo. Se non lo specificate, Debugger salva i tensori in`s3://<output_path>/debug-output/`, dove `<output_path>` è il percorso di output predefinito dei lavori di formazione. SageMaker Esempio:  

```
"s3://sagemaker-us-east-1-111122223333/sagemaker-debugger-training-YYYY-MM-DD-HH-MM-SS-123/debug-output"
```

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import DebuggerHookConfig, CollectionConfig

# use Debugger CollectionConfig to call built-in collections
collection_configs=[
        CollectionConfig(name="weights"),
        CollectionConfig(name="gradients"),
        CollectionConfig(name="losses"),
        CollectionConfig(name="biases")
    ]

# configure Debugger hook
# set a target S3 bucket as you want
sagemaker_session=sagemaker.Session()
BUCKET_NAME=sagemaker_session.default_bucket()
LOCATION_IN_BUCKET='debugger-built-in-collections-hook'

hook_config=DebuggerHookConfig(
    s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'.
                    format(BUCKET_NAME=BUCKET_NAME, 
                           LOCATION_IN_BUCKET=LOCATION_IN_BUCKET),
    collection_configs=collection_configs
)

# construct a SageMaker TensorFlow estimator
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name='debugger-demo-job',
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",
    
    # debugger-specific hook argument below
    debugger_hook_config=hook_config
)

sagemaker_estimator.fit()
```

Per visualizzare un elenco delle raccolte integrate di Debugger, consulta [Raccolte integrate di Debugger](https://github.com/awslabs/sagemaker-debugger/blob/master/docs/api.md#collection).

## Salvare i tensori modificando le raccolte integrate di Debugger
<a name="debugger-save-modified-built-in-collections"></a>

È possibile modificare le raccolte integrate di Debugger utilizzando l'operazione API `CollectionConfig`. L'esempio seguente mostra come modificare la `losses` raccolta integrata e costruire uno stimatore AI. SageMaker TensorFlow Puoi anche usarlo per MXNet, PyTorch e stimatori. XGBoost 

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import DebuggerHookConfig, CollectionConfig

# use Debugger CollectionConfig to call and modify built-in collections
collection_configs=[
    CollectionConfig(
                name="losses", 
                parameters={"save_interval": "50"})]

# configure Debugger hook
# set a target S3 bucket as you want
sagemaker_session=sagemaker.Session()
BUCKET_NAME=sagemaker_session.default_bucket()
LOCATION_IN_BUCKET='debugger-modified-collections-hook'

hook_config=DebuggerHookConfig(
    s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'.
                    format(BUCKET_NAME=BUCKET_NAME, 
                           LOCATION_IN_BUCKET=LOCATION_IN_BUCKET),
    collection_configs=collection_configs
)

# construct a SageMaker TensorFlow estimator
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name='debugger-demo-job',
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",
    
    # debugger-specific hook argument below
    debugger_hook_config=hook_config
)

sagemaker_estimator.fit()
```

Per un elenco completo dei `CollectionConfig` parametri, consulta [ CollectionConfig Debugger](https://github.com/awslabs/sagemaker-debugger/blob/master/docs/api.md#configuring-collection-using-sagemaker-python-sdk) API.

## Salvare i tensori utilizzando le raccolte personalizzate di Debugger
<a name="debugger-save-custom-collections"></a>

È inoltre possibile scegliere di salvare una quantità ridotta di tensori anziché i tensori completi, ad esempio, se si desidera ridurre la quantità di dati salvati nel bucket Amazon S3. Nell'esempio seguente viene illustrato come personalizzare la configurazione dell'hook di Debugger per specificare i tensori di destinazione che si desidera salvare. Puoi usarlo per TensorFlow, MXNet, e stimatori PyTorch. XGBoost 

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import DebuggerHookConfig, CollectionConfig

# use Debugger CollectionConfig to create a custom collection
collection_configs=[
        CollectionConfig(
            name="custom_activations_collection",
            parameters={
                "include_regex": "relu|tanh", # Required
                "reductions": "mean,variance,max,abs_mean,abs_variance,abs_max"
            })
    ]
    
# configure Debugger hook
# set a target S3 bucket as you want
sagemaker_session=sagemaker.Session()
BUCKET_NAME=sagemaker_session.default_bucket()
LOCATION_IN_BUCKET='debugger-custom-collections-hook'

hook_config=DebuggerHookConfig(
    s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'.
                    format(BUCKET_NAME=BUCKET_NAME, 
                           LOCATION_IN_BUCKET=LOCATION_IN_BUCKET),
    collection_configs=collection_configs
)

# construct a SageMaker TensorFlow estimator
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name='debugger-demo-job',
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",
    
    # debugger-specific hook argument below
    debugger_hook_config=hook_config
)

sagemaker_estimator.fit()
```

Per un elenco completo dei `CollectionConfig` parametri, consulta [ CollectionConfigDebugger](https://github.com/awslabs/sagemaker-debugger/blob/master/docs/api.md#configuring-collection-using-sagemaker-python-sdk).