Lista de reglas integradas 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.

Lista de reglas integradas del depurador

Utilice las reglas integradas del Debugger que proporciona Amazon SageMaker Debugger y analice las métricas y los tensores recopilados durante el entrenamiento de sus modelos. Las reglas integradas del depurador monitorizan diversas condiciones comunes que son fundamentales para el éxito de un trabajo de entrenamiento. Puede invocar las reglas integradas mediante el SDK de Amazon SageMaker Python o las operaciones de SageMaker API de bajo nivel. El uso de reglas integradas no conlleva ningún coste adicional. Para obtener más información sobre la facturación, consulta la página de SageMaker precios de Amazon.

nota

El número máximo de reglas integradas que se pueden vincularse a un trabajo de entrenamiento es de 20. SageMaker Debugger gestiona completamente las reglas integradas y analiza tu trabajo de entrenamiento de forma sincrónica.

importante

Para utilizar las nuevas funciones del depurador, debe actualizar el SDK de SageMaker Python y la biblioteca cliente SMDebug. En su núcleo de iPython, bloc de notas de Jupyter 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)

Regla de depurador

Las siguientes reglas son las reglas integradas del depurador que pueden llamarse mediante el classmethod Rule.sagemaker.

Depurador: reglas integradas para generar informes de entrenamiento
Ámbito de validez Reglas integradas
Informe de formación para el trabajo de formación de SageMaker XGBoost
Reglas integradas en el depurador para depurar los datos de entrenamiento del modelo (tensores de salida)
Ámbito de validez Reglas integradas
Marcos de aprendizaje profundo (TensorFlow, MXNet y) PyTorch
Marcos de aprendizaje profundo (TensorFlowMXNet y PyTorch) y el algoritmo XGBoost
Aplicaciones de aprendizaje profundo
Algoritmo XGBoost

Para usar las reglas integradas con los valores de los parámetros predeterminados, utilice el siguiente formato de configuración:

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ Rule.sagemaker(rule_configs.built_in_rule_name_1()), Rule.sagemaker(rule_configs.built_in_rule_name_2()), ... Rule.sagemaker(rule_configs.built_in_rule_name_n()) ]

Para usar las reglas integradas con la personalización de los valores de los parámetros, utilice el siguiente formato de configuración:

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ Rule.sagemaker( base_config=rule_configs.built_in_rule_name(), rule_parameters={ "key": "value" } collections_to_save=[ CollectionConfig( name="tensor_collection_name", parameters={ "key": "value" } ) ] ) ]

Para encontrar las claves disponibles del parámetro rule_parameters, consulte las tablas de descripción de los parámetros.

Se proporcionan ejemplos de códigos de configuración de reglas para cada regla integrada a continuación de las tablas de descripción de parámetros.

CreateXgboostInforme

La CreateXgboostReport regla recopila los tensores de salida de un trabajo de entrenamiento de XGBoost y genera automáticamente un informe de entrenamiento completo. Puede descargar un informe completo de creación de perfiles mientras se esté realizando un trabajo de entrenamiento o una vez finalizado el trabajo de entrenamiento, y comprobar el progreso del entrenamiento o el resultado final de la misma. La CreateXgboostReport regla recopila los siguientes tensores de salida de forma predeterminada:

  • hyperparameters: se guarda en el primer paso

  • metrics: ahorra pérdidas y precisión cada 5 pasos

  • feature_importance: se guarda cada 5 pasos

  • predictions: se guarda cada 5 pasos

  • labels: se guarda cada 5 pasos

Descripciones de los parámetros de la regla CreateXgboostReport
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

rules=[ Rule.sagemaker( rule_configs.create_xgboost_report() ) ]

DeadRelu

Esta regla detecta cuando el porcentaje de funciones de activación de unidad lineal rectificada (ReLU) en una prueba se considera muerto porque su actividad de activación ha caído por debajo de un determinado umbral. Si el porcentaje de ReLU inactivas en una capa es mayor que el valor threshold_layer de ReLU inactivas, la regla devuelve True.

Descripciones de los parámetros de la regla DeadRelu
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: ".*relu_output"

threshold_inactivity

Define un nivel de actividad por debajo del cual se considera que una ReLU está muerta. Una ReLU podría estar activo al comienzo de una prueba y luego morir lentamente durante el proceso de entrenamiento. Si la ReLU está activa menos de threshold_inactivity, se considera que está muerta.

Opcional

Valores válidos: número flotante

Valores predeterminados: 1.0 (en porcentaje)

threshold_layer

