Lista de regras integradas do Debugger - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Lista de regras integradas do Debugger

Você pode usar as regras integradas do Debugger, fornecidas pelo Amazon SageMaker Debugger, para analisar métricas e tensores coletados durante o treinamento de seus modelos. A seguir estão listadas as regras do depurador, incluindo informações e um exemplo de como configurar e implantar cada regra incorporada.

Essas regras integradas do Debugger monitoram várias condições comuns que são críticas para o sucesso de um trabalho de treinamento. Você pode chamar as regras integradas usando o Amazon SageMaker Python SDK ou as operações de baixo nível SageMaker API.

Não há custo adicional para usar as regras integradas. Para obter mais informações sobre faturamento, consulte a página de SageMaker preços da Amazon.

nota

O número máximo de regras integradas que você pode anexar a um trabalho de treinamento é 20. SageMaker O Debugger gerencia totalmente as regras integradas e analisa seu trabalho de treinamento de forma síncrona.

Importante

Para usar os novos recursos do Debugger, você precisa atualizar o SageMaker Python SDK e a biblioteca cliente. SMDebug Em seu iPython kernel, notebook Jupyter ou JupyterLab ambiente, execute o código a seguir para instalar as versões mais recentes das bibliotecas e reiniciar o kernel.

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

Regra do depurador

As regras a seguir são as regras integradas do Debugger que podem ser chamadas usando o método de classe Rule.sagemaker.

Regras integradas do Debugger para a geração de relatórios de treinamento

Escopo de validade Regras integradas
Relatório de treinamento para trabalho SageMaker XGboost de treinamento

Regras integradas do Debugger para a depuração de dados de treinamento de modelo (tensores de saída)

Escopo de validade Regras integradas
Estruturas de aprendizado profundo (TensorFlow,MXNet, e PyTorch)
Estruturas de aprendizado profundo (TensorFlow,MXNet, e PyTorch) e o algoritmo XGBoost
Aplicativos de aprendizagem profunda
XGBoostalgoritmo

Para usar as regras integradas com valores de parâmetros padrão, use o seguinte formato de configuração:

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 as regras integradas com valores de parâmetros personalizados, use o seguinte formato de configuração:

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 as chaves disponíveis para o parâmetro rule_parameters, consulte as tabelas de descrição de parâmetros.

Exemplos de códigos de configuração de regras são fornecidos para cada regra integrada abaixo das tabelas de descrição de parâmetros.

CreateXgboostReport

A CreateXgboostReport regra coleta tensores de saída de um trabalho de XGBoost treinamento e gera automaticamente um relatório de treinamento abrangente. Você pode baixar um relatório abrangente de criação de perfis enquanto um trabalho de treinamento é executado ou após a conclusão do trabalho de treinamento e verificar o progresso do treinamento ou o resultado final do trabalho de treinamento. A CreateXgboostReport regra coleta os seguintes tensores de saída por padrão:

  • hyperparameters – Salva na primeira etapa

  • metrics – Economiza perda e precisão a cada 5 etapas

  • feature_importance – Salva a cada 5 etapas

  • predictions – Salva a cada 5 etapas

  • labels – Salva a cada 5 etapas

Descrições de parâmetros para a CreateXgboostReport regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

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

DeadRelu

Essa regra detecta quando a porcentagem de funções de ativação de unidade linear retificada (ReLU) em um teste são consideradas inativas porque sua atividade de ativação caiu abaixo de um limite. Se a porcentagem de R inativo eLUs em uma camada for maior que o threshold_layer valor de R inativoeLUs, a regra retornará. True

Descrições de parâmetros para a DeadRelu regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: ".*relu_output"

threshold_inactivity

Define um nível de atividade abaixo do qual uma ReLU é considerada morta. Uma ReLU pode estar ativa no início de um teste e, depois, morrer lentamente durante o processo de treinamento. Se a ReLU estiver ativa abaixo do threshold_inactivity, ela será considerada morta.

Opcional

Valores válidos: Flutuante

Valores padrão: 1.0 (em porcentagem)

threshold_layer

Retorna True se a porcentagem de R inativo eLUs em uma camada for maior quethreshold_layer.

Retorna False se a porcentagem de R inativo eLUs em uma camada for menor quethreshold_layer.

