Compatibilidad de imágenes de contenedor - Amazon SageMaker AI

Compatibilidad de imágenes de contenedor

En la siguiente tabla se muestra una lista de imágenes de entrenamiento de SageMaker que son compatibles con el decorador @remote.

Nombre Versión de Python URI de imagen: CPU URI de imagen: CPU

Ciencia de datos

3,7(py37)

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Data Science 2.0

3.8(py38)

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Data Science 3.0

3.10(py310)

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Base Python 2.0

3.8(py38)

El SDK de Python selecciona esta imagen cuando detecta que el entorno de desarrollo utiliza el tiempo de ejecución de Python 3.8. De lo contrario, Python SDK seleccionará automáticamente esta imagen cuando se utilice como imagen del kernel del cuaderno de SageMaker Studio Classic.

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se utiliza como imagen del kernel del cuaderno de SageMaker Studio Classic.

Base Python 3.0

3.10(py310)

El SDK de Python selecciona esta imagen cuando detecta que el entorno de desarrollo utiliza el tiempo de ejecución de Python 3.8. De lo contrario, Python SDK seleccionará automáticamente esta imagen cuando se utilice como imagen del kernel del cuaderno de SageMaker Studio Classic.

Solo para cuadernos de SageMaker Studio Classic. Python SDK selecciona automáticamente el URI de la imagen cuando se usa como imagen del kernel del cuaderno de Studio Classic.

DLC-TensorFlow 2.12.0 para entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 entrenamiento de 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 ejecutar trabajos de forma local con imágenes de contenedores de aprendizaje profundo (DLC) de AWS, utilice los URI de imagen que se encuentran en la documentación de DLC. Las imágenes del DLC no admiten el valor auto_capture de las dependencias.

Los trabajos con SageMaker AI Distribution en SageMaker Studio se ejecutan en un contenedor con un usuario que no es raíz llamado sagemaker-user. Este usuario necesita un permiso completo para acceder a /opt/ml y /tmp. Para conceder este permiso, agregue sudo chmod -R 777 /opt/ml /tmp a la lista pre_execution_commands, tal y como se muestra en el siguiente fragmento de código:

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

También puede ejecutar funciones remotas con sus imágenes personalizadas. Para garantizar la compatibilidad con las funciones remotas, las imágenes personalizadas deben crearse con la versión 3.7.x-3.10.x de Python. El siguiente es un ejemplo mínimo de Dockerfile que muestra cómo usar una imagen de Docker con Python 3.10.

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

Para crear entornos conda en la imagen y utilizarlos para ejecutar trabajos, defina la variable de entorno SAGEMAKER_JOB_CONDA_ENV con el nombre del entorno conda. Si la imagen tiene el valor SAGEMAKER_JOB_CONDA_ENV establecido, la función remota no puede crear un nuevo entorno conda durante el tiempo de ejecución del trabajo de entrenamiento. Consulte el siguiente ejemplo de Dockerfile que usa un entorno conda con Python versión 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 SageMaker AI utilice mamba para administrar el entorno virtual de Python en la imagen del contenedor, instale el kit de herramientas mamba de miniforge. Para usar mamba, añada el siguiente ejemplo de código a su Dockerfile. A continuación, SageMaker AI detectará la disponibilidad de mamba en tiempo de ejecución y la utilizará en lugar de 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

El uso de un canal conda personalizado en un bucket de Amazon S3 no es compatible con Mamba cuando se utiliza una función remota. Si elige usar mamba, asegúrese de no usar un canal conda personalizado en Amazon S3. Para obtener más información, consulte la sección Requisitos previos de Personalizar repositorio conda con Amazon S3.

El siguiente es un ejemplo completo de Dockerfile que muestra cómo crear una imagen de Docker compatible.

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

La imagen resultante de la ejecución del ejemplo anterior de Dockerfile también se puede utilizar como imagen del kernel de SageMaker Studio Classic.