Devuelve True si el porcentaje de ReLU inactivas en una capa es mayor que threshold_layer.

Devuelve False si el porcentaje de ReLU inactivas en una capa es menor que threshold_layer.

Opcional

Valores válidos: número flotante

Valores predeterminados: 50.0 (en porcentaje)

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.dead_relu(), rule_parameters={ "tensor_regex": ".*relu_output|.*ReLU_output", "threshold_inactivity": "1.0", "threshold_layer": "50.0" }, collections_to_save=[ CollectionConfig( name="custom_relu_collection", parameters={ "include_regex: ".*relu_output|.*ReLU_output", "save_interval": "500" } ) ] ) ]

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Esta regla no está disponible para el algoritmo XGBoost.

ExplodingTensor

Esta regla detecta si los tensores emitidos durante el entrenamiento tienen valores no finitos, infinitos o NaN (no un número). Si se detecta un valor no finito, la regla devuelve True.

Descripciones de los parámetros de la regla ExplodingTensor
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: string

Valor predeterminado: None

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: string

Valor predeterminado: None

only_nan

True para monitorizar los tensores base_trial solo para valores NaN y no para infinito.

False para tratar tanto NaN como infinito como valores de explosión y para monitorizar ambos.

Opcional

Valor predeterminado: False

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.exploding_tensor(), rule_parameters={ "tensor_regex": ".*gradient", "only_nan": "False" }, collections_to_save=[ CollectionConfig( name="gradients", parameters={ "save_interval": "500" } ) ] ) ]

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Esta regla no está disponible para el algoritmo XGBoost.

PoorWeightInicialización

Esta regla detecta si los parámetros del modelo se han inicializado mal.

Una buena inicialización rompe la simetría de los pesos y gradientes en una red neuronal y mantiene variaciones de activación proporcionales a través de las capas. De lo contrario, la red neuronal no aprende eficazmente. Inicializadores como Xavier pretenden mantener la varianza constante a través de las activaciones, lo cual es especialmente relevante para entrenar redes neuronales muy profundas. Una inicialización demasiado pequeña puede dar lugar a la desaparición de gradientes. Una inicialización demasiado grande puede dar lugar a la explosión de gradientes. Esta regla comprueba la variación de las entradas de activación a través de las capas, la distribución de gradientes y la convergencia de pérdidas para los pasos iniciales para determinar si una red neuronal se ha inicializado mal.

Descripciones de los parámetros de la regla PoorWeightInitialization
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

activation_inputs_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: string

Valor predeterminado: ".*relu_input"

threshold

Si la relación entre la varianza mínima y máxima de pesos por capa supera threshold en un paso, la regla vuelve True.

Opcional

Valores válidos: número flotante

Valor predeterminado: 10.0

distribution_range

Si la diferencia mínima entre los percentiles 5.º y 95.º de la distribución de gradiente es menor que la distribution_range, la regla devuelve True.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.001

patience

El número de pasos que esperar hasta que se considere que la pérdida ya no está disminuyendo.

Opcional

Valores válidos: número entero

Valor predeterminado: 5

steps

El número de pasos que analiza esta regla. Por lo general, solo tiene que verificar las primeras iteraciones.

Opcional

Valores válidos: número flotante

Valor predeterminado: 10

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.poor_weight_initialization(), rule_parameters={ "activation_inputs_regex": ".*relu_input|.*ReLU_input", "threshold": "10.0", "distribution_range": "0.001", "patience": "5", "steps": "10" }, collections_to_save=[ CollectionConfig( name="custom_relu_collection", parameters={ "include_regex": ".*relu_input|.*ReLU_input", "save_interval": "500" } ) ] ) ]

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Esta regla no está disponible para el algoritmo XGBoost.

SaturatedActivation

Esta regla detecta si las capas de activación tanh y sigmoide se están saturando. Una capa de activación se satura cuando la entrada de la capa está cerca del máximo o mínimo de la función de activación. El mínimo y máximo de las funciones de activación tanh y sigmoide se definen por sus respectivos valores min_threshold y max_thresholds. Si la actividad de un nodo cae por debajo del porcentaje threshold_inactivity, se considera saturado. Si más de un porcentaje threshold_layer de los nodos están saturados, la regla devuelve True.

Descripciones de los parámetros de la regla SaturatedActivation
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: string

Valor predeterminado: ".*tanh_input|.*sigmoid_input".

threshold_tanh_min

Los umbrales mínimo y máximo que definen los extremos de la entrada para una función de activación tanh, definidos como: (min_threshold, max_threshold). Los valores predeterminados se determinan en función de un umbral de gradiente de desvanecimiento de 0,0000001.

