

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à.

# Configurazione di Estimator con parametri per la profilazione di base utilizzando i moduli Amazon SageMaker Debugger Python
<a name="debugger-configuration-for-profiling"></a>

[Per impostazione predefinita, la profilazione di base di SageMaker Debugger è attiva per impostazione predefinita e monitora i parametri di utilizzo delle risorse, come l'utilizzo della CPU, l'utilizzo della GPU, l'utilizzo della memoria GPU, la rete e il tempo di attesa I/O, di tutti i lavori di formazione inviati utilizzando Amazon Python SDK. SageMaker SageMaker ](https://sagemaker.readthedocs.io/en/stable) SageMaker Debugger raccoglie questi parametri di utilizzo delle risorse ogni 500 millisecondi. Non è necessario apportare ulteriori modifiche al codice, allo script di addestramento o all’utilità di avvio del processo per tenere traccia dell'utilizzo di base delle risorse. Se desideri modificare l'intervallo di raccolta delle metriche per la profilazione di base, puoi specificare parametri specifici del Debugger durante la creazione di un training SageMaker job launcher utilizzando Python SDK o (CLI). SageMaker AWS SDK per Python (Boto3) AWS Command Line Interface In questa guida, ci concentriamo su come modificare le opzioni di profilazione utilizzando l'SDK [Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). Questa pagina fornisce modelli di riferimento per la configurazione di questo oggetto di stima.

Se desideri accedere alla dashboard delle metriche sull'utilizzo delle risorse del tuo lavoro di formazione in SageMaker Studio, puoi passare al. [Esperimenti dell'interfaccia utente di Amazon SageMaker Debugger in Amazon Studio Classic SageMaker](debugger-on-studio.md)

Se desideri attivare automaticamente le regole che rilevano automaticamente i problemi di utilizzo delle risorse di sistema, puoi aggiungere il parametro `rules` nell'oggetto dello strumento di valutazione per l'attivazione delle regole.

**Importante**  
Per utilizzare le funzionalità più recenti di SageMaker Debugger, è necessario aggiornare l'SDK SageMaker Python e la libreria client. `SMDebug` Nel kernel IPython, Jupyter Notebook JupyterLab o nell'ambiente, esegui il codice seguente per installare le versioni più recenti delle librerie e riavviare il kernel.  

```
import sys
import IPython
!{sys.executable} -m pip install -U sagemaker smdebug
IPython.Application.instance().kernel.do_shutdown(True)
```

## Modello di codice per la configurazione di un oggetto SageMaker AI estimator con i moduli SageMaker Debugger Python nell'SDK AI Python SageMaker
<a name="debugger-configuration-structure-profiler"></a>

Per modificare la configurazione di base della profilazione (`profiler_config`) o aggiungere le regole del profiler (`rules`), scegli una delle schede per ottenere il modello per configurare uno stimatore AI. SageMaker Nelle pagine successive, puoi trovare ulteriori informazioni su come configurare i due parametri.

**Nota**  
I seguenti esempi di codice non sono direttamente eseguibili. Passa alle sezioni successive per scoprire come configurare ogni parametro.

------
#### [ PyTorch ]

```
# An example of constructing a SageMaker AI PyTorch estimator
import boto3
import sagemaker
from sagemaker.pytorch import PyTorch
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

session=boto3.session.Session()
region=session.region_name

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=PyTorch(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.12.0",
    py_version="py37",
    
    # SageMaker Debugger parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

------
#### [ TensorFlow ]

```
# An example of constructing a SageMaker AI TensorFlow estimator
import boto3
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

