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à.
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'CreateProcessingJob
operazione.
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
ENTRYPOINT
e CMD. Il modo in cui i parametriContainerEntrypoint
eContainerArgument
diCreateProcessingJob
configurano 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é
ContainerEntrypoint
néContainerArguments
, Processing utilizza l'ENTRYPOINT
o il CMD predefinito nell'immagine. -
Se viene fornito
ContainerEntrypoint
, ma nonContainerArguments
, Processing esegue l'immagine con il punto di ingresso specificato e ignora l'ENTRYPOINT
e il CMD nell'immagine. -
Se viene fornito
ContainerArguments
, ma nonContainerEntrypoint
, Processing esegue l'immagine con l'ENTRYPOINT
predefinito nell'immagine e con gli argomenti forniti. -
Se vengono forniti sia
ContainerEntrypoint
siaContainerArguments
, Processing esegue l'immagine con l'entrypoint e gli argomenti specificati e ignora l'ENTRYPOINT
e il CMD nell'immagine.
-
-
Utilizza il modulo exec dell'istruzione
ENTRYPOINT
nel Dockerfile (ENTRYPOINT
["executable", "param1", "param2"])
invece del modulo shell (ENTRYPOINT
command param1 param2
). Ciò consente al container di elaborazione di ricevere segnaliSIGINT
eSIGKILL
, che Processing utilizza per interrompere le attività di elaborazione utilizzando l'APIStopProcessingJob
. -
/opt/ml
e 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
.