Opcional

Valores válidos: número flotante

Valores predeterminados: -9.4999

threshold_tanh_max

Los umbrales mínimo y máximo que definen los extremos de la entrada para una función de activación tanh, definidos como: (min_threshold, max_threshold). Los valores predeterminados se determinan en función de un umbral de gradiente de desvanecimiento de 0,0000001.

Opcional

Valores válidos: número flotante

Valores predeterminados: 9.4999

threshold_sigmoid_min

Los umbrales mínimo y máximo que definen los extremos de la entrada para una función de activación sigmoide, definidos como: (min_threshold, max_threshold). Los valores predeterminados se determinan en función de un umbral de gradiente de desvanecimiento de 0,0000001.

Opcional

Valores válidos: número flotante

Valores predeterminados: -23

threshold_sigmoid_max

Los umbrales mínimo y máximo que definen los extremos de la entrada para una función de activación sigmoide, definidos como: (min_threshold, max_threshold). Los valores predeterminados se determinan en función de un umbral de gradiente de desvanecimiento de 0,0000001.

Opcional

Valores válidos: número flotante

Valores predeterminados: 16.99999

threshold_inactivity

Porcentaje de inactividad por debajo del cual se considera que la capa de activación está saturada. La activación podría estar activa al comienzo de una prueba y luego volverse lentamente menos activa durante el proceso de entrenamiento.

Opcional

Valores válidos: número flotante

Valores predeterminados: 1.0

threshold_layer

Devuelve True si el número de activaciones saturadas en una capa es mayor que el porcentaje threshold_layer.

Devuelve False si el número de activaciones saturadas en una capa es menor que el porcentaje threshold_layer.

Opcional

Valores válidos: número flotante

Valores predeterminados: 50.0

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.saturated_activation(), rule_parameters={ "tensor_regex": ".*tanh_input|.*sigmoid_input", "threshold_tanh_min": "-9.4999", "threshold_tanh_max": "9.4999", "threshold_sigmoid_min": "-23", "threshold_sigmoid_max": "16.99999", "threshold_inactivity": "1.0", "threshold_layer": "50.0" }, collections_to_save=[ CollectionConfig( name="custom_activations_collection", parameters={ "include_regex": ".*tanh_input|.*sigmoid_input" "save_interval": "500" } ) ] ) ]

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Esta regla no está disponible para el algoritmo XGBoost.

VanishingGradient

Esta regla detecta si los gradientes de una prueba se vuelven extremadamente pequeños o caen a una magnitud cero. Si la media de los valores absolutos de los gradientes cae por debajo de un threshold especificado, la regla devuelve True.

Descripciones de los parámetros de la regla VanishingGradient
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

threshold Valor en el que se determina que el gradiente está desapareciendo.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.0000001.

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.vanishing_gradient(), rule_parameters={ "threshold": "0.0000001" }, collections_to_save=[ CollectionConfig( name="gradients", parameters={ "save_interval": "500" } ) ] ) ]

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Esta regla no está disponible para el algoritmo XGBoost.

WeightUpdateProporción

Esta regla hace un seguimiento de la proporción de actualizaciones a ponderaciones durante el entrenamiento y detecta si esa proporción es demasiado grande o demasiado pequeña. Si la proporción de actualizaciones a ponderaciones es mayor que large_threshold value o si esta proporción es menor que small_threshold, la regla devuelve True.

Las condiciones para el entrenamiento son mejores cuando las actualizaciones son proporcionales a los gradientes. Las actualizaciones excesivamente grandes pueden alejar las ponderaciones de los valores óptimos y las actualizaciones muy pequeñas dan lugar a una convergencia muy lenta. Esta regla requiere que haya pesos disponibles para dos pasos de entrenamiento y train.save_interval debe establecerse en num_steps.

Descripciones de los parámetros de la regla WeightUpdateRatio
Nombre del parámetro, Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

num_steps

El número de pasos en los que comprueba la regla para determinar si el tensor ha cambiado.

El número de pasos a través de los cuales desea comparar las relaciones de ponderación. Si no transfiere ningún valor, la regla se ejecuta de forma predeterminada frente al paso actual y al paso guardado inmediatamente anterior. Si anula el valor predeterminado transfiriendo un valor para este parámetro, la comparación se realiza entre las ponderaciones en el paso s y en un paso que es >= s - num_steps.

Opcional

Valores válidos: número entero

Valor predeterminado: None

large_threshold

El valor máximo que puede tomar la proporción de actualizaciones a ponderaciones antes de la regla devuelve True.

