Elenco delle regole integrate di Debugger - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elenco delle regole integrate di Debugger

Utilizza le regole integrate di Debugger fornite da Amazon SageMaker Debugger e analizza le metriche e i tensori raccolti durante l'addestramento dei tuoi modelli. Le regole integrate di Debugger monitorano varie condizioni comuni che sono fondamentali per il successo di un processo di addestramento. Puoi richiamare le regole integrate utilizzando Amazon SageMaker Python SDK o le operazioni API di basso livello SageMaker . Non sono previsti costi aggiuntivi per l'utilizzo di regole integrate. Per ulteriori informazioni sulla fatturazione, consulta la pagina SageMaker dei prezzi di Amazon.

Nota

Il numero massimo di regole integrate che è possibile collegare a un processo di addestramento è 20. SageMaker Debugger gestisce completamente le regole integrate e analizza il processo di formazione in modo sincrono.

Importante

Per utilizzare le nuove funzionalità di Debugger, è necessario aggiornare l'SDK SageMaker Python e la libreria client SMDebug. Nel kernel IPython, nel notebook Jupyter JupyterLab o nell'ambiente, esegui il codice seguente per installare le versioni più recenti delle librerie e riavviare il kernel.

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

Regola Debugger

Le seguenti regole sono le regole integrate di Debugger che possono essere richiamate utilizzando il metodo di classe Rule.sagemaker.

Regole integrate di Debugger per generare report di addestramento
Ambito di validità Regole integrate
Rapporto SageMaker di formazione per il lavoro di formazione XGBoost
Regole integrate di Debugger per il debug dei dati di addestramento del modello (tensori di output)
Ambito di validità Regole integrate
Framework di deep learning (, TensorFlow MXNet e) PyTorch
Framework di deep learning (, TensorFlow MXNet e PyTorch) e algoritmo XGBoost
Applicazioni deep learning
Algoritmo XGBoost

Per utilizzare le regole integrate con i valori dei parametri predefiniti, utilizza il seguente formato di configurazione:

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

Per utilizzare le regole integrate con la configurazione dei parametri predefiniti, utilizza il seguente formato di configurazione:

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

Per trovare le chiavi disponibili per il parametro rule_parameters, consulta le tabelle di descrizione dei parametri.

Vengono forniti esempi di codici di configurazione delle regole per ogni regola integrata sotto le tabelle di descrizione dei parametri.

CreateXgboostRapporto

La CreateXgboostReport regola raccoglie i tensori di output da un processo di formazione XGBoost e genera automaticamente un rapporto di formazione completo. È possibile scaricare un report di profilazione completo mentre un processo di addestramento è in corso o dopo il completamento del processo di addestramento e controllare il progresso di addestramento o il suo risultato finale. La CreateXgboostReport regola raccoglie i seguenti tensori di output per impostazione predefinita:

  • hyperparameters: Salva durante la prima fase

  • metrics: Risparmia perdita e precisione ogni 5 fasi

  • feature_importance: Salva ogni 5 fasi

  • predictions: Salva ogni 5 fasi

  • labels: Salva ogni 5 fasi

Descrizioni dei parametri per la regola CreateXgboostReport
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

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

DeadRelu

Questa regola rileva quando la percentuale di funzioni di attivazione dell'unità lineare rettificata (ReLU) in una prova è considerata morta perché la loro attività di attivazione è scesa al di sotto di una soglia. Se la percentuale di ReLUs inattivi in un livello è maggiore del valore threshold_layer di ReLU inattivi, la regola restituisce True.

Descrizioni dei parametri per la regola DeadRelu
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: ".*relu_output"

threshold_inactivity

Definisce un livello di attività al di sotto del quale un ReLU è considerato morto. Un ReLU potrebbe essere attivo all'inizio di una prova e poi morire lentamente durante il processo di addestramento. Se ReLU è attivo meno del threshold_inactivity, è considerato morto.

Opzionale

Valori validi: float

Valori predefiniti: 1.0 (in percentuale)

threshold_layer

Restituisce True se la percentuale di ReLU inattivi in un livello è maggiore di threshold_layer.

Restituisce False se la percentuale di ReLU inattivi in un livello è inferiore a threshold_layer.

Opzionale

Valori validi: float

Valori predefiniti: 50.0 (in percentuale)

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

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Questa regola non è disponibile per l'algoritmo XGBoost.