Opcional

Valores válidos: Flutuante

Valores padrão: 50.0 (em porcentagem)

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 obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Essa regra não está disponível para o XGBoost algoritmo.

ExplodingTensor

Essa regra detecta se os tensores emitidos durante o treinamento têm valores não finitos, infinitos ou NaN (que não é um número). Se um valor não finito for detectado, a regra retornará True.

Descrições de parâmetros para a ExplodingTensor regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: string

Valor padrão: None

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: string

Valor padrão: None

only_nan

True para monitorar os tensores base_trial apenas para valores NaN e não para infinito.

False para tratar ambos NaN e infinito como valores explosivos e para monitorar para ambos.

Opcional

Valor padrão: 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 obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Essa regra não está disponível para o XGBoost algoritmo.

PoorWeightInitialization

Essa regra detecta se os parâmetros do modelo foram inicializados incorretamente.

Uma inicialização correta quebra a simetria dos pesos e dos gradientes em uma rede neural e mantém variações de ativação proporcionais nas camadas. Caso contrário, a rede neural não aprende de maneira eficaz. Inicializadores como Xavier visam manter a variação constante em todas as ativações, o que é especialmente relevante para o treinamento de redes neurais muito profundas. Uma inicialização muito pequena pode levar ao desaparecimento de gradientes. Uma inicialização muito grande pode levar à explosão de gradientes. Essa regra verifica a variação das entradas de ativação nas camadas, a distribuição de gradientes e a convergência de perda para as etapas iniciais a fim de determinar se uma rede neural foi inicializada incorretamente.

Descrições de parâmetros para a PoorWeightInitialization regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

activation_inputs_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: string

Valor padrão: ".*relu_input"

threshold

Se a proporção entre variação mínima e máxima de pesos por camada exceder o threshold em uma etapa, a regra retornará True.

Opcional

Valores válidos: Flutuante

Valor padrão: 10.0

distribution_range

Se a diferença mínima entre os 5º e 95º percentis da distribuição de gradientes for menor que o distribution_range, a regra retornará True.

Opcional

Valores válidos: Flutuante

Valor padrão: 0.001

patience

O número de passos a aguardar até que a perda não seja mais decrescente.

Opcional

Valores válidos: inteiro

Valor padrão: 5

steps

O número de etapas que essa regra analisa. Normalmente, você precisa verificar apenas as primeiras iterações.

Opcional

Valores válidos: Flutuante

Valor padrão: 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 obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Essa regra não está disponível para o XGBoost algoritmo.

SaturatedActivation

Essa regra detecta se as camadas de ativação de tanh (tangente hiperbólica) e sigmoide estão ficando saturadas. Uma camada de ativação fica saturada quando a entrada da camada está próxima do máximo ou do mínimo da função de ativação. O mínimo e máximo das funções de ativação tanh e sigmoide são definidos pelos seus respectivos valores min_threshold e max_thresholds. Se a atividade de um nó cair abaixo da porcentagem de threshold_inactivity, ele será considerada saturado. Se mais de um percentual de threshold_layer dos nós estiverem saturados, a regra retornará True.

Descrições de parâmetros para a SaturatedActivation regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: string

Valor padrão: ".*tanh_input|.*sigmoid_input".

threshold_tanh_min

Os limites mínimo e máximo que definem os extremos da entrada para uma função de ativação tanh, definidos como: (min_threshold, max_threshold). Os valores padrão são determinados com base em um limite de gradientes desaparecendo de 0,0000001.

Opcional

Valores válidos: Flutuante

Valores padrão: -9.4999

threshold_tanh_max

Os limites mínimo e máximo que definem os extremos da entrada para uma função de ativação tanh, definidos como: (min_threshold, max_threshold). Os valores padrão são determinados com base em um limite de gradientes desaparecendo de 0,0000001.

Opcional

Valores válidos: Flutuante

Valores padrão: 9.4999

threshold_sigmoid_min

Os limites mínimo e máximo que definem os extremos da entrada para uma função de ativação sigmoide, definidos como: (min_threshold, max_threshold). Os valores padrão são determinados com base em um limite de gradientes desaparecendo de 0,0000001.

Opcional

Valores válidos: Flutuante

Valores padrão: -23

threshold_sigmoid_max

