Ejemplos de cuadernos y ejemplos de código para configurar las reglas del depurador - Amazon SageMaker

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.

Ejemplos de cuadernos y ejemplos de código para configurar las reglas del depurador

En las siguientes secciones, se proporcionan cuadernos y ejemplos de código sobre cómo utilizar las reglas del depurador para supervisar los trabajos de SageMaker formación.

Ejemplos de reglas integradas en el depurador: cuadernos de ejemplo.

Los siguientes cuadernos de ejemplo muestran cómo utilizar las reglas integradas del Debugger al ejecutar tareas de formación con Amazon: SageMaker

Mientras utilizas los cuadernos de ejemplo en SageMaker Studio, encontrarás la versión de prueba del trabajo de formación creada en la pestaña Lista de experimentos de Studio. Por ejemplo, como se muestra en la siguiente captura de pantalla, puede buscar y abrir la ventana Describir componente de prueba de su trabajo de entrenamiento actual. En la pestaña Depurador, puede comprobar si las reglas de depurador, vanishing_gradient() y loss_not_decreasing(), están monitorizando la sesión de entrenamiento en paralelo. Para obtener instrucciones completas sobre cómo encontrar los componentes de prueba de tu trabajo de formación en la interfaz de usuario de Studio, consulta SageMaker Studio: View Experiments, Trials y Trial Components.

Imagen de la ejecución de un trabajo de formación con las reglas integradas de Debugger activadas en Studio SageMaker

Hay dos formas de utilizar las reglas integradas del Debugger en el SageMaker entorno: implementar las reglas integradas a medida que están preparadas o ajustar sus parámetros como desee. En los temas siguientes se muestra cómo utilizar las reglas integradas con códigos de ejemplo.

Código de ejemplo de reglas integradas del depurador

El siguiente ejemplo de código muestra cómo ejecutar las reglas integradas del depurador mediante el método Rule.sagemaker. Para especificar las reglas integradas que desea ejecutar, utilice la rules_configs API operación para llamar a las reglas integradas. Para obtener una lista completa de las reglas integradas del depurador y los valores de los parámetros predeterminados, consulte Lista de reglas integradas del depurador.

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

Las reglas integradas del depurador se ejecutan en paralelo con su trabajo de entrenamiento. El número máximo de contenedores de reglas integradas para un trabajo de entrenamiento es 20.

Para obtener más información sobre la clase de reglas, los métodos y los parámetros del depurador, consulte la clase Regla del SageMaker depurador en Amazon Python SageMaker . SDK

Para ver un ejemplo de cómo ajustar los parámetros de la regla del depurador, consulte la siguiente sección Utilice las reglas integradas del Debugger con modificaciones de parámetros.

Utilice las reglas integradas del Debugger con modificaciones de parámetros

El siguiente ejemplo de código muestra la estructura de las reglas integradas para ajustar los parámetros. En este ejemplo, el stalled_training_rule recopila la colección de tensores de losses de un trabajo de entrenamiento cada 50 pasos y de una etapa de evaluación cada 10 pasos. Si el proceso de entrenamiento comienza a estancarse y no recopila las salidas de los tensores durante 120 segundos, stalled_training_rule detiene el trabajo de entrenamiento.

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 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()