Crie um trabalho de treinamento usando a API AWS CLI, SageMaker SDK - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie um trabalho de treinamento usando a API AWS CLI, SageMaker SDK

Para usar planos de SageMaker treinamento em seu trabalho de SageMaker treinamento, especifique o TrainingPlanArn parâmetro do plano desejado ResourceConfig ao chamar a operação da CreateTrainingJobAPI. Você pode usar exatamente um plano por trabalho.

Importante

O InstanceType campo definido na ResourceConfig seção da CreateTrainingJob solicitação deve corresponder ao InstanceType do seu plano de treinamento.

Execute um trabalho de treinamento em um plano usando a CLI

O exemplo a seguir demonstra como criar um trabalho de SageMaker treinamento e associá-lo a um plano de treinamento fornecido usando o TrainingPlanArn atributo no create-training-job AWS CLI comando.

Para obter mais informações sobre como criar um trabalho de treinamento usando o AWS CLI CreateTrainingJobcomando, consulte 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" } }' \ ...

Este AWS CLI exemplo de comando cria um novo trabalho de treinamento em SageMaker IA, passando um plano de treinamento na --resource-config discussão.

aws sagemaker create-training-job \ --training-job-name job-name \ --role-arn arn:aws:iam::123456789123:role/DataAndAPIAccessRole \ --algorithm-specification '{"TrainingInputMode": "File","TrainingImage": "123456789123.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", "TrainingJobArn" : "arn:aws:sagemaker:us-east-1:123456789123:training-job/plan-name"}' \ --stopping-condition '{"MaxRuntimeInSeconds": 1800}' \ --region us-east-1

Depois de criar o trabalho de treinamento, você pode verificar se ele foi atribuído corretamente ao plano de treinamento chamando a DescribeTrainingJob API.

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

Execute um trabalho de treinamento em um plano usando o SageMaker SDK AI Python

Como alternativa, você pode criar um trabalho de treinamento associado a um plano de treinamento usando o SDK do SageMaker Python.

Se você estiver usando o SDK do SageMaker Python JupyterLab no Studio para criar um trabalho de treinamento, certifique-se de que a função de execução usada pelo espaço que executa seu JupyterLab aplicativo tenha as permissões necessárias para usar SageMaker os planos de treinamento. Para saber mais sobre as permissões necessárias para usar os planos de SageMaker treinamento, consulteIAM para planos SageMaker de treinamento.

O exemplo a seguir demonstra como criar um trabalho de SageMaker treinamento e associá-lo a um plano de treinamento fornecido usando o training_plan atributo no Estimator objeto ao usar o SDK do SageMaker Python.

Para obter mais informações sobre o SageMaker Estimador, consulte Usar um SageMaker estimador para executar um trabalho de treinamento.

import sagemaker import boto3 from sagemaker import get_execution_role from sagemaker.estimator import Estimator from sagemaker.inputs import TrainingInput # 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 = TrainingInput( s3_data='s3://input-path', distribution='ShardedByS3Key', s3_data_type='S3Prefix' ) estimator = Estimator( entry_point='train.py', image_uri="123456789123.dkr.ecr.{}.amazonaws.com/image:tag", role=role, instance_count=4, instance_type='ml.p5.48xlarge', training_plan="training-plan-arn", volume_size=20, max_run=3600, sagemaker_session=sagemaker_session, output_path="s3://output-path" ) # Create the training job estimator.fit(inputs=trainingInput, job_name=job_name)

Depois de criar o trabalho de treinamento, você pode verificar se ele foi atribuído corretamente ao plano de treinamento chamando a DescribeTrainingJob API.

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