Opcional

Valores válidos: número flotante

Valor predeterminado: 10.0

small_threshold

El valor mínimo que puede tomar la proporción de actualizaciones a ponderaciones, por debajo del cual la regla devuelve True.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.00000001

epsilon

Una pequeña constante utilizada para garantizar que el depurador no se divide por cero al calcular la proporción de actualizaciones a ponderaciones.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.000000001

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.weight_update_ratio(), rule_parameters={ "num_steps": "100", "large_threshold": "10.0", "small_threshold": "0.00000001", "epsilon": "0.000000001" }, collections_to_save=[ CollectionConfig( name="weights", parameters={ "train.save_interval": "100" } ) ] ) ]

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Esta regla no está disponible para el algoritmo XGBoost.

AllZero

Esta regla detecta si todos o un porcentaje especificado de los valores del tensor son cero.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost. Debe especificar el parámetro collection_names o tensor_regex. Si se especifican ambos parámetros, la regla inspecciona la unión de tensores de ambos conjuntos.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla AllZero
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: None

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: None

threshold

Especifica el porcentaje de valores en el tensor que debe ser cero para que se invoque esta regla.

Opcional

Valores válidos: número flotante

Valor predeterminado: 100 (en porcentaje)

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.all_zero(), rule_parameters={ "tensor_regex": ".*", "threshold": "100" }, collections_to_save=[ CollectionConfig( name="all", parameters={ "save_interval": "500" } ) ] ) ]

ClassImbalance

Esta regla mide los desequilibrios de muestreo entre clases y devuelve errores si el desequilibrio supera un umbral o si se producen demasiados errores para clases subrepresentadas como resultado del desequilibrio.

Los modelos de clasificación requieren clases bien equilibradas en el conjunto de datos de entrenamiento o una ponderación/muestreo adecuada de las clases durante el entrenamiento. La regla realiza las siguientes comprobaciones:

  • Cuenta las incidencias por clase. Si la relación entre el número de muestras entre la clase menor y la mayor es mayor que threshold_imbalance, se produce un error.

  • Comprueba la precisión de la predicción por clase. Si el remuestreo o la ponderación no se han aplicado correctamente, el modelo puede alcanzar una alta precisión para la clase con muchas muestras de entrenamiento, pero baja precisión para las clases con pocas muestras de entrenamiento. Si una fracción de las predicciones erróneas para una determinada clase supera threshold_misprediction, se produce un error.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla ClassImbalance
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

threshold_imbalance

El desequilibrio aceptable entre el número de muestras en la clase menor y en la clase mayor. Si se supera este valor de umbral se genera un error.

Opcional

Valores válidos: número flotante

Valor predeterminado: 10

threshold_misprediction

Un límite en la fracción de predicciones erróneas permitidas para cada clase. Si se supera este umbral se genera un error. Las clases insuficientemente representadas corren el mayor riesgo de superar este umbral.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.7

samples

El número de etiquetas que se deben procesar antes de evaluar un desequilibrio. Es posible que la regla no se active hasta que haya visto suficientes muestras en varios pasos. Cuantas más clases contenga el conjunto de datos, mayor será este número sample.

Opcional

Valores válidos: número entero

Valor predeterminado: 500 (suponiendo un conjunto de datos como MNIST con 10 clases)

argmax

Si es True, np.argmax se aplica al tensor de predicción. Necesario cuando tiene un vector de probabilidades para cada clase. Se utiliza para determinar qué clase tiene la probabilidad más alta.

Condicional

Valores válidos: booleano

Valor predeterminado: False

labels_regex

El nombre del tensor que contiene las etiquetas.

Opcional

Valores válidos: string

Valor predeterminado: ".*labels"

predictions_regex

El nombre del tensor que contiene las predicciones.

Opcional

Valores válidos: string

Valor predeterminado: ".*predictions"

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.class_imbalance(), rule_parameters={ "threshold_imbalance": "10", "threshold_misprediction": "0.7", "samples": "500", "argmax": "False", "labels_regex": ".*labels", "predictions_regex": ".*predictions" }, collections_to_save=[ CollectionConfig( name="custom_output_collection", parameters={ "include_regex": ".*labels|.*predictions", "save_interval": "500" } ) ] ) ]

LossNotDisminuyendo

Esta regla detecta cuando la pérdida no está disminuyendo de valor a un ritmo suficiente. Estas pérdidas deben ser escalares.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost. Debe especificar el parámetro collection_names o tensor_regex. Si se especifican ambos parámetros, la regla inspecciona la unión de tensores de ambos conjuntos.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla LossNotDecreasing
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: None

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: None