session=boto3.session.Session()
region=session.region_name

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=TensorFlow(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.8.0",
    py_version="py37",
    
    # SageMaker Debugger parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

------
#### [ MXNet ]

```
# An example of constructing a SageMaker AI MXNet estimator
import sagemaker
from sagemaker.mxnet import MXNet
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=MXNet(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.7.0",
    py_version="py37",
    
    # SageMaker Debugger parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

**Nota**  
Infatti MXNet, quando si configura il `profiler_config` parametro, è possibile configurarlo solo per il monitoraggio del sistema. Le metriche del framework di profilazione non sono supportate per. MXNet

------
#### [ XGBoost ]

```
# An example of constructing a SageMaker AI XGBoost estimator
import sagemaker
from sagemaker.xgboost.estimator import XGBoost
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=XGBoost(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.5-1",

    # Debugger-specific parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

**Nota**  
Infatti XGBoost, quando si configura il `profiler_config` parametro, è possibile configurarlo solo per il monitoraggio del sistema. Le metriche del framework di profilazione non sono supportate per. XGBoost

------
#### [ Generic estimator ]

```
# An example of constructing a SageMaker AI generic estimator using the XGBoost algorithm base image
import boto3
import sagemaker
from sagemaker.estimator import Estimator
from sagemaker import image_uris
from sagemaker.debugger import ProfilerConfig, DebuggerHookConfig, Rule, ProfilerRule, rule_configs

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

region=boto3.Session().region_name
xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.5-1")

estimator=Estimator(
    role=sagemaker.get_execution_role()
    image_uri=xgboost_container,
    base_job_name="debugger-demo",
    instance_count=1,
    instance_type="ml.m5.2xlarge",
    
    # Debugger-specific parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

------

Di seguito vengono fornite brevi descrizioni dei parametri.
+ `profiler_config`— Configura Debugger per raccogliere i parametri di sistema e i parametri del framework dal processo di addestramento e salvarli nell'URI del bucket S3 protetto o nel computer locale. Puoi impostare la frequenza o la frequenza di raccolta dei parametri di sistema. Per informazioni su come configurare il parametro `profiler_config`, consulta [Configurazione delle impostazioni per la profilazione di base dell'utilizzo delle risorse di sistema](debugger-configure-system-monitoring.md) e [Configurazione di uno strumento di stima per la profilazione del framework](debugger-configure-framework-profiling.md).
+ `rules`— Configurare questo parametro per attivare le regole integrate del SageMaker Debugger che si desidera eseguire in parallelo. Assicurati che il tuo processo di addestramento abbia accesso a questo bucket S3. Le regole si basano sui container di elaborazione e analizzano automaticamente il processo di addestramento per individuare problemi di prestazioni computazionali e operative. La regola [ProfilerReport](debugger-built-in-profiler-rules.md#profiler-report) è la regola più integrata che esegue tutte le regole di profilazione integrate e salva i risultati della profilazione come report nel tuo bucket S3 protetto. Per informazioni su come configurare il parametro `rules`, consulta [Usa le regole di profilazione integrate gestite da Amazon SageMaker Debugger](use-debugger-built-in-profiler-rules.md).

**Nota**  
Debugger salva in modo sicuro i dati di output nelle sottocartelle del bucket S3 predefinito. Ad esempio, il formato dell'URI del bucket S3 predefinito è `s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/`. Esistono tre sottocartelle create da Debugger: `debug-output`, `profiler-output` e `rule-output`. [Puoi anche recuperare il bucket URIs S3 predefinito utilizzando i metodi della classe AI estimator. SageMaker ](debugger-estimator-classmethods.md)

Consulta i seguenti argomenti per scoprire come configurare in dettaglio i parametri specifici di Debugger.

**Topics**
+ [Modello di codice per la configurazione di un oggetto SageMaker AI estimator con i moduli SageMaker Debugger Python nell'SDK AI Python SageMaker](#debugger-configuration-structure-profiler)
+ [Configurazione delle impostazioni per la profilazione di base dell'utilizzo delle risorse di sistema](debugger-configure-system-monitoring.md)
+ [Configurazione di uno strumento di stima per la profilazione del framework](debugger-configure-framework-profiling.md)
+ [Aggiornamento del monitoraggio del sistema di Debugger e della configurazione della profilazione del framework durante l'esecuzione di un processo di addestramento](debugger-update-monitoring-profiling.md)
+ [Disattivazione di Debugger](debugger-turn-off-profiling.md)