运行通过推理管道进行 Batch 转换 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

运行通过推理管道进行 Batch 转换

要获取对整个数据集的推理,请在训练好的模型上运行批处理转换。要在完整数据集上运行推理,您可以在批量转换作业中使用创建并部署到终端节点上用于实时处理的同一个推理管道模型。要在管道中运行批量转换作业,可以从 Amazon S3 下载输入数据,并在一个或多个 HTTP 请求中将这些数据发送到推理管道模型。有关说明如何准备数据用于批量转换的示例,请参阅 “ML 管道与 SparkML 和 XGBoost - 训练和推理”示例笔记本中的“准备数据进行批量转换”部分。有关 Amazon SageMaker 批量转换的信息,请参阅使用批量转换获取整个数据集的推理.

注意

在包括Amazon SageMaker 内置算法,您需要Amazon Elastic Container Registry (ECR) 策略. 您的 Amazon ECR 存储库必须向授予 SageMaker 拉取映像的权限。有关更多信息,请参阅推理管道的 Amazon ECR 权限问题排查

以下示例演示如何使用运行转换作业的Amazon SageMaker Python 开发工具包. 在此示例中,model_name 是组合了 SparkML 和 XGBoost 模型(这些模型在前面的示例中创建)的推理管道。Amazon S3 位置input_data_path包含要下载并发送到 Spark ML 模型的 CSV 格式的输入数据。转换作业完成后,指定的 Amazon S3 位置output_data_path包含 XGBoost 模型返回的输出数据(采用 CSV 格式)。

import sagemaker input_data_path = 's3://{}/{}/{}'.format(default_bucket, 'key', 'file_name') output_data_path = 's3://{}/{}'.format(default_bucket, 'key') transform_job = sagemaker.transformer.Transformer( model_name = model_name, instance_count = 1, instance_type = 'ml.m4.xlarge', strategy = 'SingleRecord', assemble_with = 'Line', output_path = output_data_path, base_transform_job_name='inference-pipelines-batch', sagemaker_session=sagemaker.Session(), accept = CONTENT_TYPE_CSV) transform_job.transform(data = input_data_path, content_type = CONTENT_TYPE_CSV, split_type = 'Line')