Os limites mínimo e máximo que definem os extremos da entrada para uma função de ativação sigmoide, definidos como: (min_threshold, max_threshold). Os valores padrão são determinados com base em um limite de gradientes desaparecendo de 0,0000001.

Opcional

Valores válidos: Flutuante

Valores padrão: 16.99999

threshold_inactivity

A porcentagem de inatividade abaixo da qual a camada de ativação é considerada saturada. A ativação pode estar ativa no início de um teste e, depois, lentamente tornar-se menos ativa durante o processo de treinamento.

Opcional

Valores válidos: Flutuante

Valores padrão: 1.0

threshold_layer

Retornará True se o número de ativações saturadas em uma camada for maior que a porcentagem de threshold_layer.

Retornará False se o número de ativações saturadas em uma camada for menor que a porcentagem de threshold_layer.

Opcional

Valores válidos: Flutuante

Valores padrão: 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 obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Essa regra não está disponível para o XGBoost algoritmo.

VanishingGradient

Essa regra detecta se os gradientes em um teste se tornam extremamente pequenos ou caem para uma magnitude zero. Se a média dos valores absolutos dos gradientes cair abaixo de um threshold especificado, a regra retornará True.

Descrições de parâmetros para a VanishingGradient regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

threshold O valor no qual determina-se que o gradiente está desaparecendo.

Opcional

Valores válidos: Flutuante

Valor padrão: 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 obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Essa regra não está disponível para o XGBoost algoritmo.

WeightUpdateRatio

Essa regra mantém o controle da proporção de atualizações com relação a pesos durante o treinamento e detecta se essa proporção fica muito grande ou muito pequena. Se a proporção de atualizações com relação a pesos for maior do que o large_threshold value ou se essa proporção for menor que small_threshold, a regra retornará True.

As condições de treinamento são melhores quando as atualizações são proporcionais aos gradientes. As atualizações excessivamente grandes podem afastar os pesos dos valores ideais, e as atualizações muito pequenas resultam em uma convergência muito lenta. Essa regra requer que os pesos estejam disponíveis para duas etapas consecutivas, e train.save_interval precisa ser definido como igual a num_steps.

Descrições de parâmetros para a WeightUpdateRatio regra

Nome do parâmetro, Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

num_steps

O número de etapas que a regra verifica para determinar se o tensor foi alterado.

O número de etapas com as quais você deseja comparar as proporções de peso. Se você não transmitir nenhum valor, a regra será executada por padrão em relação à etapa atual e à etapa salva imediatamente antes. Se você substituir o padrão transmitindo um valor para esse parâmetro, a comparação será feita entre pesos na etapa s e em uma etapa >= s - num_steps.

Opcional

Valores válidos: inteiro

Valor padrão: None

large_threshold

O valor máximo que a proporção de atualizações em relação ao peso pode ter antes que a regra retorne True.

Opcional

Valores válidos: Flutuante

Valor padrão: 10.0

small_threshold

O valor mínimo que a proporção de atualizações com relação ao peso pode ter, abaixo do qual a regra retorna True.

Opcional

Valores válidos: Flutuante

Valor padrão: 0.00000001

epsilon

Uma pequena constante usada para garantir que o Debugger não divida por zero ao calcular as atualizações de proporção do peso.

Opcional

Valores válidos: Flutuante

Valor padrão: 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 obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Essa regra não está disponível para o XGBoost algoritmo.

AllZero

Essa regra detecta se todos ou uma porcentagem especificada dos valores dos tensores são zero.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo. É necessário especificar o parâmetro collection_names ou tensor_regex. Se ambos os parâmetros forem especificados, a regra inspecionará a união de tensores de ambos os conjuntos.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a AllZero regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: None

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: None

threshold

Especifica a porcentagem de valores no tensor que precisa ser zero para que essa regra seja invocada.

Opcional

Valores válidos: Flutuante

Valor padrão: 100 (em porcentagem)

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

Essa regra mede os desequilíbrios de amostragem entre classes e lança erros se o desequilíbrio exceder um limite ou se ocorrerem muitas previsões erradas para classes sub-representadas como resultado do desequilíbrio.

