

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración del estimador con parámetros para la creación de perfiles básicos mediante los módulos Python de Amazon Debugger SageMaker
<a name="debugger-configuration-for-profiling"></a>

De forma predeterminada, la creación de perfiles básicos de SageMaker Debugger está activada de forma predeterminada y supervisa las métricas de utilización de los recursos, como la utilización de la CPU, la utilización de la GPU, la utilización de la memoria de la GPU, la red y el tiempo de I/O espera, de todos los trabajos de SageMaker formación enviados con el SDK de Amazon [ SageMaker Python](https://sagemaker.readthedocs.io/en/stable). SageMaker Debugger recopila estas métricas de uso de recursos cada 500 milisegundos. No necesita realizar ningún cambio adicional en el código, el script de entrenamiento o el iniciador de tareas para realizar un seguimiento del uso de los recursos básicos. Si desea cambiar el intervalo de recopilación de métricas para la creación de perfiles básicos, puede especificar Debugger-specific los parámetros al crear un iniciador de tareas de SageMaker entrenamiento mediante el SDK de SageMaker Python o ( AWS Command Line Interface CLI). AWS SDK para Python (Boto3) En esta guía, nos centramos en cómo cambiar las opciones de creación de perfiles mediante el [SDK de Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). Esta página proporciona plantillas de referencia para configurar este objeto estimador.

Si quieres acceder al panel de métricas de uso de los recursos de tu trabajo de formación en SageMaker Studio, puedes ir directamente al[Interfaz de usuario de Amazon SageMaker Debugger en Amazon SageMaker Studio Classic Experiments](debugger-on-studio.md).

Si desea activar las reglas que detectan automáticamente los problemas de utilización de los recursos del sistema, puede añadir el parámetro `rules` en el objeto estimador para activar las reglas.

**importante**  
Para utilizar las últimas funciones del SageMaker Debugger, debe actualizar el SDK de SageMaker Python y la biblioteca `SMDebug` cliente. En su núcleo de iPython, Jupyter Notebook o JupyterLab entorno, ejecute el siguiente código para instalar las últimas versiones de las bibliotecas y reiniciar el núcleo.  

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

## Plantilla de código para configurar un objeto estimador de SageMaker IA con los módulos SageMaker Debugger Python del SDK de SageMaker AI Python
<a name="debugger-configuration-structure-profiler"></a>

Para ajustar la configuración básica de creación de perfiles (`profiler_config`) o añadir las reglas del generador de perfiles (`rules`), seleccione una de las pestañas para obtener la plantilla para configurar un estimador de IA. SageMaker En las siguientes páginas encontrará más información acerca de cómo configurar los dos parámetros.

**nota**  
Los siguientes ejemplos de código no se pueden ejecutar directamente. Continúe con las siguientes secciones para aprender a configurar cada parámetro.

------
#### [ 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**  
En el caso de MXNet, al configurar el parámetro `profiler_config`, solo puede configurarlo para la monitorización del sistema. Las métricas del marco de perfiles no son compatibles con 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**  
En el caso de XGBoost, al configurar el parámetro `profiler_config`, solo puede configurarlo para monitorizar el sistema. Las métricas del marco de creación de perfiles no son compatibles con 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)
```

------

A continuación, se proporcionan breves descripciones de los parámetros.
+ `profiler_config`: configure el depurador para recopilar las métricas del sistema y las métricas del marco de su trabajo de entrenamiento y guardarlas en el URI de su bucket de S3 protegido o en su máquina local. Puede establecer con qué frecuencia o con qué flexibilidad se recopilan las métricas del sistema. Para obtener información sobre cómo configurar el parámetro `profiler_config`, consulte [Configurar los ajustes para la creación de perfiles básicos de la utilización de los recursos del sistema](debugger-configure-system-monitoring.md) y [Configuración del estimador para la creación de perfiles del marco](debugger-configure-framework-profiling.md).
+ `rules`— Configure este parámetro para activar las reglas integradas del SageMaker Debugger que desee ejecutar en paralelo. Asegúrese de que su trabajo de entrenamiento tenga acceso a este bucket de S3. Las reglas se basan en contenedores de procesamiento y analizan automáticamente su trabajo de entrenamiento para detectar problemas de rendimiento computacional y operativo. La regla [ProfilerReport](debugger-built-in-profiler-rules.md#profiler-report) es la regla más integrada que ejecuta todas las reglas de creación de perfiles integradas y guarda los resultados de la creación de perfiles como un informe en su bucket protegido de S3. Si quiere aprender a configurar el parámetro `rules`, consulte [Utilice reglas de creación de perfiles integradas administradas por Amazon Debugger SageMaker](use-debugger-built-in-profiler-rules.md).

**nota**  
El depurador guarda de forma segura los datos de salida en subcarpetas del bucket de S3 predeterminado. Por ejemplo, el formato del URI predeterminado del bucket de S3 es `s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/`. El creador crea tres subcarpetas: `debug-output`, `profiler-output` y `rule-output`. También puede recuperar los URI predeterminados del bucket de S3 mediante los métodos de la clase [SageMaker AI Estimator](debugger-estimator-classmethods.md).

Consulte los siguientes temas para obtener información detallada sobre cómo configurar los Debugger-specific parámetros.

**Topics**
+ [Plantilla de código para configurar un objeto estimador de SageMaker IA con los módulos SageMaker Debugger Python del SDK de SageMaker AI Python](#debugger-configuration-structure-profiler)
+ [Configurar los ajustes para la creación de perfiles básicos de la utilización de los recursos del sistema](debugger-configure-system-monitoring.md)
+ [Configuración del estimador para la creación de perfiles del marco](debugger-configure-framework-profiling.md)
+ [Actualización de la configuración de monitorización del sistema del depurador y creación de perfiles del marco mientras se ejecuta un trabajo de entrenamiento](debugger-update-monitoring-profiling.md)
+ [Desactivar el depurador](debugger-turn-off-profiling.md)