

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 컨테이너 이미지 호환성
<a name="train-remote-decorator-container"></a>

다음 테이블은 @remote 데코레이터와 호환되는 SageMaker 훈련 이미지 목록을 보여줍니다.


| 이름 | Python 버전 | 이미지 URI - CPU | 이미지 URI - GPU | 
| --- | --- | --- | --- | 
|  데이터 과학  |  3.7(py37)  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  | 
|  데이터 과학 2.0  |  3.8(py38)  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  | 
|  데이터 과학 3.0  |  3.10(py310)  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  | 
|  Base Python 2.0  |  3.8(py38)  |  Python SDK는 개발 환경이 Python 3.8 런타임을 사용하고 있음을 감지하면 이 이미지를 선택합니다. 그렇지 않으면 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 Python SDK가 이 이미지를 자동으로 선택합니다.  |  SageMaker Studio Classic 노트북에만 해당합니다. Python SDK는 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 이미지 URI를 자동으로 선택합니다.  | 
|  Base Python 3.0  |  3.10(py310)  |  Python SDK는 개발 환경이 Python 3.8 런타임을 사용하고 있음을 감지하면 이 이미지를 선택합니다. 그렇지 않으면 SageMaker Studio Classic 노트북 커널 이미지로 사용될 때 Python SDK가 이 이미지를 자동으로 선택합니다.  |  SageMaker Studio Classic 노트북에만 해당합니다. Studio Classic 노트북 커널 이미지로 사용될 때 Python SDK가 이미지 URI를 자동으로 선택합니다.  | 
|  SageMaker 훈련용 DLC-TensorFlow 2.12.0  |  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  | 
|  SageMaker 훈련용 DLC-Tensorflow 2.11.0  |  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  | 
|  SageMaker 훈련용 DLC-TensorFlow 2.10.1  |  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  | 
|  SageMaker 훈련용 DLC-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  | 
|  SageMaker 훈련용 DLC-TensorFlow 2.8.3  |  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  | 
|  SageMaker 훈련용 DLC-PyTorch 2.0.0  |  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  | 
|  SageMaker 훈련용 DLC-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  | 
|  SageMaker 훈련용 DLC-PyTorch 1.12.1  |  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  | 
|  SageMaker 훈련용 DLC-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  | 
|  SageMaker 훈련용 DLC-PyTorch 1.9.0  |  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(Deep Learning Containers) 이미지를 사용하여 로컬에서 작업을 실행하려면 [DLC 설명서에](https://github.com/aws/deep-learning-containers/blob/master/available_images.md) 있는 이미지 URIs를 사용합니다. DLC 이미지는 종속성에 `auto_capture` 값을 지원하지 않습니다.  
[SageMaker Studio에서 SageMaker AI 배포](https://github.com/aws/sagemaker-distribution#amazon-sagemaker-studio)를 사용하는 작업은 컨테이너에서 `sagemaker-user`라는 루트가 아닌 사용자로 실행됩니다. 이 사용자는 `/opt/ml` 및 `/tmp`에 액세스할 수 있는 전체 권한이 필요합니다. 다음 조각과 같이 `pre_execution_commands` 목록에 `sudo chmod -R 777 /opt/ml /tmp`를 추가하여 이 권한을 부여합니다.  

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

사용자 지정 이미지로 원격 함수를 실행할 수도 있습니다. 원격 함수와의 호환성을 위해 사용자 지정 이미지는 Python 버전 3.7.x\$13.10.x로 구축해야 합니다. 다음은 Python 3.10에서 도커 이미지를 사용하는 방법을 보여주는 최소한의 Dockerfile 예제입니다.

```
FROM python:3.10

#... Rest of the Dockerfile
```

이미지에 `conda` 환경을 만들고 이를 사용하여 작업을 실행하려면 환경 변수 `SAGEMAKER_JOB_CONDA_ENV`를 `conda` 환경 이름으로 설정합니다. 이미지에 `SAGEMAKER_JOB_CONDA_ENV` 값이 설정되어 있는 경우 원격 함수는 훈련 작업 런타임 중에 새 conda 환경을 만들 수 없습니다. Python 버전 3.10의 `conda` 환경을 사용하는 다음 Dockerfile 예제를 참조하세요.

```
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](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html)를 사용하여 컨테이너 이미지에서 Python 가상 환경을 관리하려면 [miniforge에서 mamba 도구 키트](https://github.com/conda-forge/miniforge)를 설치합니다. 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 리포지토리**의 **사전 조건** 섹션을 참조하세요.

다음은 호환되는 도커 이미지를 생성하는 방법을 보여주는 모든 Dockerfile 예제입니다.

```
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 커널 이미지](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html)로도 사용할 수 있습니다.