Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Exemples de blocs-notes et d'exemples de code pour configurer Debugger Hook

Mode de mise au point
Exemples de blocs-notes et d'exemples de code pour configurer Debugger Hook - Amazon SageMaker

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.

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.

Les sections suivantes fournissent des exemples de blocs-notes et de code sur l'utilisation du hook de Debugger pour enregistrer, consulter et visualiser les tenseurs de sortie.

Exemples de carnets de visualisation des tenseurs

Les deux exemples de blocs-notes suivants illustrent l'utilisation avancée d'Amazon SageMaker Debugger pour visualiser les tenseurs. Debugger offre une vue transparente de l'entraînement des modèles de deep learning.

  • Analyse tensorielle interactive dans SageMaker Studio Notebook avec MXNet

    Cet exemple de bloc-notes montre comment visualiser des tenseurs enregistrés à l'aide d'Amazon SageMaker Debugger. En visualisant les tenseurs, vous pouvez voir comment les valeurs du tenseur changent pendant l'entraînement des algorithmes de deep learning. Ce bloc-notes inclut une tâche de formation avec un réseau neuronal mal configuré et utilise Amazon SageMaker Debugger pour agréger et analyser les tenseurs, notamment les gradients, les sorties d'activation et les poids. Par exemple, le diagramme suivant montre la distribution des gradients d'une couche convolutive qui souffre d'un problème de disparition gradient.

    Un graphique illustrant la distribution des dégradés.

    Ce bloc-notes montre également comment un bon réglage de l'hyperparamètre initial améliore le processus d'entraînement en générant les mêmes diagrammes de distribution du tenseur.

  • Visualisation et débogage des tenseurs à partir de l'entraînement des modèles MXNet

    Cet exemple de bloc-notes montre comment enregistrer et visualiser des tenseurs issus d'une tâche de formation sur un modèle MXNet Gluon à l'aide d'Amazon SageMaker Debugger. Cela montre que Debugger est configuré pour enregistrer tous les tenseurs dans un compartiment Amazon S3 et récupère les résultats ReLu d'activation pour la visualisation. La figure suivante montre une visualisation en trois dimensions des sorties ReLu d'activation. En termes de couleurs, le bleu est défini pour indiquer une valeur proche de 0 et le jaune pour indiquer des valeurs proches de 1.

    Une visualisation des sorties d'activation ReLU

    Dans ce bloc-notes, la TensorPlot classe importée depuis tensor_plot.py est conçue pour tracer des réseaux neuronaux convolutifs (CNNs) qui prennent des images bidimensionnelles pour les entrées. Le tensor_plot.py script fourni avec le bloc-notes récupère les tenseurs à l'aide de Debugger et visualise les. CNN Vous pouvez exécuter ce bloc-notes sur SageMaker Studio pour reproduire la visualisation du tenseur et implémenter votre propre modèle de réseau neuronal convolutif.

  • Analyse tensorielle en temps réel dans un SageMaker bloc-notes avec MXNet

    Cet exemple vous explique comment installer les composants requis pour émettre des tenseurs dans le cadre d'une tâche de SageMaker formation Amazon et comment utiliser les API opérations du Debugger pour accéder à ces tenseurs pendant la formation. Un CNN modèle de gluon est entraîné sur le jeu de MNIST données Fashion. Pendant que la tâche est en cours d'exécution, vous verrez comment Debugger récupère les sorties d'activation de la première couche convolutive de chacun des 100 lots et comment il les visualise. Vous découvrirez également comment visualiser les pondérations une fois la tâche terminée.

Enregistrez les tenseurs à l'aide des collections intégrées de Debugger

Vous pouvez utiliser des collections intégrées de tenseurs à l'aide du CollectionConfig API et les enregistrer à l'aide du DebuggerHookConfigAPI. L'exemple suivant montre comment utiliser les paramètres par défaut des configurations de hook Debugger pour créer un SageMaker TensorFlow estimateur. Vous pouvez également l'utiliser pour MXNet PyTorch, et les XGBoost estimateurs.

Note

Dans l'exemple de code suivant, le paramètre s3_output_path pour DebuggerHookConfig est facultatif. Si vous ne le spécifiez pas, Debugger enregistre les tenseurss3://<output_path>/debug-output/, où il s'<output_path>agit du chemin de sortie par défaut des tâches d' SageMaker entraînement. Par exemple :

