使用 Docker 容器建置模型 - Amazon SageMaker

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

使用 Docker 容器建置模型

Amazon 廣泛 SageMaker 使用 Docker 容器來進行構建和運行時任務。 SageMaker 為其內建演算法提供預先建置的 Docker 映像檔,以及用於訓練和推論的支援深度學習架構。您可以使用容器來訓練機器學習演算法,並快速又可靠地部署任何規模的模型。本節中的主題說明如何針對您自己的使用案例部署這些容器。如需如何攜帶自己的容器以搭配 Amazon SageMaker 工作室傳統版使用的相關資訊,請參閱帶上自己的 SageMaker 形象

使用執行指令碼、訓練演算法或部署模型的案例 SageMaker

Amazon SageMaker 在執行指令碼、訓練演算法和部署模型時,一律會使用 Docker 容器。您使用容器的參與程度取決於使用案例。

以下決策樹說明了三種主要案例:使用預先構建的 Docker 容器搭配使用案例 SageMaker;擴展預先構建的 Docker 容器的用例;構建自己的容器的用例

用於選擇建置自訂容器、延伸容器或使用預先建置容器的決策樹。

搭配使用預先建置的 Docker 容器的使用案例 SageMaker

搭配使用容器時,請考量下列使用案例 SageMaker:

  • 預先構建的 SageMaker 算法 — 使用內置算法附帶的圖像。如需詳細資訊,請參閱使用 Amazon SageMaker 內建演算法或預先訓練的模型

  • 有預先建置 SageMaker容器的自訂模型 — 如果您訓練或部署自訂模型,但使用具有預先建置 SageMaker 容器 (包括 TensorFlow 和) 的架構 PyTorch,請選擇下列其中一個選項:

    • 如果您不需要自訂套件,並且容器已包括所有必需的套件:請使用與架構關聯的預先建置 Docker 映像。如需更多資訊,請參閱使用預先構建的碼 SageMaker 頭圖像

    • 如果您需要將自訂套件安裝到其中一個預先建置的容器中:請確認預先建置的 Docker 映像是否允許 requirements.txt 檔案,或根據下列使用案例延伸預先建置的容器。

延伸預先建置的 Docker 容器的使用案例

以下是延伸預先建置的 Docker 容器的使用案例:

  • 您無法匯入相依項 — 延伸與您的架構關聯的預先建置的 Docker 映像。如需詳細資訊,請參閱延伸預先建置的容器。

  • 您無法在預先建置的容器中匯入相依項,而且預先建置的容器支援 requirements.txt — 在 requirements.txt 中新增所有必要的相依項。以下架構支援使用 requirements.txt。

建置您自有的容器的使用案例

如果您建置或訓練自訂模型,而且需要沒有預先建置映像的自訂架構,請建置自訂容器。

作為訓練和部署 TensorFlow 模型的範例使用案例,下列指南說明如何判斷使用案例前幾節中的哪個選項適合案例。

假設您對訓練和部署 TensorFlow 模型有下列需求。

決定所需的容器類型之後,下列清單會提供有關先前列出之選項的詳細資訊。