Visualisez les tenseurs SageMaker de sortie d'Amazon Debugger dans TensorBoard - 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.

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 À utiliser pour déboguer et analyser les tâches de formation 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

Diagramme d'architecture du mécanisme de sauvegarde du tenseur de sortie Debugger.

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
  1. Configurez un objet tensorboard_output_config de configuration pour enregistrer la TensorBoard sortie à l'aide de la classe DebuggerTensorBoardOutputConfig. Pour le s3_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ètre container_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

  2. 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éfaut save_interval pour enregistrer les collections de tenseurs est 500), et les paramètres bias 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 Amazon CollectionConfig Python. SageMaker SDK

  3. 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 classes Estimator parentes d'estimateurs et SageMaker les classes d'estimateurs d'autres frameworks. Les estimateurs de SageMaker framework disponibles pour cette fonctionnalité sont TensorFlowPyTorch, et. MXNet

    from sagemaker.estimator import Estimator 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, utilisezestimator.latest_job_tensorboard_artifacts_path().

  4. 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()
  5. 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}/
  6. 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
  7. Compressez le répertoire de fichiers dans un TAR fichier à télécharger sur votre machine locale.

    !tar -cf logs.tar logs
  8. 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.

Animation expliquant comment télécharger et charger le TensorBoard fichier Debugger sur votre machine locale.