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

使用算法运行训练作业

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

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

使用算法运行训练作业(控制台)
  1. 通过 https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

  2. 选择 Algorithms (算法)

  3. 我的算法选项卡上的列表中选择您已创建的算法,或者在 Amazon Web Services Marketplace 订阅选项卡上选择已订阅的算法。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      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. 对于加密密钥,如果您希望 SageMaker 使用 Amazon KMS 密钥对 S3 位置的输出数据进行静态加密,请指定密钥。

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

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

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

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

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

使用您创建的或在 Amazon Web Services 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', instance_count=1, 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})