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à.
In che modo Amazon SageMaker Processing esegue l'immagine del tuo contenitore di elaborazione
Amazon SageMaker Processing esegue l'immagine del contenitore di elaborazione in modo simile al seguente comando, dove si AppSpecification.ImageUri trova l'URI dell'immagine Amazon ECR specificato in un'CreateProcessingJoboperazione.
docker run [AppSpecification.ImageUri]
Questo comando esegue il comando ENTRYPOINT configurato nell'immagine Docker.
È inoltre possibile sovrascrivere il comando entrypoint nell'immagine o fornire argomenti della riga di comando al comando entrypoint utilizzando i parametri AppSpecification.ContainerEntrypoint e AppSpecification.ContainerArgument nella richiesta CreateProcessingJob. La specificazione di questi parametri configura Amazon SageMaker Processing per eseguire il contenitore in modo simile al comando seguente.
docker run --entry-point [AppSpecification.ContainerEntrypoint] [AppSpecification.ImageUri] [AppSpecification.ContainerArguments]
Ad esempio, se specifichi ContainerEntrypoint to be [python3, -v, /processing_script.py] nella tua CreateProcessingJob richiesta e ContainerArguments to be[data-format, csv], Amazon SageMaker Processing esegue il contenitore con il seguente comando.
python3 -v /processing_script.py data-format csv
Quando si costruisce il container di elaborazione, tieni presenti i seguenti dettagli:
-
Amazon SageMaker Processing decide se il processo viene completato o meno in base al codice di uscita del comando eseguito. Un'attività di elaborazione viene completata se tutti i container di elaborazione escono correttamente con un codice di uscita pari a 0 e non riesce se uno dei container esce con un codice di uscita diverso da zero.
-
Amazon SageMaker Processing ti consente di sovrascrivere il punto di ingresso del contenitore di elaborazione e impostare argomenti della riga di comando proprio come puoi fare con l'API Docker. Le immagini Docker possono anche configurare gli argomenti dell'entrypoint e della riga di comando utilizzando le istruzioni
ENTRYPOINTe CMD. Il modo in cui i parametriContainerEntrypointeContainerArgumentdiCreateProcessingJobconfigurano l'entrypoint e gli argomenti di un'immagine Docker rispecchia il modo in cui Docker sovrascrive l'entrypoint e gli argomenti attraverso l'API Docker:-
Se non vengono forniti né
ContainerEntrypointnéContainerArguments, Processing utilizza l'ENTRYPOINTo il CMD predefinito nell'immagine. -
Se viene fornito
ContainerEntrypoint, ma nonContainerArguments, Processing esegue l'immagine con il punto di ingresso specificato e ignora l'ENTRYPOINTe il CMD nell'immagine. -
Se viene fornito
ContainerArguments, ma nonContainerEntrypoint, Processing esegue l'immagine con l'ENTRYPOINTpredefinito nell'immagine e con gli argomenti forniti. -
Se vengono forniti sia
ContainerEntrypointsiaContainerArguments, Processing esegue l'immagine con l'entrypoint e gli argomenti specificati e ignora l'ENTRYPOINTe il CMD nell'immagine.
-
-
Utilizza il modulo exec dell'istruzione
ENTRYPOINTnel Dockerfile (ENTRYPOINT["executable", "param1", "param2"])invece del modulo shell (ENTRYPOINTcommand param1 param2). Ciò consente al container di elaborazione di ricevere segnaliSIGINTeSIGKILL, che Processing utilizza per interrompere le attività di elaborazione utilizzando l'APIStopProcessingJob. -
/opt/mle tutte le sue sottodirectory sono riservate dall'IA. SageMaker Quando si crea l'immagine Docker di elaborazione, non inserire i dati richiesti dal container di elaborazione in queste directory. -
Se si prevede di utilizzare dispositivi GPU, assicurarsi che i container siano compatibili con nvidia-docker. Includi solo il toolkit CUDA nei container. Non aggregare i driver NVIDIA con l'immagine. Per ulteriori informazioni su nvidia-docker, consulta NVIDIA/nvidia-docker
.