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á.
Como o Amazon SageMaker Processing executa sua imagem de contêiner de processamento
O Amazon SageMaker Processing executa sua imagem de contêiner de processamento de forma semelhante ao comando a seguir, onde AppSpecification.ImageUri
está a ECR imagem da Amazon URI que você especifica em uma CreateProcessingJob
operação.
docker run [AppSpecification.ImageUri]
Esse comando executa o comando ENTRYPOINT
configurado na imagem do Docker.
Também é possível substituir o comando do ponto de entrada na imagem ou fornecer argumentos da linha de comando ao comando do ponto de entrada usando os parâmetros AppSpecification.ContainerEntrypoint
e AppSpecification.ContainerArgument
na solicitação CreateProcessingJob
. A especificação desses parâmetros configura o Amazon SageMaker Processing para executar o contêiner da mesma forma que o comando a seguir.
docker run --entry-point [AppSpecification.ContainerEntrypoint] [AppSpecification.ImageUri] [AppSpecification.ContainerArguments]
Por exemplo, se você especificar “ContainerEntrypoint
para estar [python3, -v, /processing_script.py]
em sua CreateProcessingJob
solicitação” e “ser”[data-format, csv]
, ContainerArguments
o Amazon SageMaker Processing executará seu contêiner com o seguinte comando.
python3 -v /processing_script.py data-format csv
Considere os seguintes detalhes ao criar o contêiner de processamento:
-
O Amazon SageMaker Processing decide se o trabalho é concluído ou falhado, dependendo do código de saída do comando executado. Um trabalho de processamento será concluído se todos os contêineres de processamento forem encerrados com êxito, com um código de saída de 0 e apresentará falha se algum dos contêineres for encerrado com um código de saída diferente de zero.
-
O Amazon SageMaker Processing permite que você substitua o ponto de entrada do contêiner de processamento e defina argumentos de linha de comando da mesma forma que você pode fazer com o Docker. API As imagens do Docker também podem configurar os argumentos do ponto de entrada e da linha de comando usando as instruções e.
ENTRYPOINT
CMD A forma comoCreateProcessingJob
ContainerEntrypoint
eContainerArgument
os parâmetros configuram o ponto de entrada e os argumentos de uma imagem do Docker refletem como o Docker substitui o ponto de entrada e os argumentos por meio do Docker: API-
Se
ContainerEntrypoint
nenhum delesContainerArguments
for fornecido, o Processing usará o padrãoENTRYPOINT
ou CMD na imagem. -
Se
ContainerEntrypoint
for fornecido, mas nãoContainerArguments
, o Processing executa a imagem com o ponto de entrada fornecido e ignora oENTRYPOINT
e CMD na imagem. -
Se
ContainerArguments
for fornecido, masContainerEntrypoint
não for, o Processing executa a imagem com o padrãoENTRYPOINT
na imagem e com os argumentos fornecidos. -
Se ambos
ContainerEntrypoint
ContainerArguments
forem fornecidos, o Processing executará a imagem com o ponto de entrada e os argumentos fornecidos e ignorará oENTRYPOINT
e CMD na imagem.
-
-
Use a forma "exec" da instrução
ENTRYPOINT
no Dockerfile (ENTRYPOINT
["executable", "param1", "param2"])
em vez da forma "shell" (ENTRYPOINT
command param1 param2
). Isso permite que seu contêiner de processamento recebaSIGINT
eSIGKILL
sinalize, o que o Processing usa para interromper os trabalhos de processamento comStopProcessingJob
API o. -
/opt/ml
e todos os seus subdiretórios são reservados por. SageMaker Ao criar a imagem de processamento do Docker, não coloque nenhum dado exigido pelo contêiner de processamento nesses diretórios. -
Se você planeja usar GPU dispositivos, certifique-se de que seus contêineres sejam compatíveis com nvidia-docker. Inclua somente o CUDA kit de ferramentas nos contêineres. Não agrupe NVIDIA drivers com a imagem. Para obter mais informações sobre nvidia-docker, consulte /nvidia-docker. NVIDIA