使用算法运行训练作业 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用算法运行训练作业

您可以使用算法资源通过 Amazon SageMaker 控制台、低级别 Amazon SageMaker API 或 Amazon SageMaker Python SDK创建训练作业。

使用算法运行训练作业(控制台)

使用算法运行训练作业(控制台)

  1. https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

  2. 选择 Algorithms (算法)

  3. My algorithms (我的算法) 选项卡上的列表中选择您创建的算法,或在 AWS Marketplace subscriptions (AWS Marketplace 订阅) 选项卡上选择您订阅的算法。

  4. 选择 Create training job (创建训练作业)

    将自动选择您选定的算法。

  5. Create training job (创建训练作业) 页面上,提供以下信息:

    1. 对于 Job name (作业名称),请为训练作业键入名称。

    2. 对于 IAM role (IAM 角色),选择具有在 SageMaker 中运行训练作业所需的权限的 IAM 角色,或选择 Create a new role (创建新角色) 以允许 SageMaker 创建已附加 AmazonSageMakerFullAccess 托管策略的角色。有关信息,请参阅SageMaker 角色

    3. 对于 Resource configuration (资源配置),提供以下信息:

      1. 对于 Instance type (实例类型),选择要用于训练的实例类型。

      2. 对于 Instance count (实例计数),键入要用于训练作业的 ML 实例的数目。

      3. 对于 Additional volume per instance (GB) (每个实例的附加卷 (GB)),键入要预配置的 ML 存储卷的大小。ML 存储卷存储模型构件和增量状态。

      4. 对于 Encryption key (加密密钥),如果您希望 Amazon SageMaker 使用 AWS Key Management Service 密钥加密附加到训练实例的 ML 存储卷中的数据,请指定密钥。

      5. 对于 Stopping condition (停止条件),请指定希望训练作业运行的最长时间(以秒、分钟、小时或天为单位)。

    4. 对于 VPC,选择您希望允许训练容器访问的 Amazon VPC。有关更多信息,请参阅为 SageMaker 训练作业授予您的 Amazon VPC 中的资源的访问权限

    5. 对于 Hyperparameters (超参数),请指定要用于训练作业的超参数的值。

    6. 对于 Input data configuration (输入数据配置),请指定要用于训练作业的每个输入数据通道的以下值。在算法的 Algorithm summary (算法摘要) 页面的 Channel specification (通道规范) 部分下,您可以看到用于训练的算法的通道,以及每个通道的内容类型、支持的压缩类型和支持的输入模式。

      1. 对于 Channel name (通道名称),键入输入通道的名称。

      2. 对于 Content type (内容类型),键入算法预期用于通道的数据的内容类型。

      3. 对于 Compression type (压缩类型),选择要使用的数据压缩类型(如果有)。

      4. 对于 Record wrapper (记录包装程序),如果算法需要 RecordIO 格式的数据,则选择 RecordIO

      5. 对于 S3 data type (S3 数据类型)S3 data distribution type (S3 数据分布类型)S3 location (S3 位置),请指定适当的值。有关这些值的含义的信息,请参阅 S3DataSource

      6. 对于 Input mode (输入模式),选择 File (文件) 以将数据下载到预配置的 ML 存储卷,并将目录挂载到 Docker 卷。选择 Pipe (管道) 以直接从 Amazon S3 将数据流式传输到容器。

      7. 要添加另一个输入通道,请选择 Add channel (添加通道)。如果已添加完输入通道,请选择 Done (完成)

    7. 对于 Output (输出) 位置,请指定以下值:

      1. 对于 S3 output path (S3 输出路径),请选择训练作业将输出(例如模型构件)存储到的 S3 位置。

        注意

        您可以使用存储在此位置的模型构件来从该训练作业创建模型或模型包。

      2. 对于 Encryption key (加密密钥),如果您希望 SageMaker 使用 AWS KMS 密钥对 S3 位置的静态输出数据进行加密,请指定密钥。

    8. 对于 Tags (标签),请指定一个或多个标签来管理训练作业。每一个标签都包含一个密钥和一个可选值。每个资源的标签键必须是唯一的。

    9. 选择 Create training job (创建训练作业) 以运行训练作业。

使用算法运行训练作业 (API)

要使用算法通过 SageMaker API 运行训练作业,请指定名称或 Amazon 资源名称 (ARN) 作为传递给 CreateTrainingJobAlgorithmSpecification 对象的 AlgorithmName 字段。有关 SageMaker 中的训练模型的信息,请参阅通过 训练模型Amazon SageMaker

使用算法运行训练作业(Amazon SageMaker Python SDK

使用您创建的或在 AWS Marketplace 上订阅的算法创建训练作业、创建 AlgorithmEstimator 对象并指定 Amazon 资源名称 (ARN) 或算法名称作为 algorithm_arn 参数的值。然后,调用评估程序的 fit 方法。例如:

from sagemaker import AlgorithmEstimator data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm', role='SageMakerRole', train_instance_count=1, train_instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.fit({'training': train_input})