use_losses_collection

Si se establece en True, busca pérdidas en la colección denominada «pérdidas» cuando la colección está presente.

Opcional

Valores válidos: booleano

Valor predeterminado: True

num_steps

El número mínimo de pasos después de los cuales la regla comprueba si la pérdida ha disminuido. La evaluación de reglas sucede cada num_steps. La regla compara la pérdida de este paso con la pérdida de un paso que está por lo menos num_steps por detrás del paso actual. Por ejemplo, supongamos que la pérdida se guarda cada tres pasos, pero num_steps se establece en 10. En el paso 21, la pérdida del paso 21 se compara con la pérdida del paso 9. El siguiente paso en el que se comprueba la pérdida es el paso 33, porque diez pasos desde el paso 21 es el paso 31 y en los pasos 31 y 32 la pérdida no se guarda.

Opcional

Valores válidos: número entero

Valor predeterminado: 10

diff_percent

La diferencia porcentual mínima que debe disminuir la pérdida entre num_steps.

Opcional

Valores válidos: 0.0 < número flotante < 100

Valor predeterminado: 0.1 (en porcentaje)

increase_threshold_percent

El porcentaje límite máximo que se permite que aumente la pérdida en caso de pérdida ha ido aumentando

Opcional

Valores válidos: 0 < número flotante < 100

Valor predeterminado: 5 (en porcentaje)

mode

El nombre del modo de depurador para consultar los valores de tensor para la comprobación de reglas. Si no se supera, la regla comprueba en orden de forma predeterminada mode.EVAL, mode.TRAIN y mode.GLOBAL.

Opcional

Valores válidos: string (EVAL, TRAIN o GLOBAL)

Valor predeterminado: GLOBAL

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.loss_not_decreasing(), rule_parameters={ "tensor_regex": ".*", "use_losses_collection": "True", "num_steps": "10", "diff_percent": "0.1", "increase_threshold_percent": "5", "mode": "GLOBAL" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "save_interval": "500" } ) ] ) ]

Overfit

Esta regla detecta si el modelo está sobreajustado a los datos de entrenamiento comparando la validación y las pérdidas de entrenamiento.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

Una forma estándar de evitar el sobreajuste consiste en regularizar el modelo.

Descripciones de parámetros para la regla Overfit
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

start_step

El paso a partir del cual empezar a comparar la validación y la pérdida de entrenamiento.

Opcional

Valores válidos: número entero

Valor predeterminado: 0

patience

El número de pasos para los que se permite que ratio_threshold supere el valor establecido antes de que el modelo se considere sobreajuste.

Opcional

Valores válidos: número entero

Valor predeterminado: 1

ratio_threshold

La proporción máxima de la diferencia entre la pérdida media de validación y la pérdida media de entrenamiento respecto de la pérdida media de entrenamiento. Si se supera este umbral en un número de pasos patience, el modelo está sobreajustando y la regla devuelve True.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.1

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.overfit(), rule_parameters={ "tensor_regex": ".*", "start_step": "0", "patience": "1", "ratio_threshold": "0.1" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "train.save_interval": "100", "eval.save_interval": "10" } ) ] ) ]

Overtraining

Esta regla detecta si un modelo se está sobreentrenando. Tras varias iteraciones de entrenamiento en un modelo que se comporta bien (disminuyen tanto las pérdidas de entrenamiento como las de validación), el modelo se acerca al mínimo de la función de pérdida y ya no mejora. Si el modelo sigue entrenándose, puede ocurrir que la pérdida de validación comience a aumentar, ya que el modelo empezará a sobreajustarse. Esta regla establece umbrales y condiciones para determinar si el modelo no mejora y evita problemas de sobreajuste debidos al sobreentrenamiento.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

nota

El sobreentrenamiento puede evitarse mediante una detención temprana. Para obtener información sobre la parada temprana, consulte Detener trabajos de entrenamiento pronto. Para ver un ejemplo que muestra cómo utilizar el entrenamiento puntual con Debugger, consulte Habilitar el entrenamiento puntual con Amazon SageMaker Debugger.

Descripciones de parámetros para la regla Overtraining
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

patience_train

El número de pasos a esperar antes de que se considere que la pérdida de entrenamiento que ya no mejora.

Opcional

Valores válidos: número entero

Valor predeterminado: 5

patience_validation Se considera que el número de pasos a esperar antes de la pérdida de validación ya no mejora.

Opcional

Valores válidos: número entero

Valor predeterminado: 10

delta

