

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
<a name="use-training-plan-for-training-jobs-using-api-cli-sdk"></a>

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`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) 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
<a name="training-job-cli"></a>

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'`TrainingPlanArn`attribut 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 ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) commande, consultez [`create-training-job`](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-training-job.html).

```
# 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-config`argument.

```
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
<a name="training-job-sdk"></a>

Vous pouvez également créer une tâche de formation associée à un plan de formation à l'aide du SDK [ SageMaker ](https://sagemaker.readthedocs.io/en/stable/) 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, consultez[IAM pour les plans de SageMaker formation](training-plan-iam-permissions.md).

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_plan`attribut de l'`ModelTrainer`objet 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](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers-adapt-your-own-private-registry-estimator.html).

```
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)
```