本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
容器映像相容性
下表顯示與 @remote 裝飾器相容的 SageMaker 訓練映像清單。
名稱 | Python 版本 | 影像 URI - CPU | 影像 URI - GPU |
---|---|---|---|
資料科學 |
3.7(py37) |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
資料科學 2.0 |
3.8(py38) |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
資料科學 3.0 |
3.10(py310) |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
基本 Python 2.0 |
3.8(py38) |
Python 偵測到開發環境正在使用 Python 3.8 執行期時,會SDK選取此映像。否則,當 Python 用作 SageMaker Studio Classic Notebook 核心映像時,SDK會自動選取此映像 |
僅限 SageMaker Studio Classic Notebook。Python 作為 SageMaker Studio Classic Notebook 核心映像使用URI時SDK,會自動選取映像。 |
基本 Python 3.0 |
3.10(py310) |
Python 偵測到開發環境正在使用 Python 3.8 執行期時,會SDK選取此映像。否則,當 Python 用作 SageMaker Studio Classic Notebook 核心映像時,SDK會自動選取此映像 |
僅限 SageMaker Studio Classic Notebook。Python 用作 Studio Classic Notebook 核心映像URI時SDK,會自動選取映像。 |
DLC-TensorFlow 2.12.0 for SageMaker Training |
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 SageMaker -TensorFlow 2.9.2 訓練 |
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 SageMaker -PyTorch 1.13.1 訓練 |
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 SageMaker 訓練的 -PyTorch 1.11.0 |
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文件 auto_capture
的值。
SageMaker SageMaker Studio 中具有分佈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_ENV
為 conda
環境名稱。如果映像已設定為 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 讓 使用 mambamamba
可用性,並使用它,而不是 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 核心映像 。