"s3://sagemaker-us-east-1-111122223333/sagemaker-debugger-training-YYYY-MM-DD-HH-MM-SS-123/debug-output"
import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import DebuggerHookConfig, CollectionConfig # use Debugger CollectionConfig to call built-in collections collection_configs=[ CollectionConfig(name="weights"), CollectionConfig(name="gradients"), CollectionConfig(name="losses"), CollectionConfig(name="biases") ] # configure Debugger hook # set a target S3 bucket as you want sagemaker_session=sagemaker.Session() BUCKET_NAME=sagemaker_session.default_bucket() LOCATION_IN_BUCKET='debugger-built-in-collections-hook' hook_config=DebuggerHookConfig( s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'. format(BUCKET_NAME=BUCKET_NAME, LOCATION_IN_BUCKET=LOCATION_IN_BUCKET), collection_configs=collection_configs ) # construct a SageMaker TensorFlow estimator sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-demo-job', instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.9.0", py_version="py39", # debugger-specific hook argument below debugger_hook_config=hook_config ) sagemaker_estimator.fit()

Pour afficher la liste des collections intégrées de Debugger, consultez Debugger Built-in Collections.

Enregistrez les tenseurs en modifiant les collections intégrées du Debugger

Vous pouvez modifier les collections intégrées du Debugger à l'aide de cette opération. CollectionConfig API L'exemple suivant montre comment modifier la losses collection intégrée et créer un SageMaker TensorFlow estimateur. Vous pouvez également l'utiliser pour MXNet PyTorch, et les XGBoost estimateurs.

import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import DebuggerHookConfig, CollectionConfig # use Debugger CollectionConfig to call and modify built-in collections collection_configs=[ CollectionConfig( name="losses", parameters={"save_interval": "50"})] # configure Debugger hook # set a target S3 bucket as you want sagemaker_session=sagemaker.Session() BUCKET_NAME=sagemaker_session.default_bucket() LOCATION_IN_BUCKET='debugger-modified-collections-hook' hook_config=DebuggerHookConfig( s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'. format(BUCKET_NAME=BUCKET_NAME, LOCATION_IN_BUCKET=LOCATION_IN_BUCKET), collection_configs=collection_configs ) # construct a SageMaker TensorFlow estimator sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-demo-job', instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.9.0", py_version="py39", # debugger-specific hook argument below debugger_hook_config=hook_config ) sagemaker_estimator.fit()

Pour une liste complète des CollectionConfig paramètres, voir Debugger CollectionConfig API.

Enregistrez les tenseurs à l'aide des collections personnalisées de Debugger

Vous pouvez également enregistrer un nombre réduit de tenseurs au lieu de la totalité des tenseurs (par exemple, si vous souhaitez réduire la quantité de données enregistrées dans votre compartiment Amazon S3). L'exemple suivant montre comment personnaliser la configuration du hook de Debugger pour spécifier les tenseurs cible à enregistrer. Vous pouvez l'utiliser pour TensorFlow, MXNet PyTorch, et les XGBoost estimateurs.

import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import DebuggerHookConfig, CollectionConfig # use Debugger CollectionConfig to create a custom collection collection_configs=[ CollectionConfig( name="custom_activations_collection", parameters={ "include_regex": "relu|tanh", # Required "reductions": "mean,variance,max,abs_mean,abs_variance,abs_max" }) ] # configure Debugger hook # set a target S3 bucket as you want sagemaker_session=sagemaker.Session() BUCKET_NAME=sagemaker_session.default_bucket() LOCATION_IN_BUCKET='debugger-custom-collections-hook' hook_config=DebuggerHookConfig( s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'. format(BUCKET_NAME=BUCKET_NAME, LOCATION_IN_BUCKET=LOCATION_IN_BUCKET), collection_configs=collection_configs ) # construct a SageMaker TensorFlow estimator sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-demo-job', instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.9.0", py_version="py39", # debugger-specific hook argument below debugger_hook_config=hook_config ) sagemaker_estimator.fit()

Pour une liste complète des CollectionConfig paramètres, voir Debugger CollectionConfig.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.