Compatibilità dell'immagine del container - 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à.

Compatibilità dell'immagine del container

La tabella seguente mostra un elenco di immagini di SageMaker allenamento compatibili con il decoratore @remote.

Nome Versione Python Immagine URI - CPU Immagine URI - GPU

Data science

3.7 (py37)

Solo per notebook SageMaker Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Data Science 2.0

3.8 (py38)

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Data Science 3.0

3.10 (py310)

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Base Python 2.0

3.8 (py38)

Python SDK seleziona questa immagine quando rileva che l'ambiente di sviluppo utilizza il runtime Python 3.8. Altrimenti, Python seleziona SDK automaticamente questa immagine quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Base Python 3.0

3.10 (py310)

Python SDK seleziona questa immagine quando rileva che l'ambiente di sviluppo utilizza il runtime Python 3.8. Altrimenti, Python seleziona SDK automaticamente questa immagine quando viene utilizzata come immagine del kernel di SageMaker Studio Classic Notebook.

Solo per SageMaker notebook Studio Classic. Python seleziona SDK automaticamente l'immagine URI quando viene utilizzata come immagine del kernel di Studio Classic Notebook.

DLC- TensorFlow 2.12.0 per la formazione 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 per l'allenamento 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 per la formazione 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 per la formazione 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 per la formazione 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 per l'allenamento 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 per la formazione 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 per la formazione 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 per l'allenamento 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 per l'allenamento 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

Per eseguire lavori localmente utilizzando immagini AWS Deep Learning Containers (DLC), usa l'immagine URIs che trovi nella DLCdocumentazione. Le DLC immagini non supportano il auto_capture valore delle dipendenze.

I job con SageMakerDistribution in SageMaker Studio vengono eseguiti in un contenitore come utente non root denominato. sagemaker-user Questo utente necessita dell'autorizzazione completa per accedere a /opt/ml e/tmp. Concedi questa autorizzazione aggiungendola sudo chmod -R 777 /opt/ml /tmp all'pre_execution_commandselenco, come mostrato nel seguente frammento:

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

È anche possibile eseguire funzioni remote con le immagini personalizzate. Per compatibilità con le funzioni remote, devi creare immagini personalizzate con Python versione 3.7.x-3.10.x. Di seguito è riportato un esempio minimo di Dockerfile che mostra come utilizzare un'immagine Docker con Python 3.10.

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

Per creare ambienti conda nell'immagine e utilizzarla per eseguire processi, imposta la variabile di ambiente SAGEMAKER_JOB_CONDA_ENV sul nome dell'ambiente conda. Se l'immagine ha il valore SAGEMAKER_JOB_CONDA_ENV impostato, la funzione remota non può creare un nuovo ambiente conda durante il runtime del processo di addestramento. Fai riferimento al seguente esempio di Dockerfile che utilizza un ambiente conda con Python versione 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 \

SageMaker Per usare mamba per gestire il tuo ambiente virtuale Python nell'immagine del contenitore, installa il toolkit mamba da miniforge. Per usare mamba, aggiungi il seguente esempio di codice al Dockerfile. Quindi, SageMaker rileverà la mamba disponibilità in fase di esecuzione e la utilizzerà al posto di. 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

L'uso di un canale conda personalizzato su un bucket Amazon S3 non è compatibile con mamba quando si utilizza una funzione remota. Se decidi di usare mamba, assicurati di non utilizzare un canale conda personalizzato su Amazon S3. Per ulteriori informazioni, consulta la sezione Prerequisiti in Custom conda repository using Amazon S3.

Di seguito è riportato un esempio completo di Dockerfile che mostra come creare un'immagine Docker compatibile.

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

L'immagine risultante dall'esecuzione del precedente esempio di Dockerfile può essere utilizzata anche come immagine del kernel di SageMaker Studio Classic.