View a markdown version of this page

Préparer un travail de formation pour collecter les données TensorBoard de sortie - Amazon SageMaker AI

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.

Préparer un travail de formation pour collecter les données TensorBoard de sortie

Un travail de formation typique pour l'apprentissage automatique en SageMaker IA comprend deux étapes principales : la préparation d'un script d'entraînement et la configuration d'un objet SageMaker AI ModelTrainer (anciennement estimateur dans PySDK v2) du SageMaker SDK AI Python. Dans cette section, vous découvrirez les modifications nécessaires pour collecter des TensorBoard-compatible données sur les emplois de SageMaker formation.

Conditions préalables

La liste suivante indique les prérequis pour commencer à utiliser l' SageMaker IA avec TensorBoard.

  • Un domaine SageMaker IA configuré avec Amazon VPC dans votre AWS compte.

    Pour obtenir des instructions sur la configuration d'un domaine, consultez Intégrer le domaine Amazon SageMaker AI à l'aide de la configuration rapide. Vous devez également ajouter des profils utilisateur de domaine pour que les utilisateurs individuels puissent accéder à TensorBoard l' SageMaker IA. Pour de plus amples informations, veuillez consulter Ajouter des profils utilisateur.

  • Amazon EFS doit être activé sur votre domaine. TensorBoard nécessite un système de fichiers Amazon EFS pour fonctionner. Pour les domaines créés par le biais d'une configuration rapide après le 1er juin 2026, EFS n'est pas créé par défaut lors de la création du domaine. Pour activer EFS après la création du domaine, consultez la section Création et montage automatique d'Amazon EFS dans Amazon SageMaker Studio.

  • Amazon EFS doit être activé sur votre domaine. TensorBoard nécessite un système de fichiers Amazon EFS pour fonctionner. Pour les domaines créés par le biais d'une configuration rapide après le 1er juin 2026, EFS n'est pas créé par défaut lors de la création du domaine. Pour activer EFS après la création du domaine, consultez la section Création et montage automatique d'Amazon EFS dans Amazon SageMaker Studio.

  • La liste suivante représente l'ensemble minimum d'autorisations à utiliser TensorBoard sur SageMaker AI.

    • sagemaker:CreateApp

    • sagemaker:DeleteApp

    • sagemaker:DescribeTrainingJob

    • sagemaker:Search

    • s3:GetObject

    • s3:ListBucket

Étape 1 : modifiez votre script de formation à l'aide d'outils d' TensorBoard assistance open source

Assurez-vous de déterminer les tenseurs de sortie et les scalaires à collecter et de modifier les lignes de code de votre script d'entraînement à l'aide de l'un des outils suivants : TensorBoard X, TensorFlow Summary Writer, PyTorch Summary Writer ou SageMaker Debugger.

Assurez-vous également de spécifier le chemin de sortie TensorBoard des données comme répertoire du journal (log_dir) pour le rappel dans le conteneur de formation.

Pour plus d’informations sur les rappels par framework, consultez les ressources suivantes.

Étape 2 : Création d'un ModelTrainer objet d' SageMaker entraînement avec la configuration TensorBoard de sortie

Utilisez-le sagemaker.debugger.TensorBoardOutputConfig lors de la configuration d'une SageMaker IA ModelTrainer. Cette API de configuration mappe le compartiment S3 que vous spécifiez pour enregistrer les TensorBoard données avec le chemin local dans le conteneur d'entraînement (/opt/ml/output/tensorboard). Passez l'objet du module au tensorboard_output_config paramètre de la ModelTrainer classe. L'extrait de code suivant montre un exemple de préparation d'un TensorFlow ModelTrainer avec le paramètre de configuration de TensorBoard sortie.

Note

Cet exemple suppose que vous utilisez le SDK SageMaker Python. Si vous utilisez l' SageMaker API de bas niveau, vous devez inclure les éléments suivants dans la syntaxe de demande de l'CreateTrainingJobAPI.

"TensorBoardOutputConfig": { "LocalPath": "/opt/ml/output/tensorboard", "S3OutputPath": "s3_output_bucket" }
import os from sagemaker.train import ModelTrainer from sagemaker.train.configs import SourceCode from sagemaker.core.debugger import TensorBoardOutputConfig from sagemaker.train.configs import Compute # Set variables for training job information, # such as s3_out_bucket and other unique tags. ... LOG_DIR="/opt/ml/output/tensorboard" output_path = os.path.join( "s3_output_bucket", "sagemaker-output", "date_str", "your-training_job_name" ) tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=os.path.join(output_path, 'tensorboard'), container_local_output_path=LOG_DIR ) model_trainer = ModelTrainer( source_code=SourceCode(entry_script="train.py", source_dir="src"), role=role, training_image=image_uri, compute=Compute(instance_count=1, instance_type="ml.c5.xlarge"), base_job_name="your-training_job_name", tensorboard_output_config=tensorboard_output_config, hyperparameters=hyperparameters )
Note

L' TensorBoard application ne fournit pas de support prêt à l'emploi pour les tâches de réglage des hyperparamètres SageMaker AI, car l'CreateHyperParameterTuningJobAPI n'est pas intégrée à la configuration de TensorBoard sortie pour le mappage. Pour utiliser l' TensorBoardapplication pour des tâches de réglage des hyperparamètres, vous devez écrire du code permettant de télécharger des métriques vers Amazon S3 dans votre script de formation. Une fois les métriques téléchargées dans un compartiment Amazon S3, vous pouvez charger le compartiment dans l' TensorBoard application sur SageMaker AI.