Os modelos de classificação exigem classes bem equilibradas no conjunto de dados de treinamento ou uma ponderação/amostragem adequada das classes durante o treinamento. A regra executa as seguintes verificações:

  • Ela conta as ocorrências por classe. Se a proporção do número de amostras entre a menor e a maior classe for maior do que o threshold_imbalance, será lançado um erro.

  • Ela verifica a precisão de previsão por classe. Se a reamostragem ou a ponderação não tiver sido aplicada corretamente, o modelo poderá atingir alta precisão para a classe com muitas amostras de treinamento, mas baixa precisão para as classes com poucas amostras de treinamento. Se uma fração de previsões erradas de determinada classe estiver acima de threshold_misprediction, será lançado um erro.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a ClassImbalance regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

threshold_imbalance

O desequilíbrio aceitável entre o número de amostras da classe menor e da classe maior. Se esse valor do limite for excedido, será lançado um erro.

Opcional

Valores válidos: Flutuante

Valor padrão: 10

threshold_misprediction

Um limite da fração de previsões incorretas permitidas para cada classe. Se esse limite for excedido, será lançado um erro. As classes sub-representadas têm maior risco de ultrapassar esse limite.

Opcional

Valores válidos: Flutuante

Valor padrão: 0.7

samples

O número de rótulos que precisam ser processados antes de um desequilíbrio ser avaliado. A regra pode não ser acionada até que tenha visto amostras suficientes em várias etapas. Quanto mais classes o conjunto de dados tiver, maior será o número de sample.

Opcional

Valores válidos: inteiro

Valor padrão: 500 (assumindo um conjunto de dados MNIST com 10 classes)

argmax

Se True, np.argmax será aplicado ao tensor da previsão. Obrigatório quando você tem um vetor de probabilidades para cada classe. Ele é usado para determinar qual classe tem a maior probabilidade.

Condicional

Valores válidos: booleano

Valor padrão: False

labels_regex

O nome do tensor que contém os rótulos.

Opcional

Valores válidos: string

Valor padrão: ".*labels"

predictions_regex

O nome do tensor que contém as previsões.

Opcional

Valores válidos: string

Valor padrão: ".*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" } ) ] ) ]

LossNotDecreasing

Essa regra detecta quando a perda não está diminuindo em valor a uma taxa adequada. Essas perdas devem ser escalares.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo. É necessário especificar o parâmetro collection_names ou tensor_regex. Se ambos os parâmetros forem especificados, a regra inspecionará a união de tensores de ambos os conjuntos.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a LossNotDecreasing regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: None

tensor_regex

Uma lista de padrões regex que é usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: None

use_losses_collection

Se definido como True, procura perdas na coleção chamada "losses" (perdas) quando a coleção está presente.

Opcional

Valores válidos: booleano

Valor padrão: True

num_steps

O número mínimo de etapas após as quais a regra verifica se a perda diminuiu. A avaliação da regra acontece a cada num_steps. A regra compara a perda dessa etapa com a perda de uma etapa que está pelo menos num_steps atrás da etapa atual. Por exemplo, suponha que a perda está sendo salva a cada três etapas, mas num_steps está definido como 10. Na etapa 21, a perda dessa etapa é comparada com a perda da etapa 9. A próxima etapa em que a perda é verificada é a etapa 33, porque dez etapas após a etapa 21 é a etapa 31 e, na etapa 31 e etapa 32, a perda não é salva.

Opcional

Valores válidos: inteiro

Valor padrão: 10

diff_percent

A diferença percentual mínima pela qual a perda deve diminuir entre num_steps.

Opcional

Valores válidos: 0.0 < flutuante < 100

Valor padrão: 0.1 (em porcentagem)

increase_threshold_percent

A porcentagem do limite máximo em que a perda tem permissão para aumentar caso a perda esteja aumentando

Opcional

Valores válidos: 0 < flutuante < 100

Valor padrão: 5 (em porcentagem)

mode

O nome do modo do Debugger para consultar valores de tensor da verificação de regras. Se isso não for transmitido, a regra verificará em ordem por padrão para o mode.EVAL, depois mode.TRAIN e, então, mode.GLOBAL.

Opcional

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

Valor padrão: 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

Essa regra detecta se o modelo está sendo sobreajustado aos dados de treinamento comparando as perdas de validação e treinamento.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