El umbral mínimo que debe mejorar el error antes de que se considere como un nuevo óptimo.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.01

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.overtraining(), rule_parameters={ "patience_train": "5", "patience_validation": "10", "delta": "0.01" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "save_interval": "500" } ) ] ) ]

SimilarAcrossSe ejecuta

Esta regla compara los tensores recopilados de una prueba base con los tensores de otra prueba.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla SimilarAcrossRuns
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

other_trials

El nombre de un trabajo de entrenamiento completado cuyos tensores desea comparar con los tensores obtenidos del actual base_trial.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.similar_across_runs(), rule_parameters={ "other_trials": "<specify-another-job-name>", "collection_names": "losses", "tensor_regex": ".*" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "save_interval": "500" } ) ] ) ]

StalledTrainingRegla

StalledTrainingRule detecta si no se ha realizado ningún progreso en el trabajo de formación y detiene el trabajo de formación si se activa la regla. Esta regla requiere que los tensores se guarden periódicamente en un intervalo de tiempo definido por su parámetro threshold. Esta regla sigue monitoreando la presencia de nuevos tensores y, si no se ha emitido ningún tensor nuevo para el intervalo umbral, se activa la regla.

Descripciones de los parámetros de la StalledTrainingRule regla
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

threshold

Un umbral que define el tiempo en segundos que la regla espera a que se produzca una salida tensorial hasta que se desencadene un problema de entrenamiento estancado. El valor predeterminado es de 1800 segundos.

Opcional

Valores válidos: número entero

Valor predeterminado: 1800

stop_training_on_fire

Si se establece en True, compruebe si el trabajo de entrenamiento base genera tensores en "threshold" segundos.

Opcional

Valores válidos: booleano

Valor predeterminado: False

training_job_name_prefix

El prefijo del nombre de trabajo de entrenamiento base. Si stop_training_on_fire es verdadero, la regla busca trabajos de SageMaker formación con este prefijo en la misma cuenta. Si se detecta una inactividad, la regla realiza una acción StopTrainingJob. Tenga en cuenta que si se encuentran varios trabajos con el mismo prefijo, la regla omite la terminación. Es importante que el prefijo sea único para cada trabajo de entrenamiento.

Opcional

Valores válidos: string

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ "threshold": "1800", "stop_training_on_fire": "True", "training_job_name_prefix": "<specify-training-base-job-name>" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "save_interval": "500" } ) ] ) ]

TensorVariance

Esta regla detecta si tiene tensores con variaciones muy altas o bajas. Variaciones muy altas o bajas en un tensor podrían dar lugar a la saturación neuronal, lo que reduce la capacidad de aprendizaje de la red neuronal. Una variación muy alta en los tensores también puede dar lugar finalmente a la explosión de tensores. Utilice esta regla para detectar estos problemas con antelación.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost. Debe especificar el parámetro collection_names o tensor_regex. Si se especifican ambos parámetros, la regla inspecciona la unión de tensores de ambos conjuntos.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla TensorVariance
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

max_threshold

Umbral para el límite superior de la variación de tensor.

Opcional

Valores válidos: número flotante

Valor predeterminado: none

min_threshold

Umbral para el límite inferior de la variación de tensor.

Opcional

Valores válidos: número flotante

Valor predeterminado: ninguno

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.tensor_variance(), rule_parameters={ "collection_names": "weights", "max_threshold": "10", "min_threshold": "0.00001", }, collections_to_save=[ CollectionConfig( name="weights", parameters={ "save_interval": "500" } ) ] ) ]

UnchangedTensor

Esta regla detecta si un tensor ya no cambia en los pasos.

Esta regla ejecuta el método numpy.allclose para comprobar si el tensor no está cambiando.

Esta regla se puede aplicar a uno de los marcos de aprendizaje profundo compatibles (TensorFlowMXNet y PyTorch) o al algoritmo XGBoost. Debe especificar el parámetro collection_names o tensor_regex. Si se especifican ambos parámetros, la regla inspecciona la unión de tensores de ambos conjuntos.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla UnchangedTensor
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

collection_names

Lista de nombres de colección cuyos tensores inspecciona la regla.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: none

num_steps

El número de pasos en los que comprueba la regla para determinar si el tensor ha cambiado.

Esto comprueba los últimos num_steps que están disponibles. No tienen que ser consecutivos. Si num_steps es 2, en el paso s no verifica necesariamente s-1 y s. Si s-1 no está disponible, comprueba el último paso disponible junto con s. En ese caso, comprueba el último paso disponible con el paso actual.

Opcional

Valores válidos: número entero

