

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.

# Lance trabajos de formación con Debugger utilizando el SDK de SageMaker Python
<a name="debugger-configuration-for-debugging"></a>

Para configurar un estimador de SageMaker IA con SageMaker Debugger, utilice el [SDK de Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable) y especifique los parámetros específicos del Debugger. Para aprovechar al máximo la funcionalidad de depuración, debe configurar tres parámetros `debugger_hook_config`, `tensorboard_output_config` y `rules`.

**importante**  
Antes de crear y ejecutar el método de ajuste del estimador para lanzar un trabajo de entrenamiento, asegúrese de adaptar el script de entrenamiento siguiendo las instrucciones que se indican en [Adaptación del script de entrenamiento para registrar un enlace](debugger-modify-script.md).

## Creación de un estimador de IA con parámetros específicos del depurador SageMaker
<a name="debugger-configuration-structure"></a>

Los ejemplos de código de esta sección muestran cómo construir un estimador de SageMaker IA con los parámetros específicos del Debugger.

**nota**  
Los siguientes ejemplos de código son plantillas para construir los estimadores del marco de SageMaker IA y no se pueden ejecutar directamente. Debe continuar con las siguientes secciones y configurar los parámetros específicos del depurador.

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

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

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

debugger_hook_config=DebuggerHookConfig(...)
rules=[
    Rule.sagemaker(rule_configs.built_in_rule())
]

estimator=PyTorch(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.12.0",
    py_version="py37",
    
    # Debugger-specific parameters
    debugger_hook_config=debugger_hook_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 CollectionConfig, DebuggerHookConfig, Rule, rule_configs

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

debugger_hook_config=DebuggerHookConfig(...)
rules=[
    Rule.sagemaker(rule_configs.built_in_rule()),
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=TensorFlow(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",
    
    # Debugger-specific parameters
    debugger_hook_config=debugger_hook_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 CollectionConfig, DebuggerHookConfig, Rule, rule_configs

debugger_hook_config=DebuggerHookConfig(...)
rules=[
    Rule.sagemaker(rule_configs.built_in_rule())
]

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

estimator.fit(wait=False)
```

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

```
# An example of constructing a SageMaker AI XGBoost estimator
import sagemaker
from sagemaker.xgboost.estimator import XGBoost
from sagemaker.debugger import CollectionConfig, DebuggerHookConfig, Rule, rule_configs

debugger_hook_config=DebuggerHookConfig(...)
rules=[
    Rule.sagemaker(rule_configs.built_in_rule())
]

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

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

estimator.fit(wait=False)
```

------
#### [ 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 CollectionConfig, DebuggerHookConfig, Rule, rule_configs

debugger_hook_config=DebuggerHookConfig(...)
rules=[
    Rule.sagemaker(rule_configs.built_in_rule())
]

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
    debugger_hook_config=debugger_hook_config,
    rules=rules
)

estimator.fit(wait=False)
```

------

Configure los siguientes parámetros para activar SageMaker Debugger:
+ `debugger_hook_config`(un objeto de [https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DebuggerHookConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DebuggerHookConfig)): necesario para activar el gancho en el guion de entrenamiento adaptado durante el entrenamiento[Adaptación del script de entrenamiento para registrar un enlace](debugger-modify-script.md), configurar el lanzador de SageMaker entrenamiento (estimador) para recopilar los tensores de salida del trabajo de entrenamiento y guardar los tensores en un depósito S3 protegido o en una máquina local. Si quiere aprender a configurar el parámetro `debugger_hook_config`, consulte [Configurar SageMaker Debugger para guardar los tensores](debugger-configure-hook.md).
+ `rules`(una lista de [https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.Rule](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.Rule)objetos): configure este parámetro para activar las reglas integradas del SageMaker Debugger que desee ejecutar en tiempo real. Las reglas integradas son lógicas que depuran automáticamente el progreso del entrenamiento del modelo y detectan los problemas de entrenamiento mediante el análisis de los tensores de salida guardados en el depósito protegido de S3. Si quiere aprender a configurar el parámetro `rules`, consulte [Cómo configurar reglas integradas del depurador](use-debugger-built-in-rules.md). Para obtener una lista completa de las reglas integradas para depurar los tensores de salida, consulte [Regla de depurador](debugger-built-in-rules.md#debugger-built-in-rules-Rule). Si quiere crear su propia lógica para detectar cualquier problema de entrenamiento, consulte [Creación de reglas personalizadas mediante la biblioteca cliente del depurador](debugger-custom-rules.md).
**nota**  
Las reglas integradas solo están disponibles a través de instancias SageMaker de entrenamiento. No puede utilizarlas en modo local.
+ `tensorboard_output_config`(un objeto de [https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.TensorBoardOutputConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.TensorBoardOutputConfig)): configure SageMaker Debugger para que recopile los tensores de salida en un formato TensorBoard compatible y los guarde en la ruta de salida de S3 especificada en el objeto. `TensorBoardOutputConfig` Para obtener más información, consulte [Visualice los tensores de salida de Amazon SageMaker Debugger en TensorBoard](debugger-enable-tensorboard-summaries.md).
**nota**  
El `tensorboard_output_config` debe configurarse con el parámetro `debugger_hook_config`, que también requiere que adapte el script de entrenamiento añadiendo el enlace `sagemaker-debugger`.

**nota**  
SageMaker El depurador guarda de forma segura los tensores de salida en las subcarpetas del bucket de S3. Por ejemplo, el formato del URI del bucket de S3 predeterminado de su cuenta es `s3://amzn-s3-demo-bucket-sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/`. SageMaker Debugger creó dos subcarpetas:, y. `debug-output` `rule-output` Si añade el parámetro `tensorboard_output_config`, también encontrará la carpeta `tensorboard-output`.

Consulte los siguientes temas para encontrar más ejemplos de cómo configurar en detalle los parámetros específicos del depurador.

**Topics**
+ [Creación de un estimador de IA con parámetros específicos del depurador SageMaker](#debugger-configuration-structure)
+ [Configurar SageMaker Debugger para guardar los tensores](debugger-configure-hook.md)
+ [Cómo configurar reglas integradas del depurador](use-debugger-built-in-rules.md)
+ [Desactivar el depurador](debugger-turn-off.md)
+ [Métodos útiles de SageMaker clases de estimadores de IA para Debugger](debugger-estimator-classmethods.md)