自定义运行时系统环境 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

自定义运行时系统环境

您可以自定义运行时环境,使用首选的本地集成开发环境 (IDE)、 SageMaker 笔记本或 SageMaker Studio Classic 笔记本来编写机器学习代码。 SageMaker 将帮助将您的函数及其依赖项打包并作为 SageMaker 训练作业提交。这允许您访问 SageMaker 训练服务器的容量来运行您的训练作业。

用于调用函数的远程装饰器和 RemoteExecutor 方法都允许用户定义和自定义其运行时系统环境。您可以使用 requirements.txt 文件或 conda 环境 YAML 文件。

要同时使用 conda 环境 YAML 文件和 requirements.txt 文件自定义运行时系统环境,请参阅以下代码示例。

# specify a conda environment inside a yaml file @remote(instance_type="ml.m5.large", image_uri = "my_base_python:latest", dependencies = "./environment.yml") def matrix_multiply(a, b): return np.matmul(a, b) # use a requirements.txt file to import dependencies @remote(instance_type="ml.m5.large", image_uri = "my_base_python:latest", dependencies = './requirements.txt') def matrix_multiply(a, b): return np.matmul(a, b)

或者,您可以dependenciesauto_capture设置为,让 SageMaker Python SDK 捕获活动的 conda 环境中已安装的依赖项。需满足以下条件才能使 auto_capture 可靠地工作:

  • 您必须拥有一个活动的 conda 环境。我们建议不要将 base conda 环境用于远程作业,以便能减少潜在的依赖项冲突。在不使用 base conda 环境的情况下,还可以在远程作业中更快地设置环境。

  • 您不得将 pip 与参数 --extra-index-url 的值结合使用来安装任何依赖项。

  • 在本地开发环境中,使用 conda 安装的包和使用 pip 安装的包之间不得存在任何依赖项冲突。

  • 您的本地开发环境不得包含与 Linux 不兼容的特定于操作系统的依赖项。

如果 auto_capture 不起作用,建议您将依赖项作为 requirement.txt 或 conda environment.yaml 文件传入,如此部分中的第一个编码示例所述。