Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Invio di lavori a una condivisione di quote
Le code di lavoro per la gestione delle quote richiedono che tutti i lavori specifichino una quota al momento dell'invio del lavoro. Per inviare lavori a una condivisione di quote, specifica il quotaShareName valore in. SubmitServiceJob Facoltativamente, preemptionConfiguration può essere fornito un per limitare il numero di tentativi di priorità prima dell'inizio di un tentativo di lavoro. FAILED Per limitare il numero di privilegi previsti per un lavoro, preemptionRetriesBeforeTermination impostalo al momento dell'invio del lavoro. ServiceJobPreemptionConfiguration
Prerequisiti
Prima di inviare lavori a una quota condivisa, assicurati di disporre di:
Invia un lavoro di assistenza a una condivisione di quote
La tabella seguente mostra come inviare un lavoro di servizio a una condivisione di quote utilizzando SageMaker Python SDK o la CLI: AWS
- Submit using the SageMaker Python SDK
-
L'SDK SageMaker Python ha un supporto integrato per l'invio di lavori a una coda di lavori abilitata alla gestione delle quote. Gli esempi seguenti mostrano come creare un trainer modello, creare una coda di formazione e inviare lavori a una condivisione di quote. Per un esempio completo, consultate l'esempio completo del taccuino su. GitHub
Crea un file ModelTrainer che definisca la configurazione del lavoro di formazione.
from sagemaker.train.model_trainer import ModelTrainer
from sagemaker.train.configs import SourceCode, Compute, StoppingCondition
source_code = SourceCode(command="echo 'Hello World'")
model_trainer = ModelTrainer(
training_image="123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.5-gpu-py311",
source_code=source_code,
base_job_name="my-training-job",
compute=Compute(instance_type="ml.g5.xlarge", instance_count=1),
stopping_condition=StoppingCondition(max_runtime_in_seconds=300),
)
Crea un TrainingQueue oggetto che faccia riferimento per nome alla tua coda di lavori abilitata alla gestione delle quote.
from sagemaker.train.aws_batch.training_queue import TrainingQueue
queue = TrainingQueue("my-sagemaker-job-queue")
Invia lavori a una condivisione di quote chiamando queue.submit e specificando il. quota_share_name È necessario impostare un priority per influenzare la selezione delle offerte di lavoro entro la quota di quota. Un mondo reale ModelTrainer avrà bisogno di dati su inputs cui allenarsi.
job = queue.submit(
job_name="my-training-job",
training_job=model_trainer,
quota_share_name="my_quota_share",
priority=3,
inputs=None,
)
- Submit using the AWS CLI
-
L'esempio seguente utilizza il submit-service-job comando per inviare un lavoro a una condivisione di quote.
aws batch submit-service-job \
--job-name "my-sagemaker-training-job" \
--job-queue "my-sagemaker-job-queue" \
--service-job-type "SAGEMAKER_TRAINING" \
--quota-share-name "my_quota_share" \
--timeout-config '{"attemptDurationSeconds":3600}' \
--scheduling-priority 5 \
--service-request-payload '{\"TrainingJobName\": \"sagemaker-training-job-example\", \"AlgorithmSpecification\": {\"TrainingImage\": \"123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.8.0-cpu-py3\", \"TrainingInputMode\": \"File\", \"ContainerEntrypoint\": [\"sleep\", \"1\"]}, \"RoleArn\":\"arn:aws:iam::123456789012:role/SageMakerExecutionRole\", \"OutputDataConfig\": {\"S3OutputPath\": \"s3://example-bucket/model-output/\"}, \"ResourceConfig\": {\"InstanceType\": \"ml.m5.large\", \"InstanceCount\": 1, \"VolumeSizeInGB\": 1}}'"