添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
年轻有为的香蕉  ·  MYSQL 子查询 ...·  1 年前    · 
坚强的板栗  ·  dataframe ...·  2 年前    · 
打酱油的排球  ·  ondblclick event ...·  2 年前    · 
用於訓練和部署模型的 Docker 容器 - Amazon SageMaker AI

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

用於訓練和部署模型的 Docker 容器

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

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

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

下列決策樹說明三個主要案例: 將預先建置 Docker 容器與 SageMaker AI 搭配使用的使用案例 擴展預先建置 Docker 容器的使用案例 建置自有容器的使用案例

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

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

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

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

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

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

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

TensorFlow 模型是一種自訂模型。

因為 TensorFlow 模型將會建置在 TensorFlow 架構中,所以請使用 TensorFlow 預先建置的架構容器來訓練和託管模型。

如果您在 進入點 指令碼或 推論指令碼中需要自訂套件,請延伸預先建置的容器或使用 requirements.txt 檔案在執行期安裝相依項。

確定您需要的容器類型後,以下清單會提供先前列出選項的詳細資訊。

使用內建的 SageMaker AI 演算法或架構 。對於大多數使用案例,您可以使用內建演算法和架構,而不必擔心容器問題。您可以從 SageMaker AI 主控台、 AWS Command Line Interface (AWS CLI)、Python 筆記本或 Amazon SageMaker Python SDK 訓練和部署這些演算法。您可以在建立估算器時指定演算法或架構版本以達成此目的。 Amazon SageMaker 中的內建演算法和預先訓練模型 主題中列舉並描述了可用的內建演算法。有關可用架構的更多相關資訊,請參閱 機器學習 (ML) 架構和語言 。有關如何使用在 SageMaker 筆記本執行個體中執行的 Jupyter 筆記本來訓練和部署內建演算法的範例,請參閱主題 Amazon SageMaker AI 設定指南

使用預先建置的 SageMaker AI 容器映像 。或者,您可以用 Docker 容器使用內建演算法和架構。SageMaker AI 為其內建演算法提供容器,並為一些最常見的機器學習架構提供預先建置的 Docker 映像,例如 Apache MXNet、TensorFlow、PyTorch 和 Chainer。有關可用 SageMaker 映像的完整清單,請參閱 可用的深度學習容器映像 。它還支援機器學習 (ML) 程式庫,例如 scikit-learn 和 SparkML。如果您使用 Amazon SageMaker Python SDK ,您可以透過將完整容器 URI 傳遞至其各自的 SageMaker SDK Estimator 類別來部署容器。如需 SageMaker AI 目前支援的深度學習架構完整清單,請參閱 深度學習專用預先建置的 SageMaker AI Docker 映像 。如需 scikit-learn 和 SparkML 預先建置的容器映像的相關資訊,請參閱 存取適用於 Scikit-learn 和 Spark ML 的 Docker 映像 。如需透過 Amazon SageMaker Python SDK 使用架構的更多相關資訊,請參閱 Machine Learning 架構和語言 中的相關主題。

擴展預先建置的 SageMaker AI 容器映像 。如果您想要擴展預先建置的 SageMaker AI 演算法或模型 Docker 映像,您可以修改 SageMaker 映像以滿足需求。如需範例,請參閱 延伸我們的 PyTorch 容器

調整現有的容器映像 :如果您想要調整預先存在的容器映像以使用 SageMaker AI,您必須修改 Docker 容器以啟用 SageMaker Training 或 Inference 工具組。如需示範如何建置您自己的容器以訓練和託管演算法的範例,請參閱 自備 R 演算法

對Docker容器和部署進行故障診斷

以下是使用Docker容器搭配 SageMaker AI 時可能遇到的常見錯誤。每個錯誤後面都附有錯誤的解決方案。

錯誤:您Docker容器的 /tmp 目錄已用盡空間。

Docker 容器使用 / /tmp 分割區來存放程式碼。在本機模式下使用大型程式碼模組時,這些分割區很容易就滿了。SageMaker AI Python SDK 支援為本機模式根目錄指定自訂暫存目錄,以避免此問題。

若要在 Amazon Elastic Block Store 磁碟區儲存體中指定自訂暫存目錄,請在下列路徑建立 檔案, ~/.sagemaker/config.yaml 並新增下列組態。您指定作為 container_root 的目錄必須已存在。SageMaker AI Python SDK 不會嘗試建立它。

local: container_root: /home/ec2-user/SageMaker/temp

有了這個組態,本機模式就會使用 /temp 目錄,而非預設的 /tmp 目錄。