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.
Visualisez les tenseurs SageMaker de sortie d'Amazon Debugger dans TensorBoard
Important
Cette page est obsolète au profit d'Amazon SageMaker AI with TensoBoard, qui fournit une TensorBoard expérience complète intégrée aux fonctionnalités de SageMaker formation et de contrôle d'accès du domaine SageMaker AI. Pour en savoir plus, consultez TensorBoard dans Amazon SageMaker AI.
Utilisez SageMaker Debugger pour créer des fichiers tenseurs de sortie compatibles avec. TensorBoard Chargez les fichiers pour visualiser TensorBoard et analyser vos tâches SageMaker de formation. Le débogueur génère automatiquement des fichiers tenseurs de sortie compatibles avec. TensorBoard Quelle que soit la configuration de hook que vous personnalisez pour enregistrer des tenseurs de sortie, Debugger offre la possibilité de créer des résumés scalaires, des distributions et des histogrammes dans lesquels vous pouvez les importer. TensorBoard

Vous pouvez activer cela en transmettant les objets DebuggerHookConfig
et TensorBoardOutputConfig
à un objet estimator
.
La procédure suivante explique comment enregistrer des scalaires, des poids et des biais sous forme de tenseurs complets, d'histogrammes et de distributions pouvant être visualisés avec. TensorBoard Debugger les enregistre dans le chemin local du conteneur d'entraînement (le chemin par défaut est /opt/ml/output/tensors
) et se synchronise avec les emplacements Amazon S3 transmis via les objets de configuration de sortie Debugger.
Pour enregistrer des fichiers tenseurs de sortie TensorBoard compatibles à l'aide du débogueur
-
Configurez un objet
tensorboard_output_config
de configuration pour enregistrer la TensorBoard sortie à l'aide de la classe DebuggerTensorBoardOutputConfig
. Pour les3_output_path
paramètre, spécifiez le compartiment S3 par défaut de la session SageMaker AI en cours ou un compartiment S3 préféré. Cet exemple n'ajoute pas le paramètrecontainer_local_output_path
; à la place, il est défini sur le chemin local par défaut/opt/ml/output/tensors
.import sagemaker from sagemaker.debugger import TensorBoardOutputConfig bucket = sagemaker.Session().default_bucket() tensorboard_output_config = TensorBoardOutputConfig( s3_output_path='s3://{}'.format(bucket) )
Pour plus d'informations, consultez l'
TensorBoardOutputConfig
API Debugger dans le SDK Amazon SageMaker Python. -
Configurez le hook Debugger et personnalisez les valeurs des paramètres du hook. Par exemple, le code suivant configure un hook Debugger pour enregistrer toutes les sorties scalaires toutes les 100 étapes dans les phases d'entraînement et toutes les 10 étapes dans les phases de validation, les paramètres
weights
toutes les 500 étapes (la valeur par défautsave_interval
pour enregistrer les collections de tenseurs est 500), et les paramètresbias
toutes les 10 étapes globales jusqu'à ce que l'étape globale atteigne 500.from sagemaker.debugger import CollectionConfig, DebuggerHookConfig hook_config = DebuggerHookConfig( hook_parameters={ "train.save_interval": "100", "eval.save_interval": "10" }, collection_configs=[ CollectionConfig("weights"), CollectionConfig( name="biases", parameters={ "save_interval": "10", "end_step": "500", "save_histogram": "True" } ), ] )
Pour plus d'informations sur la configuration du débogueur APIs, consultez le débogueur
CollectionConfig
et le SDKDebuggerHookConfig
APIs Amazon Python. SageMaker -
Construisez un estimateur SageMaker AI avec les paramètres du Debugger en transmettant les objets de configuration. L'exemple de modèle suivant montre comment créer un estimateur SageMaker IA générique. Vous pouvez remplacer
estimator
et par les classesEstimator
parentes d'estimateurs et les classes d'estimateurs d'autres frameworks d' SageMaker IA. Les estimateurs du framework d' SageMaker IA disponibles pour cette fonctionnalité sontTensorFlow
PyTorch
, et.MXNet
from sagemaker.
estimator
importEstimator
estimator =Estimator
( ... # Debugger parameters debugger_hook_config=hook_config, tensorboard_output_config=tensorboard_output_config ) estimator.fit()La
estimator.fit()
méthode lance une tâche d'entraînement et Debugger écrit les fichiers tenseurs de sortie en temps réel sur le chemin de sortie du Debugger S3 et sur le chemin de sortie S3. TensorBoard Pour récupérer les chemins de sortie, utilisez les méthodes d'estimateur suivantes :-
Pour le chemin de sortie Debugger S3, utilisez
estimator.latest_job_debugger_artifacts_path()
. -
Pour le chemin de sortie TensorBoard S3, utilisez
estimator.latest_job_tensorboard_artifacts_path()
.
-
-
Une fois l'entraînement terminé, vérifiez les noms des tenseurs de sortie enregistrés :
from smdebug.trials import create_trial trial = create_trial(estimator.latest_job_debugger_artifacts_path()) trial.tensor_names()
-
Vérifiez les données TensorBoard de sortie dans Amazon S3 :
tensorboard_output_path=estimator.latest_job_tensorboard_artifacts_path() print(tensorboard_output_path) !aws s3 ls {tensorboard_output_path}/
-
Téléchargez les données TensorBoard de sortie sur votre instance de bloc-notes. Par exemple, la AWS CLI commande suivante télécharge les TensorBoard fichiers
/logs/fit
dans le répertoire de travail actuel de votre instance de bloc-notes.!aws s3 cp --recursive {tensorboard_output_path}
./logs/fit
-
Compressez le répertoire de fichiers dans un fichier TAR à télécharger sur votre ordinateur local.
!tar -cf logs.tar logs
-
Téléchargez et extrayez le fichier TAR Tensorboard dans un répertoire de votre appareil, lancez un serveur de bloc-notes Jupyter, ouvrez un nouveau bloc-notes et exécutez l'application. TensorBoard
!tar -xf logs.tar %load_ext tensorboard %tensorboard --logdir logs/fit
La capture d'écran animée suivante illustre les étapes 5 à 8. Il montre comment télécharger le fichier TensorBoard TAR du débogueur et le charger dans un bloc-notes Jupyter sur votre appareil local.