ExplodingTensor

Questa regola rileva se i tensori emessi durante l’addestramento hanno valori non finiti, infiniti o NaN (non un numero). Se viene rilevato un valore non finito, la regola restituisce True.

Descrizioni dei parametri per la regola ExplodingTensor
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: stringa

Valore predefinito: None

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: stringa

Valore predefinito: None

only_nan

True per monitorare i tensori base_trial solo per i valori NaN e non per l'infinito.

False per trattare NaN e infinity come valori esplosivi e per monitorare entrambi.

Opzionale

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

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Questa regola non è disponibile per l'algoritmo XGBoost.

PoorWeightInizializzazione

Questa regola rileva se i parametri del modello sono stati inizializzati male.

Una buona inizializzazione interrompe la simmetria dei pesi e dei gradienti in una rete neurale e mantiene le varianze di attivazione commisurate tra i livelli. Altrimenti, la rete neurale non apprende in modo efficace. Gli inizializzatori come Xavier mirano a mantenere costante la varianza tra le attivazioni, che è particolarmente rilevante per l’addestramento di reti neurali molto profonde. Un'inizializzazione troppo piccola può portare alla scomparsa dei gradienti. Un'inizializzazione troppo grande può portare a gradienti esplosivi. Questa regola controlla la varianza degli input di attivazione tra i livelli, la distribuzione dei gradienti e la convergenza delle perdite per le fasi iniziali per determinare se una rete neurale è stata inizializzata male.

Descrizioni dei parametri per la regola PoorWeightInitialization
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

activation_inputs_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: stringa

Valore predefinito: ".*relu_input"

threshold

Se il rapporto tra la varianza minima e massima dei pesi per livello supera il threshold in una fase, la regola ritorna True.

Opzionale

Valori validi: float

Valore predefinito: 10.0

distribution_range

Se la differenza minima tra il quinto e il 95° percentile della distribuzione del gradiente è inferiore alla distribution_range, la regola restituisce True.

Opzionale

Valori validi: float

Valore predefinito: 0.001

patience

Il numero di fasi da attendere fino a quando la perdita è considerata non più in diminuzione.

Opzionale

Valori validi: numeri interi

Valore predefinito: 5

steps

Il numero di fasi analizzate da questa regola. In genere è necessario controllare solo le prime iterazioni.

Opzionale

Valori validi: float

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

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Questa regola non è disponibile per l'algoritmo XGBoost.

SaturatedActivation

Questa regola rileva se i livelli di attivazione tanh e sigmoid stanno diventando saturi. Un livello di attivazione è saturo quando l'input del livello è vicino al massimo o al minimo della funzione di attivazione. Il minimo e il massimo delle funzioni di attivazione tanh e sigmoid sono definiti dai rispettivi valori min_threshold e max_thresholds. Se l'attività di un nodo scende al di sotto della percentuale threshold_inactivity, è considerata satura. Se più di una percentuale threshold_layer di nodi è satura, la regola restituisce True.

Descrizioni dei parametri per la regola SaturatedActivation
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: stringa

Valore predefinito: ".*tanh_input|.*sigmoid_input".

threshold_tanh_min

Le soglie minime e massime che definiscono gli estremi dell'input per una funzione di attivazione tanh, definite come: (min_threshold, max_threshold). I valori predefiniti vengono determinati in base a una soglia di gradiente di fuga pari a 0,0000001.

Opzionale

Valori validi: float

Valori predefiniti: -9.4999

threshold_tanh_max

Le soglie minime e massime che definiscono gli estremi dell'input per una funzione di attivazione tanh, definite come: (min_threshold, max_threshold). I valori predefiniti vengono determinati in base a una soglia di gradiente di fuga pari a 0,0000001.

Opzionale

Valori validi: float

Valori predefiniti: 9.4999

threshold_sigmoid_min

Le soglie minime e massime che definiscono gli estremi dell'input per una funzione di attivazione sigma, definite come: (min_threshold, max_threshold). I valori predefiniti vengono determinati in base a una soglia di gradiente di fuga pari a 0,0000001.

Opzionale

Valori validi: float

Valori predefiniti: -23

threshold_sigmoid_max

Le soglie minime e massime che definiscono gli estremi dell'input per una funzione di attivazione sigma, definite come: (min_threshold, max_threshold). I valori predefiniti vengono determinati in base a una soglia di gradiente di fuga pari a 0,0000001.