Valor predeterminado: 3

rtol

El parámetro de tolerancia relativa que se va a transferir al método numpy.allclose.

Opcional

Valores válidos: número flotante

Valor predeterminado: 1e-05

atol

El parámetro de tolerancia absoluta que se va a transferir al método numpy.allclose.

Opcional

Valores válidos: número flotante

Valor predeterminado: 1e-08

equal_nan

Si se debe comparar NaNs como igual. SiTrue, NaNs en la matriz de entrada a se consideran iguales a NaNs en la matriz de entrada b en la matriz de salida. Este parámetro se transfiere al método numpy.allclose.

Opcional

Valores válidos: booleano

Valor predeterminado: False

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.unchanged_tensor(), rule_parameters={ "collection_names": "losses", "tensor_regex": "", "num_steps": "3", "rtol": "1e-05", "atol": "1e-08", "equal_nan": "False" }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "save_interval": "500" } ) ] ) ]

CheckInputImágenes

Esta regla comprueba si las imágenes de entrada se han normalizado correctamente. Específicamente, detecta si la media de los datos de muestra difiere de cero en más de un valor umbral. Muchos modelos de visión artificial requieren que los datos de entrada tengan una media cero y varianza unitaria.

Esta regla es aplicable a aplicaciones de aprendizaje profundo.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla CheckInputImages
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

threshold_mean

Un umbral que define en qué medida la media de los datos de entrada puede diferir de 0.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.2

threshold_samples

El número de imágenes que se deben muestrear antes de que se pueda lanzar un error. Si el valor es demasiado bajo, la estimación de la media del conjunto de datos será inexacta.

Opcional

Valores válidos: número entero

Valor predeterminado: 500

regex

El nombre del tensor de datos de entrada.

Opcional

Valores válidos: string

Valor predeterminado: ".*hybridsequential0_input_0" (el nombre del tensor de entrada para los modelos Apache MXNet que utilizan) HybridSequential

channel

La posición del canal de color en la matriz de forma del tensor de entrada.

Opcional

Valores válidos: número entero

Valor predeterminado: 1 (por ejemplo, MXNet espera datos de entrada en forma de (batch_size, channel, height, width))

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.check_input_images(), rule_parameters={ "threshold_mean": "0.2", "threshold_samples": "500", "regex": ".*hybridsequential0_input_0", "channel": "1" }, collections_to_save=[ CollectionConfig( name="custom_inputs_collection", parameters={ "include_regex": ".*hybridsequential0_input_0", "save_interval": "500" } ) ] ) ]

PNL SequenceRatio

Esta regla calcula la proporción de tokens específicos dado el resto de la secuencia de entrada que es útil para optimizar el rendimiento. Por ejemplo, puede calcular el porcentaje de fichas de relleno end-of-sentence (EOS) en la secuencia de entrada. Si el número de tokens EOS es demasiado alto, se debe realizar una estrategia de asignación de buckets alternativa. También puede calcular el porcentaje de tokens desconocidos en su secuencia de entrada. Si el número de palabras desconocidas es demasiado alto, podría utilizarse un vocabulario alternativo.

Esta regla es aplicable a aplicaciones de aprendizaje profundo.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla de PNL SequenceRatio
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

tensor_regex

Una lista de patrones de expresiones regulares que se utiliza para restringir esta comparación a tensores de valores escalares específicos. La regla inspecciona solo los tensores que coinciden con los patrones de expresiones regulares especificados en la lista. Si no se aprueba ningún patrón, la regla compara todos los tensores recopilados en las pruebas de forma predeterminada. Solo pueden coincidir los tensores de valor escalar.

Opcional

Valores válidos: lista de cadenas o una cadena separada por comas

Valor predeterminado: ".*embedding0_input_0" (suponiendo una integración como capa inicial de la red)

token_values

Una cadena de una lista de los valores numéricos de los tokens. Por ejemplo, "3, 0".

Opcional

Valores válidos: string de valores numéricos separados por comas

Valor predeterminado: 0

token_thresholds_percent

Una cadena de una lista de umbrales (en porcentajes) que corresponden a cada uno de los token_values. Por ejemplo, "50.0, 50.0".

Opcional

Valores válidos: string de números flotantes separada por comas

Valor predeterminado: "50"

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.nlp_sequence_ratio(), rule_parameters={ "tensor_regex": ".*embedding0_input_0", "token_values": "0", "token_thresholds_percent": "50" }, collections_to_save=[ CollectionConfig( name="custom_inputs_collection", parameters={ "include_regex": ".*embedding0_input_0" } ) ] ) ]