Uma maneira padrão de evitar o sobreajuste é regularizar o modelo.

Descrições de parâmetros da regra de Overfit

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

start_step

A etapa a partir da qual começar a comparar a perda de validação e de treinamento.

Opcional

Valores válidos: inteiro

Valor padrão: 0

patience

O número de etapas para as quais o ratio_threshold tem permissão para exceder o valor definido antes que o modelo seja considerado sobreajuste.

Opcional

Valores válidos: inteiro

Valor padrão: 1

ratio_threshold

A proporção máxima da diferença entre a perda média de validação e a perda média de treinamento com relação à perda média de treinamento. Se esse limite for excedido para um número patience de etapas, o modelo estará sendo sobreajustado e a regra retornará True.

Opcional

Valores válidos: Flutuante

Valor padrão: 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

Essa regra detecta se um modelo está sendo treinado em excesso. Depois de várias iterações de treinamento em um modelo bem-comportado (diminuição da perda de treinamento e validação), o modelo se aproxima de um mínimo da função de perda e não melhora mais. Se o modelo continuar treinando, pode acontecer que a perda de validação comece a aumentar, porque o modelo começa a apresentar sobreajuste. Essa regra define limites e condições para determinar se o modelo não está melhorando e evita problemas de sobreajuste devido ao excesso de treinamento.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

nota

O excesso de treinamento pode ser evitado pela interrupção precoce. Para obter informações sobre interrupção precoce, consulte Interromper trabalhos de treinamento precocemente. Para ver um exemplo que mostra como usar o treinamento pontual com o Debugger, consulte Habilitar o treinamento pontual com o Amazon Debugger. SageMaker

Descrições de parâmetros da regra Overtraining

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

patience_train

O número de etapas a aguardar antes que se considere que a perda de treinamento não esteja mais melhorando.

Opcional

Valores válidos: inteiro

Valor padrão: 5

patience_validation O número de etapas a aguardar antes que se considere que a perda de validação não esteja mais melhorando.

Opcional

Valores válidos: inteiro

Valor padrão: 10

delta

O limite mínimo de quanto o erro deve melhorar antes de ser considerado como um novo ideal.

Opcional

Valores válidos: Flutuante

Valor padrão: 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" } ) ] ) ]

SimilarAcrossRuns

Essa regra compara tensores coletados de um teste base com tensores de outro teste.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a SimilarAcrossRuns regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

other_trials

Um nome de trabalho de treinamento concluído cujos tensores você deseja comparar com os tensores coletados do base_trial atual.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

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" } ) ] ) ]

StalledTrainingRule

StalledTrainingRule detecta se não há progresso no trabalho de treinamento e interrompe o trabalho de treinamento se a regra for acionada. Essa regra exige que os tensores sejam salvos periodicamente em um intervalo de tempo definido por seu parâmetro threshold. Essa regra continua monitorando novos tensores e, se nenhum novo tensor for emitido, a regra de intervalo de limite será acionada.

Descrições de parâmetros para a StalledTrainingRule regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

threshold

Um limite que define por quanto tempo em segundos a regra espera pela saída de um tensor até acionar um problema de treinamento interrompido. O valor padrão é de 1800 segundos.

Opcional

Valores válidos: inteiro

Valor padrão: 1800

stop_training_on_fire

Se definido como True, observa se o trabalho de treinamento básico gera tensores em “threshold” segundos.

Opcional

Valores válidos: booleano

Valor padrão: False

training_job_name_prefix

O prefixo do nome do trabalho de treinamento básico. Se stop_training_on_fire for verdade, a regra procura trabalhos SageMaker de treinamento com esse prefixo na mesma conta. Se for encontrada uma inatividade, a regra executa uma ação StopTrainingJob. Observe que, se houver vários trabalhos encontrados com o mesmo prefixo, a regra ignora o encerramento. É importante que o prefixo seja definido de forma exclusiva para cada trabalho de treinamento.

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

Essa regra detecta se você tem tensores com variâncias muito altas ou muito baixas. Variâncias muito altas ou muito baixas em um tensor podem levar à saturação de neurônios, o que reduz a capacidade de aprendizagem da rede neural. A variância muito alta nos tensores também pode acabar resultando em tensores explosivos. Use essa regra para detectar esses problemas antecipadamente.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo. É necessário especificar o parâmetro collection_names ou tensor_regex. Se ambos os parâmetros forem especificados, a regra inspecionará a união de tensores de ambos os conjuntos.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a TensorVariance regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