Opzionale

Valori validi: float

Valori predefiniti: 16.99999

threshold_inactivity

La percentuale di inattività al di sotto della quale il livello di attivazione è considerato saturo. L'attivazione potrebbe essere attiva all'inizio di una prova e poi diventare lentamente meno attiva durante il processo di addestramento.

Opzionale

Valori validi: float

Valori predefiniti: 1.0

threshold_layer

Restituisce True se il numero di attivazioni sature in un livello è maggiore della percentuale threshold_layer.

Restituisce False se il numero di attivazioni sature in un livello è inferiore alla percentuale threshold_layer.

Opzionale

Valori validi: float

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

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Questa regola non è disponibile per l'algoritmo XGBoost.

VanishingGradient

Questa regola rileva se i gradienti in una prova diventano estremamente piccoli o scendono a una magnitudine zero. Se la media dei valori assoluti dei gradienti scende al di sotto di un valore threshold specificato, la regola restituisce True.

Descrizioni dei parametri per la regola VanishingGradient
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

threshold Il valore al quale il gradiente svanisce.

Opzionale

Valori validi: float

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

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Questa regola non è disponibile per l'algoritmo XGBoost.

WeightUpdateRapporto

Questa regola tiene traccia del rapporto tra aggiornamenti e pesi durante l’addestramento e rileva se tale rapporto diventa troppo grande o troppo piccolo. Se il rapporto tra gli aggiornamenti e i pesi è maggiore di large_threshold value o se questo rapporto è inferiore a small_threshold, la regola restituisce True.

Le condizioni per l’addestramento sono ottimali quando gli aggiornamenti sono commisurati ai gradienti. Gli aggiornamenti eccessivamente grandi possono allontanare i pesi dai valori ottimali e gli aggiornamenti molto piccoli determinano una convergenza molto lenta. Questa regola richiede che i pesi siano disponibili per due fasi di addestramento e train.save_interval deve essere impostato su num_steps.

Descrizioni dei parametri per la regola WeightUpdateRatio
Nome parametro, Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

num_steps

Il numero di fasi attraverso le quali la regola verifica se il tensore è cambiato.

Il numero di fasi attraverso le quali si desidera confrontare i rapporti di peso. Se non si passa alcun valore, la regola viene eseguita per impostazione predefinita rispetto alla fase corrente e alla fase salvata immediatamente precedente. Se si sovrascrive il valore predefinito passando un valore per questo parametro, il confronto viene effettuato tra i pesi alla fase s e alla fase >= s - num_steps.

Opzionale

Valori validi: numeri interi

Valore predefinito: None

large_threshold

Il valore massimo che il rapporto tra gli aggiornamenti di peso può assumere prima che la regola ritorni True.

Opzionale

Valori validi: float

Valore predefinito: 10.0

small_threshold

Il valore minimo che può assumere il rapporto di aggiornamenti di peso, al di sotto del quale viene restituita la regola True.

Opzionale

Valori validi: float

Valore predefinito: 0.00000001

epsilon

Una piccola costante utilizzata per garantire che Debugger non si divide per zero quando si calcolano gli aggiornamenti del rapporto da pesare.

Opzionale

Valori validi: float

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

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Questa regola non è disponibile per l'algoritmo XGBoost.

AllZero

Questa regola rileva se tutti o una percentuale specificata dei valori del tensore sono zero.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost. È necessario specificare il parametro collection_names o tensor_regex. Se vengono specificati entrambi i parametri, la regola ispeziona l'unione dei tensori da entrambi i set.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola AllZero
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: None

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: None

threshold

Specificare la percentuale di valori nel tensore che deve essere zero per richiamare questa regola.

Opzionale

Valori validi: float

Valore predefinito: 100 (in percentuale)

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

Questa regola misura gli squilibri di campionamento tra le classi e genera errori se lo squilibrio supera una soglia o se si verificano troppe predizioni errate per le classi sottorappresentate a causa dello squilibrio.

