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 DLCauto_capture de las dependencias.
Los trabajos con SageMaker AI Distribution en SageMaker Studiosagemaker-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-envRUN 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 mambamamba 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.