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 with TensoBoard, qui fournit une TensorBoard expérience complète intégrée à SageMaker Training et aux fonctionnalités de contrôle d'accès du SageMaker domaine. Pour en savoir plus, consultez TensorBoard sur Amazon SageMaker.
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 SageMaker session 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 le Debugger
TensorBoardOutputConfig
API dans Amazon Python SageMaker. SDK -
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 DebuggerAPIs, consultez le Debugger et
DebuggerHookConfig
APIs AmazonCollectionConfig
Python. SageMaker SDK -
Construisez un SageMaker estimateur avec les paramètres du Debugger transmis aux objets de configuration. L'exemple de modèle suivant montre comment créer un SageMaker estimateur générique. Vous pouvez remplacer
estimator
et par les classesEstimator
parentes d'estimateurs et SageMaker les classes d'estimateurs d'autres frameworks. Les estimateurs de SageMaker framework 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 TAR fichier à télécharger sur votre machine locale.
!tar -cf logs.tar logs
-
Téléchargez et extrayez le TAR fichier 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 TensorBoard TAR fichier Debugger et le charger dans un bloc-notes Jupyter sur votre appareil local.