I modelli di classificazione richiedono classi ben bilanciate nel set di dati di addestramento o ponderazione/campionamento adeguato delle classi durante l’addestramento. La regola esegue i seguenti controlli:

  • Conta le occorrenze per classe. Se il rapporto tra il numero di campioni tra la classe più piccola e quella più grande è maggiore di threshold_imbalance, viene generato un errore.

  • Controlla l'accuratezza della previsione per classe. Se il ricampionamento o la ponderazione non sono stati applicati correttamente, il modello può raggiungere un'elevata precisione per la classe con molti campioni di addestramento, ma bassa precisione per le classi con pochi campioni di addestramento. Se una frazione di errori di predizioni errate per una determinata classe è superiore a threshold_misprediction, viene generato un errore.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola ClassImbalance
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

threshold_imbalance

Lo squilibrio accettabile tra il numero di campioni nella classe più piccola e nella classe più grande. Il superamento di questo valore di soglia genera un errore.

Opzionale

Valori validi: float

Valore predefinito: 10

threshold_misprediction

Un limite alla frazione di errori di predizione consentiti per ogni classe. Il superamento di questa soglia genera un errore. Le classi sottorappresentate sono maggiormente a rischio di superare questa soglia.

Opzionale

Valori validi: float

Valore predefinito: 0.7

samples

Numero di etichette che devono essere elaborate prima di valutare uno sbilanciamento. La regola potrebbe non essere attivata fino a quando non ha visto campioni sufficienti in diverse fasi. Più è alto il numero delle classi contenute dal set di dati, maggiore dovrebbe essere il numero sample.

Opzionale

Valori validi: numeri interi

Valore predefinito: 500 (assumendo un set di dati come MNIST con 10 classi)

argmax

Se True, np.argmax viene applicato al tensore di previsione. Richiesto quando si dispone di un vettore di probabilità per ogni classe. Viene utilizzato per determinare quale classe ha la più alta probabilità.

Condizionale

Valori validi: booleani

Valore predefinito: False

labels_regex

Il nome del tensore che contiene le etichette.

Opzionale

Valori validi: stringa

Valore predefinito: ".*labels"

predictions_regex

Il nome del tensore che contiene le previsioni.

Opzionale

Valori validi: stringa

Valore predefinito: ".*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" } ) ] ) ]

LossNotDecrescente

Questa regola rileva quando la perdita non diminuisce di valore ad un tasso adeguato. Queste perdite devono essere scalari.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost. È necessario specificare il parametro collection_names o tensor_regex. Se vengono specificati entrambi i parametri, la regola ispeziona l'unione dei tensori da entrambi i set.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola LossNotDecreasing
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: None

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: None

use_losses_collection

Se impostato su True, cerca le perdite nella raccolta denominata "perdite" quando la raccolta è presente.

Opzionale

Valori validi: booleani

Valore predefinito: True

num_steps

Il numero minimo di fasi dopo il quale la regola controlla se la perdita è diminuita. La valutazione delle regole avviene ogni num_steps. La regola confronta la perdita per questa fase con la perdita in una fase che è almeno num_steps dietro la fase corrente. Ad esempio, supponiamo che la perdita venga salvata ogni tre fasi, ma num_steps è impostato su 10. Alla fase 21, la perdita per la fase 21 viene confrontata con la perdita per la fase 9. La fase successiva in cui viene verificata la perdita è la fase 33, perché dieci fasi dopo la fase 21 c’è la fase 31 e alla fase 31 e 32 la perdita non viene salvata.

Opzionale

Valori validi: numeri interi

Valore predefinito: 10

diff_percent

La differenza percentuale minima con cui la perdita dovrebbe diminuire tra num_steps.

Opzionale

Valori validi: 0.0 < float < 100

Valore predefinito: 0.1 (in percentuale)

increase_threshold_percent

La soglia massima di aumento della perdita è consentita nel caso in cui la perdita sia in aumento.

Opzionale

Valori validi: 0 < float < 100

Valore predefinito: 5 (in percentuale)

mode

Il nome della modalità Debugger per eseguire la query dei valori del tensore per il controllo delle regole. Se non viene passato, per impostazione predefinita la regola controlla in ordine mode.EVAL, quindi mode.TRAIN e quindi mode.GLOBAL.

Opzionale

Valori validi: stringa (EVAL, TRAIN o GLOBAL)

Valore predefinito: 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

Questa regola rileva se il modello è in eccesso rispetto ai dati di addestramento confrontando le perdite di convalida e addestramento.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

Un modo standard per evitare l'overfitting è regolarizzare il modello.

