

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

# 使用 SageMaker AI 一般估算器來擴充預先建置的 DLC 容器
<a name="data-parallel-use-python-skd-api"></a>

您可以自訂 SageMaker AI 預先建置的容器，或加以擴充，以處理 SageMaker AI Docker 映像檔不支援的演算法或模型的任何其他功能需求。有關如何擴展預構建容器的範例，請參閱[擴展預構建的容器](https://docs.aws.amazon.com/sagemaker/latest/dg/prebuilt-containers-extend.html)。

若要擴充預先建置的容器或調整您自己的容器以使用程式庫，您必須使用 [支援的架構](distributed-data-parallel-support.md#distributed-data-parallel-supported-frameworks) 中列出的其中一個映像。

**注意**  
從 TensorFlow 2.4.1 和 PyTorch 1.8.1 開始，SageMaker AI 架構 DLC 支援 EFA 型執行個體類型。建議您使用包含 TensorFlow 2.4.1 或較新版本的 DLC 映像，以及 PyTorch 1.8.1 或較新版本。

例如，如果您使用 PyTorch，您的 Dockerfile 應包含類似下列的 `FROM` 陳述式：

```
# SageMaker AI PyTorch image
FROM 763104351884.dkr.ecr.<aws-region>.amazonaws.com/pytorch-training:<image-tag>

ENV PATH="/opt/ml/code:${PATH}"

# this environment variable is used by the SageMaker AI PyTorch container to determine our user code directory.
ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code

# /opt/ml and all subdirectories are utilized by SageMaker AI, use the /code subdirectory to store your user code.
COPY train.py /opt/ml/code/train.py

# Defines cifar10.py as script entrypoint
ENV SAGEMAKER_PROGRAM train.py
```

您可以使用 [SageMaker AI 訓練工具組](https://github.com/aws/sagemaker-training-toolkit)和 SageMaker AI 分散式資料平行程式庫的二進位檔案，進一步自訂您自己的 Docker 容器，以便與 SageMaker AI 搭配使用。如需進一步了解，請參閱下一節中的指示。