Compatibilidade de imagens de contêiner - Amazon SageMaker AI

Compatibilidade de imagens de contêiner

A tabela a seguir mostra uma lista de imagens de treinamento do SageMaker que são compatíveis com o decorador @remote.

Name Versão do Python URI da imagem - CPU URI da imagem - CPU

Ciência de dados

3.7(py37)

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Data Science 2.0

3.8(py38)

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Data Science 3.0

3.10(py310)

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Base Python 2.0

3.8(py38)

O SDK Python seleciona essa imagem quando detecta que o ambiente de desenvolvimento está usando o runtime do Python 3.8. Caso contrário, o SDK Python selecionará automaticamente essa imagem quando for usada como imagem do kernel do caderno do SageMaker Studio Classic

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do SageMaker Studio Classic.

Base Python 3.0

3.10(py310)

O SDK Python seleciona essa imagem quando detecta que o ambiente de desenvolvimento está usando o runtime do Python 3.8. Caso contrário, o SDK Python selecionará automaticamente essa imagem quando for usada como imagem do kernel do caderno do SageMaker Studio Classic

Apenas para cadernos do SageMaker Studio Classic. O SDK Python seleciona automaticamente o URI da imagem quando usado como imagem do kernel do caderno do Studio Classic.

DLC-TensorFlow 2.12.0 para treinamento do SageMaker

3.10(py310)

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.12.0-cpu-py310-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker

DLC-TensorFlow 2.11.0 para treinamento do SageMaker

3.9(py39)

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.11.0-cpu-py39-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.11.0-gpu-py39-cu112-ubuntu20.04-sagemaker

DLC-TensorFlow 2.10.1 para treinamento do SageMaker

3.9(py39)

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.10.1-cpu-py39-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.10.1-gpu-py39-cu112-ubuntu20.04-sagemaker

DLC-TensorFlow 2.9.2 para treinamento do SageMaker

3.9(py39)

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.9.2-cpu-py39-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.9.2-gpu-py39-cu112-ubuntu20.04-sagemaker

DLC-TensorFlow 2.8.3 para treinamento do SageMaker

3.9(py39)

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.8.3-cpu-py39-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/tensorflow-training:2.8.3-gpu-py39-cu112-ubuntu20.04-sagemaker

DLC-PyTorch 2.0.0 para treinamento do SageMaker

3.10(py310)

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:2.0.0-cpu-py310-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:2.0.0-gpu-py310-cu118-ubuntu20.04-sagemaker

DLC-PyTorch 1.13.1 para treinamento do SageMaker

3.9(py39)

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.13.1-cpu-py39-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.13.1-gpu-py39-cu117-ubuntu20.04-sagemaker

DLC-PyTorch 1.12.1 para treinamento do SageMaker

3.8(py38)

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.12.1-cpu-py38-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.12.1-gpu-py38-cu113-ubuntu20.04-sagemaker

DLC-PyTorch 1.11.0 para treinamento do SageMaker

3.8(py38)

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.11.0-cpu-py38-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/pytorch-training:1.11.0-gpu-py38-cu113-ubuntu20.04-sagemaker

DLC-MXNet 1.9.0 para treinamento do SageMaker

3.8(py38)

763104351884.dkr.ecr.<region>.amazonaws.com/mxnet-training:1.9.0-cpu-py38-ubuntu20.04-sagemaker

763104351884.dkr.ecr.<region>.amazonaws.com/mxnet-training:1.9.0-gpu-py38-cu112-ubuntu20.04-sagemaker

nota

Para executar trabalhos localmente usando imagens de Contêiner de Aprendizado Profundo (DLC) AWS, use os URIs de imagem encontrados na documentação do DLC. As imagens do DLC não são compatíveis com o valor auto_capture das dependências.

As tarefas com a Distribuição do SageMaker AI no SageMaker Studio são executados em um contêiner como um usuário não raiz chamado sagemaker-user. Esse usuário precisa de permissão total para acessar /opt/ml e /tmp. Conceda essa permissão adicionando sudo chmod -R 777 /opt/ml /tmp à lista pre_execution_commands, conforme mostrado no seguinte trecho:

@remote(pre_execution_commands=["sudo chmod -R 777 /opt/ml /tmp"]) def func(): pass

Você também pode executar funções remotas com imagens personalizadas. Para compatibilidade com funções remotas, as imagens personalizadas devem ser criadas com a versão do Python 3.7.x-3.10.x. Veja a seguir um exemplo mínimo do Dockerfile que mostra como usar uma imagem do Docker com o Python 3.10.

FROM python:3.10 #... Rest of the Dockerfile

Para criar ambientes conda na imagem e usá-la para executar trabalhos, defina a variável de ambiente SAGEMAKER_JOB_CONDA_ENV como o nome do ambiente conda. Se sua imagem tiver o valor definido SAGEMAKER_JOB_CONDA_ENV, a função remota não poderá criar um novo ambiente conda durante o runtime do trabalho de treinamento. Consulte o exemplo de Dockerfile a seguir que usa um ambiente conda com a versão do Python 3.10.

FROM continuumio/miniconda3:4.12.0 ENV SHELL=/bin/bash \ CONDA_DIR=/opt/conda \ SAGEMAKER_JOB_CONDA_ENV=sagemaker-job-env RUN conda create -n $SAGEMAKER_JOB_CONDA_ENV \ && conda install -n $SAGEMAKER_JOB_CONDA_ENV python=3.10 -y \ && conda clean --all -f -y \

Para que o SageMaker AI use o mamba para gerenciar o ambiente virtual Python na imagem de contêiner, instale o kit de ferramentas mamba do Miniforge. Para usar o mamba, adicione o exemplo de código a seguir ao Dockerfile. Em seguida, o SageMaker AI detectará a disponibilidade do mamba em tempo de execução e o usará em vez do conda.

#Mamba Installation RUN curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh" \ && bash Mambaforge-Linux-x86_64.sh -b -p "/opt/conda" \ && /opt/conda/bin/conda init bash

Usar um canal conda personalizado em um bucket do Amazon S3 não é compatível com o mamba ao usar uma função remota. Se você optar por usar o mamba, verifique se não está usando um canal conda personalizado no Amazon S3. Para obter mais informações, consulte a seção Pré-requisitos em Repositório conda personalizado usando o Amazon S3.

Veja a seguir um exemplo completo do Dockerfile que mostra como criar uma imagem do Docker compatível.

FROM python:3.10 RUN apt-get update -y \ # Needed for awscli to work # See: https://github.com/aws/aws-cli/issues/1957#issuecomment-687455928 && apt-get install -y groff unzip curl \ && pip install --upgrade \ 'boto3>1.0<2' \ 'awscli>1.0<2' \ 'ipykernel>6.0.0<7.0.0' \ #Use ipykernel with --sys-prefix flag, so that the absolute path to #/usr/local/share/jupyter/kernels/python3/kernel.json python is used # in kernelspec.json file && python -m ipykernel install --sys-prefix #Install Mamba RUN curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh" \ && bash Mambaforge-Linux-x86_64.sh -b -p "/opt/conda" \ && /opt/conda/bin/conda init bash #cleanup RUN apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && rm -rf ${HOME}/.cache/pip \ && rm Mambaforge-Linux-x86_64.sh ENV SHELL=/bin/bash \ PATH=$PATH:/opt/conda/bin

A imagem resultante da execução do exemplo anterior do Dockerfile também pode ser usada como uma imagem do kernel do SageMaker Studio Classic.