Descrizioni dei parametri per la regola di overfit
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

start_step

La fase da cui iniziare a confrontare la perdita di convalida e di addestramento.

Opzionale

Valori validi: numeri interi

Valore predefinito: 0

patience

Il numero di fasi per i quali a ratio_threshold è consentito superare il valore impostato prima che il modello sia considerato in eccesso.

Opzionale

Valori validi: numeri interi

Valore predefinito: 1

ratio_threshold

Il rapporto massimo della differenza tra la perdita media di convalida e la perdita media di addestramento con la perdita media di addestramento. Se questa soglia viene superata per un patience certo numero di fasi, il modello è in eccesso e la regola viene restituita True.

Opzionale

Valori validi: float

Valore predefinito: 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

Questa regola rileva se un modello è sottoposto a un addestramento eccessivo. Dopo una serie di iterazioni di addestramento su un modello ben funzionante (diminuiscono sia le perdite di addestramento che quelle di convalida), il modello si avvicina al minimo della funzione di perdita e non migliora più. Se il modello continua l'addestramento, può succedere che la perdita di convalida inizi ad aumentare, perché il modello inizia a fare overfitting. Questa regola stabilisce soglie e condizioni per determinare se il modello non sta migliorando e previene i problemi di overfitting dovuti all'eccesso di adattamento.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Nota

L'overtraining può essere evitato fermandosi anticipatamente. Per informazioni sull'arresto anticipato, consulta Interrompere in anticipo i processi di addestramento. Per un esempio che mostra come utilizzare l'allenamento spot con Debugger, consulta Enable Spot Training with Amazon Debugger. SageMaker

Descrizioni dei parametri per la regola di Overtraining
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

patience_train

Il numero di fasi da attendere prima che la perdita di addestramento sia considerata come non più migliorabile.

Opzionale

Valori validi: numeri interi

Valore predefinito: 5

patience_validation Il numero di fasi da attendere prima che la perdita di convalida non sia più migliorata.

Opzionale

Valori validi: numeri interi

Valore predefinito: 10

delta

La soglia minima di quanto l'errore dovrebbe migliorare prima che venga considerato come un nuovo ottimale.

Opzionale

Valori validi: float

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

SimilarAcrossEsegue

Questa regola confronta i tensori raccolti da una prova di base con i tensori di un'altra prova.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola SimilarAcrossRuns
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

other_trials

Nome di un processo di addestramento completato di cui si desidera confrontare i tensori con quelli raccolti dalla corrente base_trial.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

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

StalledTrainingRegola

StalledTrainingRule rileva se non sono stati compiuti progressi nel processo di formazione e interrompe il processo di formazione se la regola viene attivata. Questa regola richiede il salvataggio periodico dei tensori in un intervallo di tempo definito dal relativo parametro threshold. Questa regola continua a monitorare i nuovi tensori e, se non è stato emesso alcun nuovo tensore per l'intervallo di soglia, viene attivata la regola.

Descrizioni dei parametri per la regola StalledTrainingRule
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

threshold

Una soglia che definisce per quanto tempo, in secondi, la regola attende l'output di un tensore prima di attivare un problema di addestramento in stallo. Il valore predefinito è 1800 secondi.

Opzionale

Valori validi: numeri interi

Valore predefinito: 1800

stop_training_on_fire

Se impostato su True, controlla se il processo di addestramento di base emette tensori in "threshold" secondi.

Opzionale

Valori validi: booleani

Valore predefinito: False

training_job_name_prefix

Il prefisso del nome per il processo di addestramento di base. Se stop_training_on_fire è vero, la regola cerca i lavori di SageMaker formazione con questo prefisso nello stesso account. Se viene rilevata un'inattività, la regola esegue un'azione StopTrainingJob. Nota: se vengono trovati più processi con lo stesso prefisso, la regola ignora la terminazione. Per ogni processo di addestramento è importante che il prefisso sia impostato in modo univoco.

Opzionale

Valori validi: stringa

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

Questa regola rileva se sono presenti tensori con varianze molto alte o basse. Varianze molto alte o basse in un tensore potrebbero portare alla saturazione dei neuroni, che riduce la capacità di apprendimento della rete neurale. La varianza molto elevata dei tensori può anche portare all'esplosione di tensori. Utilizzare questa regola per rilevare tali problemi in anticipo.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost. È necessario specificare il parametro collection_names o tensor_regex. Se vengono specificati entrambi i parametri, la regola ispeziona l'unione dei tensori da entrambi i set.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola TensorVariance
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