Confusion

Esta regla evalúa lo buena que es una matriz de confusión para un problema de clasificación.

Crea una matriz de tamaño category_no*category_no y la rellena con datos procedentes de pares (labels, predictions). Para cada par (labels, predictions), el recuento confusion[labels][predictions] se incrementa en 1. Cuando la matriz está completamente llena, la proporción de los valores de los datos en diagonal y fuera de diagonal se evalúa de la siguiente manera:

  • Para elementos en la diagonal: confusion[i][i]/sum_j(confusion[j][j])>=min_diag

  • Para elementos fuera de la diagonal: confusion[j][i])/sum_j(confusion[j][i])<=max_off_diag

Esta regla se puede aplicar al algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de parámetros para la regla Confusion
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

category_no

El número de categorías.

Opcional

Valores válidos: número entero ≥2

Valor predeterminado: "None"

labels

La colección de tensores labels o un vector unidimensional de etiquetas true.

Opcional

Valores válidos: string

Valor predeterminado: "labels"

predictions

La colección de tensores predictions o un vector unidimensional de etiquetas estimadas.

Opcional

Valores válidos: string

Valor predeterminado: "predictions"

labels_collection

La regla inspecciona los tensores de esta colección para labels.

Opcional

Valores válidos: string

Valor predeterminado: "labels"

predictions_collection

La regla inspecciona los tensores de esta colección para predictions.

Opcional

Valores válidos: string

Valor predeterminado: "predictions"

min_diag

El umbral mínimo para la relación de datos en la diagonal.

Opcional

Valores válidos: 0≤número flotante≤1

Valor predeterminado: 0.9

max_off_diag

El umbral máximo para la relación de datos fuera de la diagonal.

Opcional

Valores válidos: 0≤número flotante≤1

Valor predeterminado: 0.1

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.confusion(), rule_parameters={ "category_no": "10", "labels": "labels", "predictions": "predictions", "labels_collection": "labels", "predictions_collection": "predictions", "min_diag": "0.9", "max_off_diag": "0.1" }, collections_to_save=[ CollectionConfig( name="labels", parameters={ "save_interval": "500" } ), CollectionConfig( name="predictions", parameters={ "include_regex": "500" } ) ] ) ]
nota

Esta regla infiere los valores predeterminados de los parámetros opcionales si no se especifican sus valores.

FeatureImportanceSobrepeso

Esta regla acumula las ponderaciones de los valores n de mayor importancia de las características por paso y se asegura de que no superen el umbral. Por ejemplo, puede establecer el umbral para que las tres características principales no retengan más del 80 por ciento de los pesos totales del modelo.

Esta regla es válida solo para el algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla FeatureImportanceOverweight
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

threshold

Define el umbral de la proporción de la suma acumulada de las características n más grandes. El número n viene definido por el parámetro nfeatures.

Opcional

Valores válidos: número flotante

Valor predeterminado: 0.8

nfeatures

El número de características más grandes.

Opcional

Valores válidos: número entero

Valor predeterminado: 3

tensor_regex

La expresión regular (regex) del tensor nombra la regla que se va a analizar.

Opcional

Valores válidos: string

Valor predeterminado: ".*feature_importance/weight"

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.feature_importance_overweight(), rule_parameters={ "threshold": "0.8", "nfeatures": "3", "tensor_regex": ".*feature_importance/weight" }, collections_to_save=[ CollectionConfig( name="feature_importance", parameters={ "save_interval": "500" } ) ] ) ]

TreeDepth

Esta regla mide la profundidad de los árboles en un modelo XGBoost. XGBoost rechaza las divisiones si no mejoran la pérdida. Esto regulariza el entrenamiento. Como resultado, es posible que el árbol no crezca con tanta profundidad como se define en parámetro depth.

Esta regla es válida solo para el algoritmo XGBoost.

Para ver un ejemplo de cómo configurar e implementar una regla integrada, consulte Configurar reglas integradas del depurador.

Descripciones de los parámetros de la regla TreeDepth
Nombre del parámetro Descripción
base_trial

El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual.

Obligatorio

Valores válidos: string

depth

La profundidad del árbol. La profundidad del árbol se obtiene calculando el logaritmo base 2 del ID de nodo mayor.

Opcional

Valores válidos: número flotante

Valor predeterminado: 4

built_in_rules = [ Rule.sagemaker( base_config=rule_configs.tree_depth(), rule_parameters={ "depth": "4" }, collections_to_save=[ CollectionConfig( name="tree", parameters={ "save_interval": "500" } ) ] ) ]