In che modo Amazon SageMaker Processing esegue l'immagine del tuo contenitore di elaborazione - Amazon SageMaker

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 URI l'ECRimmagine Amazon specificata 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 di impostare gli argomenti della riga di comando proprio come puoi fare con Docker. API Le immagini Docker possono anche configurare gli argomenti entrypoint e della riga di comando utilizzando le istruzioni and. ENTRYPOINT CMD Il modo in cui ContainerEntrypoint e ContainerArgument i parametri configurano il punto CreateProcessingJob di ingresso e gli argomenti di un'immagine Docker rispecchiano il modo in cui Docker sovrascrive il punto di ingresso e gli argomenti tramite Docker: API

    • Se ContainerEntrypoint nessuno dei due viene fornito, Processing utilizza l'ContainerArgumentsimpostazione predefinita o nell'immagine. ENTRYPOINT CMD

    • Se ContainerEntrypoint viene fornito, ma non lo èContainerArguments, Processing esegue l'immagine con il punto di ingresso specificato e ignora l'ENTRYPOINTand CMD nell'immagine.

    • Se viene fornito ContainerArguments, ma non ContainerEntrypoint, Processing esegue l'immagine con l'ENTRYPOINT predefinito nell'immagine e con gli argomenti forniti.

    • Se ContainerArguments vengono forniti entrambi ContainerEntrypoint e, Processing esegue l'immagine con il punto di ingresso e gli argomenti specificati e ignora il e nell'immagine. ENTRYPOINT CMD

  • Utilizza il modulo exec dell'istruzione ENTRYPOINT nel Dockerfile (ENTRYPOINT ["executable", "param1", "param2"]) invece del modulo shell (ENTRYPOINT command param1 param2). Ciò consente al contenitore di elaborazione di ricevere SIGINT e SIGKILL inviare segnali, che Processing utilizza per interrompere i processi di elaborazione con. StopProcessingJob API

  • /opt/mle tutte le sue sottodirectory sono riservate da. SageMaker Quando si crea l'immagine Docker di elaborazione, non inserire i dati richiesti dal container di elaborazione in queste directory.

  • Se prevedi di utilizzare GPU dispositivi, assicurati che i contenitori siano compatibili con nvidia-docker. Includi solo il toolkit nei contenitori. CUDA Non raggruppare NVIDIA i driver con l'immagine. Per maggiori informazioni su nvidia-docker, vedere /nvidia-docker. NVIDIA