max_threshold

La soglia per il limite superiore della varianza del tensore.

Opzionale

Valori validi: float

Valore predefinito: nessuno

min_threshold

La soglia per il limite inferiore della varianza del tensore.

Opzionale

Valori validi: float

Valore predefinito: nessuno

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

Questa regola rileva se un tensore non cambia più tra una fase e l’altra.

Questa regola esegue il metodo numpy.allclose per verificare se il tensore non cambia.

Questa regola può essere applicata a uno dei framework di deep learning supportati (TensorFlowMXNet e PyTorch) o all'algoritmo XGBoost. È necessario specificare il parametro collection_names o tensor_regex. Se vengono specificati entrambi i parametri, la regola ispeziona l'unione dei tensori da entrambi i set.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola UnchangedTensor
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

collection_names

L'elenco dei nomi di raccolta i cui tensori vengono ispezionati dalla regola.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: nessuno

num_steps

Il numero di fasi attraverso i quali la regola verifica se il tensore è cambiato.

Questo controlla gli ultimi num_steps che sono disponibili. Non devono essere consecutivi. Se num_steps è 2, alla fase s non controlla necessariamente s-1 ed s. Se s-1 non è disponibile, controlla l'ultima fase disponibile insieme a s. In tal caso, controlla l'ultima fase disponibile con la fase corrente.

Opzionale

Valori validi: numeri interi

Valore predefinito: 3

rtol

Il parametro di tolleranza relativa da passare al numpy.allclose metodo.

Opzionale

Valori validi: float

Valore predefinito: 1e-05

atol

Il parametro di tolleranza assoluta da passare al numpy.allclose metodo.

Opzionale

Valori validi: float

Valore predefinito: 1e-08

equal_nan

Se confrontare NaNs o meno. SeTrue, NaNs nell'array di input a sono considerati uguali a NaNs nell'array di input b nell'array di output. Questo parametro viene passato al metodo numpy.allclose.

Opzionale

Valori validi: booleani

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

CheckInputImmagini

Questa regola controlla se le immagini di input sono state normalizzate correttamente. In particolare, rileva se la media dei dati campione differisce di più di un valore soglia da zero. Molti modelli di visione artificiale richiedono che i dati di input abbiano una media zero e una varianza unitaria.

Questa regola è applicabile alle applicazioni di deep learning.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola CheckInputImages
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

threshold_mean

Una soglia che definisce in base alla media dei dati di input può differire da 0.

Opzionale

Valori validi: float

Valore predefinito: 0.2

threshold_samples

Il numero di immagini che devono essere campionate prima che un errore possa essere generato. Se il valore è troppo basso, la stima della media del set di dati sarà imprecisa.

Opzionale

Valori validi: numeri interi

Valore predefinito: 500

regex

Il nome del tensore dei dati di input.

Opzionale

Valori validi: stringa

Valore predefinito: ".*hybridsequential0_input_0" (il nome del tensore di input per i modelli Apache MXNet che utilizzano) HybridSequential

channel

La posizione del canale colore nell'array di forme del tensore di input.

Opzionale

Valori validi: numeri interi

Valore predefinito: 1 (ad esempio, MXNet si aspetta dati di input sotto forma di (batch_size, canale, altezza, larghezza))

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

Questa regola calcola il rapporto di token specifici dato il resto della sequenza di input utile per ottimizzare le prestazioni. Ad esempio, puoi calcolare la percentuale di token di padding end-of-sentence (EOS) nella sequenza di input. Se il numero di token EOS è troppo alto, deve essere eseguita una strategia di bucketing alternativo. È inoltre possibile calcolare la percentuale di token sconosciuti nella sequenza di input. Se il numero di parole sconosciute è troppo alto, potrebbe essere usato un vocabolario alternativo.

Questa regola è applicabile alle applicazioni di deep learning.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola NLP SequenceRatio
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

tensor_regex

Un elenco di pattern regex utilizzati per limitare questo confronto a tensori con valori scalari specifici. La regola controlla solo i tensori che corrispondono ai pattern regex specificati nell'elenco. Se non vengono passati modelli, la regola confronta tutti i tensori raccolti nelle prove per impostazione predefinita. Solo i tensori scalari possono essere abbinati.

