容器映像相容性 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

容器映像相容性

下表顯示相容 @remote 裝飾項目的 SageMaker 訓練映像清單。

Name Python 版本 映像 URI - CPU 映像 URI - GPU

資料科學

3.7(py37)

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

資料科學 2.0

3.8(py38)

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

資料科學 3.0

3.10(py310)

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

基本 Python 2.0

3.8(py38)

當 Python SDK 偵測到開發環境正在使用 Python 3.8 執行期時,其會選擇此映像。否則,Python SDK 會在用作 SageMaker Studio Classic 筆記本核心映像時,自動選擇此映像

僅適用 SageMaker Studio Classic 筆記本。當作為 SageMaker Studio Classic 筆記本核心映像使用時,Python SDK 會自動選取映像 URI。

基本 Python 3.0

3.10(py310)

當 Python SDK 偵測到開發環境正在使用 Python 3.8 執行期時,其會選擇此映像。否則,Python SDK 會在用作 SageMaker Studio Classic 筆記本核心映像時,自動選擇此映像

僅適用 SageMaker Studio Classic 筆記本。Python SDK 會在用作 Studio Classic 筆記本核心映像時,自動選擇此映像 URI。

DLC-TensorFlow 2.12.0 用於 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 用於 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 用於 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 用於 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 用於 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 用於 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 用於 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 用於 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 用於 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 用於 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

注意

若要使用AWS深度學習容器 (DLC) 映像在本機執行任務,請使用 DLC 文件中找到的映像 URIs。DLC 映像不支援相依性的 auto_capture 值。

SageMaker Studio 中具有 SageMaker AI Distribution 的任務會以名為 sagemaker-user 的非根使用者身分在容器中執行。此使用者需要 /opt/ml/tmp 的完整存取權限。將 sudo chmod -R 777 /opt/ml /tmp 新增至 pre_execution_commands 清單以授予此權限,如下程式碼片段所示:

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

您還可以使用自訂映像執行遠端函式。為相容遠端函式,自訂映像應採用 Python 版本 3.7.x-3.10.x 構建。以下最小 Dockerfile 範例顯示如何運用 Python 3.10 來使用 Docker 映像。

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

若要在映像建立 conda 環境並用以執行工作,請設定環境變數 SAGEMAKER_JOB_CONDA_ENVconda 環境名稱。如果映像已設定為 SAGEMAKER_JOB_CONDA_ENV 值,則在訓練工作執行期期間遠端函式無法建立新 conda 環境。請參閱以下 Dockerfile 範例,其使用 Python 版本 3.10 的 conda 環境。

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 AI 使用 mamba 來管理容器映像的 Python 虛擬環境,請安裝微型鑄造的 mamba 工具組。若要使用 mamba,請新增以下代碼範例至 Dockerfile。然後,SageMaker AI 將在執行期偵測 mamba 的可用性,並用其代替 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

當使用遠端函式時,在 Amazon S3 儲存貯體使用自訂 conda 頻道與 mamba 不相容。如果您選擇使用 mamba,請確保您未在 Amazon S3 使用自訂 conda 頻道。如需更多資訊,請參閱使用 Amazon S3 自訂 conda 儲存庫先決條件區段。

以下是完整 Docerfile 範例,顯示如何建立相容 Docker 映像。

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

執行前述 Dockerfile 範例所產生的映像也可以用作 SageMaker Studio Classic 核心映像