max_threshold

O limite máximo da variância do tensor.

Opcional

Valores válidos: Flutuante

Valor padrão: Nenhum

min_threshold

O limite mínimo da variância do tensor.

Opcional

Valores válidos: Flutuante

Valor padrão: Nenhum

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

Essa regra detecta se um tensor não está mais mudando ao longo das etapas.

Essa regra executa o método numpy.allclose para verificar se o tensor não está mudando.

Essa regra pode ser aplicada a uma das estruturas de aprendizado profundo suportadas (TensorFlow,MXNet, e PyTorch) ou ao XGBoost algoritmo. É necessário especificar o parâmetro collection_names ou tensor_regex. Se ambos os parâmetros forem especificados, a regra inspecionará a união de tensores de ambos os conjuntos.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a UnchangedTensor regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

collection_names

A lista de nomes de coleção cujos tensores a regra inspeciona.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: Nenhum

num_steps

O número de etapas que a regra verifica para determinar se o tensor foi alterado.

Isso verifica os últimos num_steps que estão disponíveis. Eles não precisam ser consecutivos. Se num_steps for 2, na etapa s ela não necessariamente verifica s-1 e s. Se s-1 não estiver disponível, ela verifica a última etapa disponível com s. Nesse caso, ela verifica a última etapa disponível com a etapa atual.

Opcional

Valores válidos: inteiro

Valor padrão: 3

rtol

O parâmetro de tolerância relativa a ser transmitido para o método numpy.allclose.

Opcional

Valores válidos: Flutuante

Valor padrão: 1e-05

atol

O parâmetro de tolerância absoluta a ser transmitido para o método numpy.allclose.

Opcional

Valores válidos: Flutuante

Valor padrão: 1e-08

equal_nan

Se deve comparar NaNs como igual. SeTrue, NaNs na matriz de entrada a são considerados iguais a NaNs na matriz de entrada b na matriz de saída. Este parâmetro é transmitido para o método numpy.allclose.

Opcional

Valores válidos: booleano

Valor padrão: 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" } ) ] ) ]

CheckInputImages

Essa regra verifica se as imagens de entrada foram normalizadas corretamente. Especificamente, ela detecta se a média dos dados de amostra difere de zero em mais de um valor limite. Muitos modelos de visão computacional exigem que os dados de entrada tenham uma média zero e variação de unidade.

Esta regra é aplicável a aplicativos de aprendizagem profunda.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a CheckInputImages regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

threshold_mean

Um limite que define por quanto a média dos dados de entrada pode ser diferente de 0.

Opcional

Valores válidos: Flutuante

Valor padrão: 0.2

threshold_samples

O número de imagens que precisam ser amostradas antes que um erro possa ser lançado. Se o valor for muito baixo, a estimativa da média do conjunto de dados será imprecisa.

Opcional

Valores válidos: inteiro

Valor padrão: 500

regex

O nome do tensor dos dados de entrada.

Opcional

Valores válidos: string

Valor padrão: ".*hybridsequential0_input_0" (o nome do tensor de entrada para MXNet modelos Apache usando) HybridSequential

channel

A posição do canal de cor na matriz de forma do tensor de entrada.

Opcional

Valores válidos: inteiro

Valor padrão: 1 (por exemplo, MXNet espera dados de entrada na forma de (batch_size, canal, altura, largura))

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" } ) ] ) ]

NLPSequenceRatio

Essa regra calcula a proporção de tokens específicos, dado o resto da sequência de entrada que é útil para otimizar o desempenho. Por exemplo, você pode calcular a porcentagem de tokens padding end-of-sentence (EOS) em sua sequência de entrada. Se o número de EOS tokens for muito alto, uma estratégia alternativa de compartimentação deve ser executada. Também é possível calcular a porcentagem de tokens desconhecidos na sequência de entrada. Se o número de palavras desconhecidas for muito alto, poderá ser usado um vocabulário alternativo.

Esta regra é aplicável a aplicativos de aprendizagem profunda.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a NLPSequenceRatio regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

tensor_regex