Opzionale

Valori validi: elenco di stringhe o stringa separata da virgole

Valore predefinito: ".*embedding0_input_0" (assumendo un incorporamento come livello iniziale della rete)

token_values

Una stringa di un elenco dei valori numerici dei token. Ad esempio, "3,0".

Opzionale

Valori validi: stringa di valori numerici separata da virgole

Valore predefinito: 0

token_thresholds_percent

Una stringa di un elenco di soglie (in percentuale) che corrispondono a ciascuna delle token_values. Ad esempio, "50,0, 50,0".

Opzionale

Valori validi: stringa separata da virgole di numeri in virgola mobile

Valore predefinito: "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

Questa regola valuta la bontà di una matrice di confusione per un problema di classificazione.

Crea una matrice di dimensioni category_no*category_no e la popola con i dati provenienti da coppie (labels, predictions). Per ogni coppia (labels, predictions), il conteggio confusion[labels][predictions] viene incrementato di 1. Quando la matrice è completamente popolata, il rapporto tra dati su valori diagonali dei dati e valori fuori diagonale viene valutato come segue:

  • Per gli elementi sulla diagonale: confusion[i][i]/sum_j(confusion[j][j])>=min_diag

  • Per gli elementi fuori dalla diagonale: confusion[j][i])/sum_j(confusion[j][i])<=max_off_diag

Questa regola può essere applicata all'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola di confusione
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

category_no

Il numero di categorie.

Opzionale

Valori validi: numero intero ≥2

Valore predefinito: "None"

labels

La raccolta di tensori labels o un vettore 1-d di etichette vere.

Opzionale

Valori validi: stringa

Valore predefinito: "labels"

predictions

La raccolta tensore predictions o un vettore 1-d di etichette stimate.

Opzionale

Valori validi: stringa

Valore predefinito: "predictions"

labels_collection

La regola controlla i tensori in questa raccolta per labels.

Opzionale

Valori validi: stringa

Valore predefinito: "labels"

predictions_collection

La regola controlla i tensori in questa raccolta per predictions.

Opzionale

Valori validi: stringa

Valore predefinito: "predictions"

min_diag

La soglia minima per il rapporto dei dati sulla diagonale.

Opzionale

Valori validi: 0≤float≤1

Valore predefinito: 0.9

max_off_diag

La soglia massima per il rapporto tra i dati fuori dalla diagonale.

Opzionale

Valori validi: 0≤float≤1

Valore predefinito: 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

Questa regola detiene i valori predefiniti per i parametri facoltativi se i loro valori non sono specificati.

FeatureImportanceSovrappeso

Questa regola accumula i pesi degli n maggiori valori di importanza delle caratteristiche per ogni fase e garantisce che non superino la soglia. Ad esempio, è possibile impostare la soglia per le 3 caratteristiche principali in modo che non contengano più dell'80% dei pesi totali del modello.

Questa regola è valida solo per l'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola FeatureImportanceOverweight
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

threshold

Definisce la soglia della proporzione della somma cumulativa delle funzionalità più grandi n. Il numero n è definito dal parametro nfeatures.

Opzionale

Valori validi: float

Valore predefinito: 0.8

nfeatures

Il numero di funzionalità più grandi.

Opzionale

Valori validi: numeri interi

Valore predefinito: 3

tensor_regex

L'espressione regolare (regex) del tensore indica la regola da analizzare.

Opzionale

Valori validi: stringa

Valore predefinito: ".*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

Questa regola misura la profondità degli alberi in un modello XGBoost. XGBoost rifiuta le divisioni se non migliorano la perdita. Questo regolarizza l’addestramento. Di conseguenza, l'albero potrebbe non crescere così in profondità come definito dal parametro depth.

Questa regola è valida solo per l'algoritmo XGBoost.

Per un esempio di come configurare e distribuire una regola integrata, consulta Configurazione delle regole integrate di Debugger.

Descrizioni dei parametri per la regola TreeDepth
Nome parametro Descrizione
base_trial

Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger.

Campo obbligatorio

Valori validi: stringa

depth

La profondità dell'albero. La profondità dell'albero si ottiene calcolando il logaritmo di base 2 dell'ID nodo più grande.

Opzionale

Valori validi: float

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