Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Liste des règles intégrées du Debugger
Vous pouvez utiliser les règles intégrées du Debugger, fournies par Amazon SageMaker Debugger, pour analyser les métriques et les tenseurs collectés lors de l'entraînement de vos modèles. Vous trouverez ci-dessous la liste des règles du débogueur, notamment des informations et un exemple de configuration et de déploiement de chaque règle intégrée.
Les règles intégrées de Debugger contrôlent diverses conditions communes qui sont essentielles à la réussite d'une tâche d'entraînement. Vous pouvez appeler les règles intégrées à l'aide d'Amazon SageMaker Python SDK
L'utilisation des règles intégrées n'entraîne aucun coût supplémentaire. Pour plus d'informations sur la facturation, consultez la page de SageMaker tarification d'Amazon
Note
Le nombre maximal de règles intégrées que vous pouvez associer à une tâche d'entraînement est de 20. SageMaker Debugger gère entièrement les règles intégrées et analyse votre tâche d'entraînement de manière synchrone.
Important
Pour utiliser les nouvelles fonctionnalités du Debugger, vous devez mettre à niveau le SageMaker Python SDK et la bibliothèque SMDebug cliente. Dans votre iPython noyau, votre bloc-notes Jupyter ou votre JupyterLab environnement, exécutez le code suivant pour installer les dernières versions des bibliothèques et redémarrer le noyau.
import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)
Règle du débogueur
Les règles suivantes sont les règles intégrées Debugger qui peuvent être appelées à l'aide de la méthode de classe Rule.sagemaker
.
Règles intégrées à Debugger pour la génération de rapports d'entraînement
Domaine de validité | Règles intégrées |
---|---|
Rapport de formation pour un poste SageMaker XGboost de formation |
Règles intégrées à Debugger pour le débogage des données d'entraînement de modèle (tenseurs de sortie)
Domaine de validité | Règles intégrées |
---|---|
Frameworks d'apprentissage profond (TensorFlowMXNet, et PyTorch) | |
Les frameworks d'apprentissage profond (TensorFlowMXNet,, et PyTorch) et l'XGBoostalgorithme | |
Applications de deep learning | |
XGBoostalgorithme |
Pour utiliser les règles intégrées avec les valeurs de paramètre par défaut, utilisez le format de configuration suivant :
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
()) ]
Pour utiliser les règles intégrées avec la personnalisation des valeurs des paramètres, utilisez le format de configuration suivant :
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
" } ) ] ) ]
Pour voir les clés disponibles pour le paramètre rule_parameters
, consultez les tables de description des paramètres.
Des exemples de codes de configuration de règle sont fournis pour chaque règle intégrée sous les tables de description des paramètres.
-
Pour obtenir des instructions complètes et des exemples d'utilisation des règles intégrées Debugger, veuillez consulter Exemple de code de règles intégrées au débogueur.
-
Pour obtenir des instructions complètes sur l'utilisation des règles intégrées avec les SageMaker API opérations de bas niveau, reportez-vous Configurez le débogueur à l'aide de SageMaker API à.
CreateXgboostReport
La CreateXgboostReport règle collecte les tenseurs de sortie d'une tâche de XGBoost formation et génère automatiquement un rapport d'entraînement complet. Vous pouvez télécharger un rapport de profilage complet pendant qu'une tâche d'entraînement est en cours d'exécution ou une fois la tâche d'entraînement terminée, et vérifier l'avancement de l'entraînement ou le résultat final de la tâche d'entraînement. La CreateXgboostReport règle collecte les tenseurs de sortie suivants par défaut :
-
hyperparameters
— Enregistre à la première étape -
metrics
— Enregistre la perte et la précision toutes les 5 étapes -
feature_importance
— Enregistre toutes les 5 étapes -
predictions
— Enregistre toutes les 5 étapes -
labels
— Enregistre toutes les 5 étapes
Descriptions des paramètres de la CreateXgboostReport règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
rules=[ Rule.sagemaker( rule_configs.
create_xgboost_report
() ) ]
DeadRelu
Cette règle détecte les cas où le pourcentage de fonctions d'activation d'unité ReLU (unité linéaire rectifiée) dans un essai est considéré comme mort parce que leur activité d'activation est descendue sous un seuil. Si le pourcentage de R inactif eLUs dans une couche est supérieur à la threshold_layer
valeur de R inactifeLUs, la règle est renvoyéeTrue
.
Descriptions des paramètres de la DeadRelu règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : |
threshold_inactivity |
Définit un niveau d'activité sous lequel une unité ReLU est considérée morte. Une unité ReLU peut être active au début d'un essai, puis peut mourir lentement au cours du processus d'entraînement. Si l'unité ReLU est active au-dessous de Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
threshold_layer |
Renvoie Renvoie Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
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
" } ) ] ) ]
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Cette règle n'est pas disponible pour l'XGBoostalgorithme.
ExplodingTensor
Cette règle détecte si les tenseurs émis pendant l'entraînement ont des valeurs non finies, infinies ou non numériques (NaN, Not a Number). Si une valeur non finie est détectée, la règle renvoie True
.
Descriptions des paramètres de la ExplodingTensor règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : string Valeur par défaut : |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : string Valeur par défaut : |
only_nan |
Facultatif Valeur par défaut : |
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
" } ) ] ) ]
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Cette règle n'est pas disponible pour l'XGBoostalgorithme.
PoorWeightInitialization
Cette règle détecte si les paramètres de votre modèle ont été mal initialisés.
Une bonne initialisation rompt la symétrie des pondérations et des gradients dans un réseau neuronal, et maintient des variances d'activation proportionnelles entre les couches. Sinon, le réseau neuronal n'apprend pas efficacement. Des initialiseurs comme Xavier visent à maintenir une variance constante entre les activations, ce qui est particulièrement pertinent dans le cadre de l'entraînement de réseaux neuronaux très profonds. Une trop petite initialisation peut conduire à des gradients disparaissant. Une trop grande initialisation peut conduire à des gradients explosifs. Cette règle vérifie la variance des entrées d'activation entre les couches, la distribution des gradients et la convergence des pertes pour les étapes initiales afin de déterminer si un réseau neuronal a été mal initialisé.
Descriptions des paramètres de la PoorWeightInitialization règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
activation_inputs_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : string Valeur par défaut : |
threshold |
Si le rapport entre les variances minimale et maximale des pondérations par couche dépasse Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
distribution_range |
Si la différence minimale entre le 5e et le 95e centiles de la distribution des gradients est inférieure à Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
patience |
Nombre d'étapes qu'il convient d'attendre jusqu'à ce que la perte ne soit plus considérée comme décroissante. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
steps |
Nombre d'étapes analysées par cette règle. En général, vous n'avez besoin de vérifier que les premières itérations. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
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
" } ) ] ) ]
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Cette règle n'est pas disponible pour l'XGBoostalgorithme.
SaturatedActivation
Cette règle détecte si les couches d'activation tanh et sigmoïde deviennent saturées. Une couche d'activation est saturée lorsque l'entrée de la couche est proche du maximum ou du minimum de la fonction d'activation. Le minimum et le maximum des fonctions d'activation tanh et sigmoïde sont définis par leurs valeurs min_threshold
et max_thresholds
respectives. Si l'activité d'un nœud descend en dessous du pourcentage threshold_inactivity
, il est considéré saturé. Si un pourcentage supérieur à threshold_layer
des nœuds sont saturés, la règle renvoie True
.
Descriptions des paramètres de la SaturatedActivation règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : string Valeur par défaut : |
threshold_tanh_min |
Seuils minimum et maximum qui définissent les extrêmes d'entrée d'une fonction d'activation tanh, définis comme : Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
threshold_tanh_max |
Seuils minimum et maximum qui définissent les extrêmes d'entrée d'une fonction d'activation tanh, définis comme : Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
threshold_sigmoid_min |
Seuils minimum et maximum qui définissent les extrêmes d'entrée d'une fonction d'activation sigmoïde, définis comme : Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
threshold_sigmoid_max |
Seuils minimum et maximum qui définissent les extrêmes d'entrée d'une fonction d'activation sigmoïde, définis comme : Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
threshold_inactivity |
Pourcentage d'inactivité sous lequel la couche d'activation est considérée comme saturée. L'activation peut être active au début d'un essai, puis devenir lentement moins active au cours du processus d'entraînement. Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
threshold_layer |
Renvoie Renvoie Facultatif Valeurs valides : valeur flottante Valeurs par défaut : |
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
" } ) ] ) ]
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Cette règle n'est pas disponible pour l'XGBoostalgorithme.
VanishingGradient
Cette règle détecte si les gradients d'un essai deviennent extrêmement faibles ou atteignent une grandeur nulle. Si la moyenne des valeurs absolues des gradients descend en dessous d'un threshold
spécifié, la règle renvoie True
.
Descriptions des paramètres de la VanishingGradient règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
threshold |
Valeur à laquelle le gradient est considéré comme disparaissant. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
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
" } ) ] ) ]
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Cette règle n'est pas disponible pour l'XGBoostalgorithme.
WeightUpdateRatio
Cette règle assure le suivi du rapport entre les mises à jour et les pondérations pendant l'entraînement et détecte si ce rapport devient trop grand ou trop petit. Si le rapport entre les mises à jour et les pondérations est supérieur à large_threshold value
ou s'il est inférieur à small_threshold
, la règle renvoie True
.
Les conditions d'entraînement sont les meilleures lorsque les mises à jour sont proportionnelles aux gradients. Des mises à jour excessivement grandes peuvent éloigner les pondérations des valeurs optimales, et des mises à jour très petites entraînent une convergence très lente. Cette règle exige que les pondérations soient disponibles pour deux étapes d'entraînement. Le paramètre train.save_interval
doit donc être égal à num_steps
.
Descriptions des paramètres de la WeightUpdateRatio règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
num_steps |
Nombre d'étapes dans lesquelles la règle vérifie si le tenseur a changé. Nombre d'étapes dans lesquelles vous souhaitez comparer les rapports de pondération. Si vous ne transmettez aucune valeur, la règle s'exécute par défaut sur l'étape actuelle et l'étape enregistrée immédiatement avant. Si vous remplacez la valeur par défaut en passant une valeur pour ce paramètre, la comparaison est effectuée entre les pondérations à l'étape Facultatif Valeurs valides : nombre entier Valeur par défaut : |
large_threshold |
Valeur maximale que le rapport entre les mises à jour et la pondération peut prendre avant que la règle renvoie Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
small_threshold |
Valeur minimale que le rapport entre les mises à jour et la pondération peut prendre sous laquelle la règle renvoie Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
epsilon |
Petite constante utilisée pour s'assurer que Debugger ne divise pas par zéro lors du calcul du rapport entre les mises à jour et la pondération. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
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
" } ) ] ) ]
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Cette règle n'est pas disponible pour l'XGBoostalgorithme.
AllZero
Cette règle détecte si la totalité ou un pourcentage spécifié des valeurs dans les tenseurs sont nulles.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme. Vous devez spécifier le paramètre collection_names
ou tensor_regex
. Si les deux paramètres sont spécifiés, la règle inspecte l'union des tenseurs à partir des deux ensembles.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la AllZero règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : |
threshold |
Spécifie le pourcentage des valeurs du tenseur qui doivent être nulles pour que cette règle soit invoquée. Facultatif Valeurs valides : valeur flottante Valeur par défaut : 100 (en pourcentage) |
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
Cette règle mesure les déséquilibres d'échantillonnage entre les classes et génère des erreurs si le déséquilibre dépasse un seuil ou si trop d'erreurs de prédiction pour les classes sous-représentées se produisent en raison du déséquilibre.
Les modèles de classification exigent des classes bien équilibrées dans le jeu de données d'entraînement ou une pondération/un échantillonnage correct des classes pendant l'entraînement. La règle effectue les vérifications suivantes :
-
Elle compte les occurrences par classe. Si le rapport des nombres d'échantillons entre la plus petite classe et la plus grande classe est supérieur à
threshold_imbalance
, une erreur est levée. -
Elle vérifie la précision des prédictions par classe. Si le rééchantillonnage ou la pondération n'ont pas été appliqués correctement, le modèle peut atteindre une grande précision pour la classe avec de nombreux échantillons d'entraînement mais une faible précision pour les classes avec peu d'échantillons d'entraînement. Si une fraction de fausses prédictions pour une certaine classe dépasse
threshold_misprediction
, une erreur est générée.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la ClassImbalance règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
threshold_imbalance |
Déséquilibre acceptable entre le nombre d'échantillons dans la catégorie la plus petite et dans la catégorie la plus grande. Le dépassement de cette valeur de seuil génère une erreur. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
threshold_misprediction |
Limite de la fraction de fausses prédictions permise pour chaque classe. Le dépassement de ce seuil génère une erreur. Les classes sous-représentées risquent le plus de franchir ce seuil. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
samples |
Nombre d'étiquettes à traiter avant qu'un déséquilibre soit évalué. La règle peut ne pas être déclenchée tant qu'elle n'a pas vu suffisamment d'échantillons dans plusieurs étapes. Plus votre jeu de données contient de classes, plus le nombre Facultatif Valeurs valides : nombre entier Valeur par défaut : |
argmax |
Si Conditionnel Valeurs valides : booléen Valeur par défaut : |
labels_regex |
Nom du tenseur qui contient les étiquettes. Facultatif Valeurs valides : string Valeur par défaut : |
predictions_regex |
Nom du tenseur qui contient les prédictions. Facultatif Valeurs valides : string Valeur par défaut : |
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
Cette règle détecte lorsque la perte ne diminue pas en valeur à un taux adéquat. Ces pertes doivent être des scalaires.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme. Vous devez spécifier le paramètre collection_names
ou tensor_regex
. Si les deux paramètres sont spécifiés, la règle inspecte l'union des tenseurs à partir des deux ensembles.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la LossNotDecreasing règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : |
use_losses_collection |
Si ce paramètre a pour valeur Facultatif Valeurs valides : booléen Valeur par défaut : |
num_steps |
Nombre minimal d'étapes après lesquelles la règle vérifie si la perte a diminué. L'évaluation de la règle se produit toutes les Facultatif Valeurs valides : nombre entier Valeur par défaut : |
diff_percent |
Différence minimale en pourcentage par laquelle la perte devrait diminuer entre Facultatif Valeurs valides : Valeur par défaut : |
increase_threshold_percent |
Pourcentage maximal de perte autorisé en cas d'augmentation de la perte Facultatif Valeurs valides : Valeur par défaut : |
mode |
Nom du mode Debugger d'interrogation des valeurs de tenseur pour la vérification des règles. Si la vérification n'a pas abouti, la règle vérifie par défaut et dans cet ordre les valeurs Facultatif Valeurs valides : Chaîne ( Valeur par défaut : |
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
Cette règle détecte si votre modèle est surajusté aux données d'entraînement en comparant les pertes de validation et d'entraînement.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Une façon standard d'éviter le surajustement est de régulariser votre modèle.
Description des paramètres de la règle Overfit
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
start_step |
Étape à partir de laquelle commencer à comparer la perte de validation et d'entraînement. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
patience |
Nombre d'étapes pour lesquelles Facultatif Valeurs valides : nombre entier Valeur par défaut : |
ratio_threshold |
Rapport maximal entre la différence entre la perte moyenne de validation et la perte moyenne d'entraînement, et la perte moyenne d'entraînement. Si ce seuil est dépassé pour un nombre d'étapes égal à Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
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
Cette règle détecte si un modèle est surentraîné. Après un certain nombre d'itérations d'entraînement sur un modèle performant (les pertes d'entraînement et de validation diminuent), le modèle s'approche d'un minimum de la fonction de perte et ne s'améliore plus. Si le modèle poursuit l'entraînement, il peut arriver que la perte de validation commence à augmenter, car le modèle commence à se surajuster. Cette règle définit des seuils et des conditions pour déterminer si le modèle ne s'améliore pas, et empêche les problèmes de surajustement dus à un surentraînement.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Note
Le surentraînement peut être évité par un arrêt anticipé. Pour de plus amples informations sur l'arrêt anticipé, veuillez consulter Arrêter de manière précoce des tâches d'entraînement. Pour un exemple illustrant comment utiliser la formation ponctuelle avec Debugger, consultez la section Activer la formation ponctuelle avec Amazon SageMaker
Description des paramètres de la règle Overtraining
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
patience_train |
Nombre d'étapes à attendre avant que la perte d'entraînement soit considérée comme ne s'améliorant plus. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
patience_validation |
Nombre d'étapes à attendre avant que la perte de validation soit considérée comme ne s'améliorant plus. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
delta |
Seuil minimal correspondant à l'ampleur par laquelle l'erreur devrait s'améliorer avant qu'elle soit considérée comme une erreur optimale. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
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
Cette règle compare les tenseurs collectés à partir d'un essai de base à ceux issus d'un autre essai.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la SimilarAcrossRuns règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
other_trials |
Nom de tâche d'entraînement terminée dont vous souhaitez comparer les tenseurs à ceux collectés à partir de l'essai Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
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 détecte si aucun progrès n'a été réalisé dans le cadre de la tâche de formation et arrête la tâche de formation si la règle est annulée. Cette règle exige que les tenseurs soient enregistrés périodiquement dans un intervalle de temps défini par son paramètre threshold
. Elle continue de contrôler les nouveaux tenseurs, et si aucun nouveau tenseur n'a été émis pour la règle d'intervalle de seuil, elle est déclenchée.
Descriptions des paramètres de la StalledTrainingRule règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
threshold |
Seuil qui définit le temps en secondes pendant lequel la règle attend une sortie de tenseur avant de déclencher un problème de blocage d'entraînement. La valeur par défaut est 1 800 secondes. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
stop_training_on_fire |
Si la règle est définie sur Facultatif Valeurs valides : booléen Valeur par défaut : |
training_job_name_prefix |
Préfixe du nom de la tâche d'entraînement de base. Si Facultatif Valeurs valides : 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
Cette règle détecte si vous avez des tenseurs avec des variances très élevées ou très faibles. Des variances très élevées ou faibles dans un tenseur peuvent conduire à une saturation neuronale et réduire la capacité d'apprentissage du réseau neuronal. Une variance très élevée dans les tenseurs peut aussi éventuellement conduire à l'explosion des tenseurs. Utilisez cette règle pour détecter rapidement ces problèmes.
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme. Vous devez spécifier le paramètre collection_names
ou tensor_regex
. Si les deux paramètres sont spécifiés, la règle inspecte l'union des tenseurs à partir des deux ensembles.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la TensorVariance règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
max_threshold |
Seuil pour la limite supérieure de la variance des tenseurs. Facultatif Valeurs valides : valeur flottante Valeur par défaut : aucune. |
min_threshold |
Seuil pour la limite inférieure de la variance des tenseurs. Facultatif Valeurs valides : valeur flottante Valeur par défaut : aucune. |
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
Cette règle détecte si un tenseur ne change plus d'une étape à l'autre.
Cette règle exécute la méthode numpsy.allclose
Cette règle peut être appliquée soit à l'un des frameworks d'apprentissage profond pris en charge (TensorFlow,MXNet, et PyTorch), soit à l'XGBoostalgorithme. Vous devez spécifier le paramètre collection_names
ou tensor_regex
. Si les deux paramètres sont spécifiés, la règle inspecte l'union des tenseurs à partir des deux ensembles.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la UnchangedTensor règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
collection_names |
Liste des noms de collection dont la règle inspecte les tenseurs. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : aucune. |
num_steps |
Nombre d'étapes dans lesquelles la règle vérifie si le tenseur a changé. Les Facultatif Valeurs valides : nombre entier Valeur par défaut : |
rtol |
Paramètre de tolérance relative à transmettre à la méthode Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
atol |
Paramètre de tolérance absolue à transmettre à la méthode Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
equal_nan |
S'il faut comparer NaNs en tant qu'égal. Si Facultatif Valeurs valides : booléen Valeur par défaut : |
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
Cette règle vérifie si les images d'entrée ont été correctement normalisées. Plus précisément, elle détecte si la moyenne des données d'échantillonnage diffère de plus d'une valeur seuil par rapport à zéro. De nombreux modèles de vision par ordinateur exigent que les données d'entrée aient une variance unitaire et moyenne nulle.
Cette règle s'applique aux applications de deep learning.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la CheckInputImages règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
threshold_mean |
Seuil qui définit la marge selon laquelle la moyenne des données en entrée peut différer de 0. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
threshold_samples |
Nombre d'images qui doivent être échantillonnées avant qu'une erreur puisse être générée. Si la valeur est trop faible, l'estimation de la moyenne du jeu de données est inexacte. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
regex |
Nom du tenseur de données en entrée. Facultatif Valeurs valides : string Valeur par défaut : |
channel |
Position du canal de couleur dans le tableau de forme du tenseur d'entrée. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
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
Cette règle calcule le rapport de jetons spécifiques compte tenu du reste de la séquence d'entrée qui est utile pour optimiser les performances. Par exemple, vous pouvez calculer le pourcentage de jetons padding end-of-sentence (EOS) dans votre séquence de saisie. Si le nombre de EOS jetons est trop élevé, une autre stratégie de compartimentage doit être appliquée. Vous pouvez également calculer le pourcentage de jetons inconnus dans votre séquence d'entrée. Si le nombre de mots inconnus est trop élevé, un autre vocabulaire peut être utilisé.
Cette règle s'applique aux applications de deep learning.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la NLPSequenceRatio règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
tensor_regex |
Liste de modèles regex utilisés pour limiter la comparaison à des tenseurs à valeur scalaire spécifiques. La règle inspecte uniquement les tenseurs qui correspondent aux modèles regex spécifiés dans la liste. Si aucun modèle n'est transmis, la règle compare par défaut tous les tenseurs collectés dans les essais. Seuls les tenseurs à valeur scalaire peuvent être mis en correspondance. Facultatif Valeurs valides : liste de chaînes ou chaîne séparée par des virgules Valeur par défaut : |
token_values |
Chaîne d'une liste des valeurs numériques des jetons. Par exemple, « 3, 0 ». Facultatif Valeurs valides : chaîne de valeurs numériques séparées par des virgules Valeur par défaut : |
token_thresholds_percent |
Chaîne d'une liste de seuils (pourcentages) correspondant à chaque valeur Facultatif Valeurs valides : chaîne de valeurs flottantes séparées par des virgules Valeur par défaut : |
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
Cette règle évalue la validité d'une matrice de confusion pour un problème de classification.
Elle crée une matrice de taille category_no*category_no
et la remplit avec des données provenant de paires (labels
, predictions
). Pour chaque paire (labels
, predictions
), le nombre dans confusion[labels][predictions]
est incrémenté de 1. Lorsque la matrice est entièrement remplie, le rapport entre les valeurs sur la diagonale et les valeurs hors diagonale est évalué comme suit :
-
Pour les éléments sur la diagonale :
confusion[i][i]/sum_j(confusion[j][j])>=min_diag
-
Pour les éléments hors diagonale :
confusion[j][i])/sum_j(confusion[j][i])<=max_off_diag
Cette règle peut être appliquée à l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Description des paramètres de la règle Confusion
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
category_no |
Nombre de catégories. Facultatif Valeurs valides : nombre entier ≥2 Valeur par défaut : |
labels |
Collection de tenseurs Facultatif Valeurs valides : string Valeur par défaut : |
predictions |
Collection de tenseurs Facultatif Valeurs valides : string Valeur par défaut : |
labels_collection |
La règle inspecte les tenseurs de cette collection pour Facultatif Valeurs valides : string Valeur par défaut : |
predictions_collection |
La règle inspecte les tenseurs de cette collection pour Facultatif Valeurs valides : string Valeur par défaut : |
min_diag |
Seuil minimal du rapport des données sur la diagonale. Facultatif Valeurs valides : Valeur par défaut : |
max_off_diag |
Seuil maximal du rapport des données hors diagonale. Facultatif Valeurs valides : Valeur par défaut : |
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
" } ) ] ) ]
Note
Cette règle déduit des valeurs par défaut pour les paramètres facultatifs si leurs valeurs ne sont pas spécifiées.
FeatureImportanceOverweight
Cette règle accumule les pondérations des n valeurs les plus élevées d'importance de la fonction par étape et garantit qu'elles ne dépassent pas le seuil. Par exemple, vous pouvez définir le seuil pour les trois premières fonctions de manière à ce qu'elles ne contiennent pas plus de 80 % des pondérations totales du modèle.
Cette règle n'est valide que pour l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la FeatureImportanceOverweight règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
threshold |
Définit le seuil de la proportion de la somme cumulée des Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
nfeatures |
Nombre de fonctions les plus grandes. Facultatif Valeurs valides : nombre entier Valeur par défaut : |
tensor_regex |
L'expression régulière (regex) du tenseur nomme la règle à analyser. Facultatif Valeurs valides : string Valeur par défaut : |
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
Cette règle mesure la profondeur des arbres dans un XGBoost modèle. XGBoostrejette les scissions si elles n'améliorent pas les pertes. Cela régularise l'entraînement. Par conséquent, l'arbre peut ne pas pousser aussi profondément que cela est défini par le paramètre depth
.
Cette règle n'est valide que pour l'XGBoostalgorithme.
Pour obtenir un exemple de configuration et de déploiement d'une règle intégrée, veuillez consulter Comment configurer les règles intégrées du Debugger.
Descriptions des paramètres de la TreeDepth règle
Nom du paramètre | Description |
---|---|
base_trial |
Nom de la tâche d'entraînement d'essai de base. Ce paramètre est automatiquement défini sur la tâche de formation en cours par Amazon SageMaker Debugger. Obligatoire Valeurs valides : string |
depth |
Profondeur de l'arbre. La profondeur de l'arbre est obtenue en calculant le logarithme en base 2 du plus grand ID de nœud. Facultatif Valeurs valides : valeur flottante Valeur par défaut : |
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
" } ) ] ) ]