使用 Docker 容器构建模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Docker 容器构建模型

Ama SageMaker zon 广泛使用 Docker 容器来执行构建和运行时任务。 SageMaker 为其内置算法提供预构建的 Docker 镜像,以及用于训练和推理的支持的深度学习框架。使用容器,您可以快速可靠地训练机器学习算法并部署任意规模的模型。此部分中的主题展示了如何根据自己的使用场景部署这些容器。有关如何自带容器用于 Amazon SageMaker Studio Classic 的信息,请参阅带上你自己的 SageMaker 图片

使用运行脚本、训练算法或部署模型的场景 SageMaker

Amazon 在运行脚本、训练算法和部署模型时 SageMaker 始终使用 Docker 容器。您与容器的互动程度取决于您的使用场景。

以下决策树说明了三种主要场景:使用预构建的 Docker 容器的用例 SageMaker;扩展预构建的 Docker 容器的用例;构建自己的容器的用例

选择构建自定义容器、扩展容器或使用预建容器的决策树。

使用预构建的 Docker 容器的用例 SageMaker

将容器与以下用例一起使用时,请考虑以下用例 SageMaker:

  • 预建 SageMaker 算法-使用内置算法附带的图像。有关更多信息,请参阅使用 Amazon SageMaker 内置算法或预训练模型

  • 带有预建 SageMaker容器的自定义模型 — 如果您训练或部署自定义模型,但使用的框架包含包含 TensorFlow 和的预建 SageMaker 容器 PyTorch,请选择以下选项之一:

    • 如果您不需要自定义软件包,并且容器已包含所有必需的软件包:请使用与您的框架关联的预构建 Docker 映像。有关更多信息,请参阅 使用预构建的 SageMaker Docker 镜像

    • 如果您需要安装到预建容器之一中的自定义软件包:请确认预构建的 Docker 映像允许 requirements.txt 文件,或者根据以下使用场景扩展预构建的容器。

扩展预构建 Docker 容器的使用场景

以下是扩展预构建 Docker 容器的使用场景:

  • 无法导入依赖项 – 扩展与您的框架关联的预构建 Docker 映像。请参阅扩展预构建容器了解更多信息。

  • 无法在预建容器中导入依赖项,并且预构建容器支持 requirements.txt – 在 requirements.txt 中添加所有必需的依赖项。以下框架支持使用 requirements.txt。

自行构建容器的使用场景

如果您构建或训练自定义模型,并且需要没有预构建映像的自定义框架,请构建一个自定义容器。

作为训练和部署 TensorFlow 模型的示例用例,以下指南展示了如何确定前面用例部分中哪个选项适合该案例

假设您在训练和部署 TensorFlow 模型时有以下要求。

确定所需的容器类型后,以下列表提供了有关先前列出的选项的详细信息。