View a markdown version of this page

Créez un job de formation à l'aide de l'API, AWS CLI, SageMaker Kit de développement logiciel - 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.

Créez un job de formation à l'aide de l'API, AWS CLI, SageMaker Kit de développement logiciel

Pour utiliser SageMaker des plans de SageMaker formation pour votre tâche de formation, spécifiez le TrainingPlanArn paramètre du plan souhaité ResourceConfig lors de l'appel de l'opération CreateTrainingJob API. Vous pouvez utiliser un et un seul plan par tâche.

Important

Le champ InstanceType défini dans la section ResourceConfig de la demande CreateTrainingJob doit correspondre à l’élément InstanceType de votre plan d’entraînement.

Exécution d’une tâche d’entraînement sur un plan à l’aide de l’interface de ligne de commande

L'exemple suivant montre comment créer une tâche de SageMaker formation et l'associer à un plan de formation fourni à l'aide de l'TrainingPlanArnattribut de la create-training-job AWS CLI commande.

Pour plus d'informations sur la création d'une tâche de formation à l'aide de la AWS CLI CreateTrainingJob commande, consultez create-training-job.

# Create a training job aws sagemaker create-training-job \ --training-job-name training-job-name \ ... --resource-config '{ "InstanceType": "ml.p5.48xlarge", "InstanceCount": 8, "VolumeSizeInGB": 10, "TrainingPlanArn": "training-plan-arn" } }' \ ...

Cet AWS CLI exemple de commande crée une nouvelle tâche d'entraînement en SageMaker IA en passant un plan d'entraînement dans l'--resource-configargument.

aws sagemaker create-training-job \ --training-job-name job-name \ --role-arn arn:aws:iam::111122223333:role/DataAndAPIAccessRole \ --algorithm-specification '{"TrainingInputMode": "File","TrainingImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/algo-image:tag", "ContainerArguments": [" "]}' \ --input-data-config '[{"ChannelName":"training","DataSource":{"S3DataSource":{"S3DataType":"S3Prefix","S3Uri":"s3://bucketname/input","S3DataDistributionType":"ShardedByS3Key"}}}]' \ --output-data-config '{"S3OutputPath": "s3://bucketname/output"}' \ --resource-config '{"VolumeSizeInGB":10,"InstanceCount":4,"InstanceType":"ml.p5.48xlarge", "TrainingPlanArn" : "arn:aws:sagemaker:us-east-1:111122223333:training-plan/plan-name"}' \ --stopping-condition '{"MaxRuntimeInSeconds": 1800}' \ --region us-east-1

Après avoir créé la tâche d’entraînement, vous pouvez vérifier qu’elle a été correctement attribuée au plan d’entraînement en appelant l’API DescribeTrainingJob.

aws sagemaker describe-training-job --training-job-name training-job-name

Exécutez une tâche de formation selon un plan à l'aide du SDK SageMaker AI Python

Vous pouvez également créer une tâche de formation associée à un plan de formation à l'aide du SDK SageMaker Python.

Si vous utilisez le SDK SageMaker Python de JupyterLab Studio pour créer une tâche de formation, assurez-vous que le rôle d'exécution utilisé par l'espace qui exécute votre JupyterLab application dispose des autorisations requises pour utiliser les plans de SageMaker formation. Pour en savoir plus sur les autorisations requises pour utiliser les plans de SageMaker formation, consultezIAM pour les plans de SageMaker formation.

L'exemple suivant montre comment créer une tâche de SageMaker formation et l'associer à un plan de formation fourni à l'aide de l'training_planattribut de l'ModelTrainerobjet lors de l'utilisation du SDK SageMaker Python.

Pour plus d'informations sur le SageMaker ModelTrainer, voir Utiliser un SageMaker ModelTrainer pour exécuter une tâche de formation.

import boto3 from sagemaker.core.helper.session_helper import get_execution_role from sagemaker.train import ModelTrainer from sagemaker.train.configs import InputData from sagemaker.train.configs import Compute, SourceCode from sagemaker.core.shapes import OutputDataConfig # Set up the session and SageMaker client session = boto3.Session() region = session.region_name sagemaker_session = session.client('sagemaker') # Get the execution role for the training job role = get_execution_role() # Define the input data configuration trainingInput = InputData( channel_name='training', data_source='s3://input-path' ) model_trainer = ModelTrainer( training_image="123456789123.dkr.ecr.{}.amazonaws.com/image:tag", source_code=SourceCode(entry_script='train.py'), role=role, compute=Compute( instance_type='ml.p5.48xlarge', instance_count=4, volume_size_in_gb=20, training_plan_arn="training-plan-arn" ), output_data_config=OutputDataConfig(s3_output_path="s3://output-path") ) # Create the training job model_trainer.train(input_data_config=[trainingInput])

Après avoir créé la tâche d’entraînement, vous pouvez vérifier qu’elle a été correctement attribuée au plan d’entraînement en appelant l’API DescribeTrainingJob.

# Check job details sagemaker_session.describe_training_job(TrainingJobName=job_name)