Uma lista de padrões regex usada para restringir essa comparação a tensores de valor escalar específicos. A regra inspeciona apenas os tensores que correspondem aos padrões regex especificados na lista. Se nenhum padrão for transmitido, a regra comparará todos os tensores reunidos nos testes por padrão. Somente tensores com valor escalar podem ser combinados.

Opcional

Valores válidos: lista de strings ou uma string separada por vírgulas

Valor padrão: ".*embedding0_input_0" (supondo uma incorporação como a camada inicial da rede)

token_values

Uma string de uma lista dos valores numéricos dos tokens. Por exemplo, "3, 0".

Opcional

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

Valor padrão: 0

token_thresholds_percent

Uma string de uma lista de limites (em porcentagens) que correspondem a cada um dos token_values. Por exemplo, "50,0; 50,0".

Opcional

Valores válidos: string de flutuações separadas por vírgulas

Valor padrão: "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

Essa regra avalia a qualidade de uma matriz de confusão para um problema de classificação.

Ela cria uma matriz de tamanho category_no*category_no e a preenche com dados de pares (labels, predictions). Para cada par (labels, predictions), a contagem em confusion[labels][predictions] é incrementada em 1. Quando a matriz é totalmente preenchida, a proporção de dados de valores na diagonal e de valores fora da diagonal são avaliados da seguinte maneira:

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

  • Para elementos fora da diagonal: confusion[j][i])/sum_j(confusion[j][i])<=max_off_diag

Essa regra pode ser aplicada ao XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros da regra Confusion

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

category_no

O número de categorias.

Opcional

Valores válidos: inteiro ≥2

Valor padrão: "None"

labels

A coleção de tensores labels ou um vetor 1-d de rótulos verdadeiros.

Opcional

Valores válidos: string

Valor padrão: "labels"

predictions

A coleção de tensores predictions ou um vetor 1-d de rótulos estimados.

Opcional

Valores válidos: string

Valor padrão: "predictions"

labels_collection

A regra inspeciona os tensores nesta coleção para labels.

Opcional

Valores válidos: string

Valor padrão: "labels"

predictions_collection

A regra inspeciona os tensores nesta coleção para predictions.

Opcional

Valores válidos: string

Valor padrão: "predictions"

min_diag

O limite mínimo da proporção de dados na diagonal.

Opcional

Valores válidos: 0≤flutuante≤1

Valor padrão: 0.9

max_off_diag

O limite máximo da proporção de dados fora da diagonal.

Opcional

Valores válidos: 0≤flutuante≤1

Valor padrão: 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

Essa regra inferirá valores padrão para os parâmetros opcionais se seus valores não forem especificados.

FeatureImportanceOverweight

Essa regra acumula os pesos dos n maiores valores de importância do atributo por etapa e garante que eles não excedam o limite. Por exemplo, você pode definir o limite para que os três principais atributos não suportem mais de 80% dos pesos totais do modelo.

Essa regra é válida somente para o XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a FeatureImportanceOverweight regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

threshold

Define o limite para a proporção da soma cumulativa dos n maiores atributos. O número n é definido pelo parâmetro nfeatures.

Opcional

Valores válidos: Flutuante

Valor padrão: 0.8

nfeatures

O número dos maiores atributos.

Opcional

Valores válidos: inteiro

Valor padrão: 3

tensor_regex

A expressão regular (regex) do tensor nomeia a regra a ser analisada.

Opcional

Valores válidos: string

Valor padrão: ".*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

Essa regra mede a profundidade das árvores em um XGBoost modelo. XGBoostrejeita divisões se elas não melhorarem a perda. Isso regulariza o treinamento. Como resultado, a árvore pode não crescer tão profundamente como definido no parâmetro depth.

Essa regra é válida somente para o XGBoost algoritmo.

Para obter um exemplo de como configurar e implantar uma regra interna, consulte Como configurar as regras integradas do Debugger.

Descrições de parâmetros para a TreeDepth regra

Nome do parâmetro Descrição
base_trial

O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger.

Obrigatório

Valores válidos: string

depth

A profundidade da árvore. A profundidade da árvore é obtida calculando o logaritmo base 2 do ID do maior nó.

Opcional

Valores válidos: Flutuante

Valor padrão: 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" } ) ] ) ]