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

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

通过推理管道运行批量转换

要获取对整个数据集的推理,请在训练好的模型上运行批处理转换。要在完整数据集上运行推理,您可以在批量转换作业中使用创建并部署到端点上用于实时处理的同一个推理管道模型。要在管道中运行批量转换作业,您可以从 Amazon S3 下载输入数据,并在一个或多个 HTTP 请求中将这些数据发送到推理管道模型。有关演示如何为批量转换准备数据的示例,请参阅使用 Linea r Learner 示例笔记本的 Amazon SageMaker 多模型终端节点中的 “第 2 节——使用 Scikit Lear n 预处理原始住房数据”。有关 Amazon SageMaker 批量转换的信息,请参阅使用批量转换

注意

要在包含亚马逊 SageMaker 内置算法的管道中使用自定义 Docker 镜像,您需要亚马逊弹性容器注册表 (ECR) 策略。您的 Amazon ECR 存储库必须授予提取映像的 SageMaker 权限。有关更多信息,请参阅 推理管道的 Amazon ECR 权限故障排除

以下示例展示了如何使用 Amaz SageMaker on Python 软件开发工具包运行转换作业。在此示例中,model_name 是组合了 SparkML 和 XGBoost 模型(这些模型在前面的示例中创建)的推理管道。input_data_path 指定的 Amazon S3 位置包含 CSV 格式的输入数据,这些数据要下载并发送到 Spark ML 模型。转换作业完成后,output_data_path 指定的 Amazon S3 位置将包含 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')