使用 scikit-learn 运行处理作业 - 亚马逊 SageMaker AI

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

使用 scikit-learn 运行处理作业

你可以使用 Amazon Processing 在 Amazon AI 提供的 Docker 镜像中使用 scikit-learn 脚本 SageMaker 处理数据和评估模型。 SageMaker 以下提供了如何使用 scikit-learn 运行亚马逊 SageMaker 处理任务的示例。

有关演示如何使用 SageMaker AI 提供和维护的 Docker 镜像运行 scikit-learn 脚本来预处理数据和评估模型的示例笔记本,请参阅 scikit-learn 处理。要使用此笔记本,你需要安装SDK用于处理的 SageMaker AI Python。

此笔记本使用 SageMaker Python 中的SKLearnProcessor类运行处理作业,SDK以运行你提供的 scikit-learn 脚本。该脚本预处理数据,使用 SageMaker 训练作业训练模型,然后运行处理作业来评估训练后的模型。处理作业将估计模型在生产中的预期效果。

要了解有关在处理容器中使用 SageMaker Python SDK 的更多信息,请参阅 SageMaker Python SDK。有关可用于处理作业的预构建 Docker 映像的完整列表,请参阅 Docker 注册表路径和示例代码

以下代码示例显示了笔记本SKLearnProcessor如何使用 SageMaker 人工智能提供和维护的 Docker 镜像,而不是你自己的 Docker 镜像来运行你自己的 scikit-learn 脚本。

from sagemaker.sklearn.processing import SKLearnProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput sklearn_processor = SKLearnProcessor(framework_version='0.20.0', role=role, instance_type='ml.m5.xlarge', instance_count=1) sklearn_processor.run(code='preprocessing.py', inputs=[ProcessingInput( source='s3://path/to/my/input-data.csv', destination='/opt/ml/processing/input')], outputs=[ProcessingOutput(source='/opt/ml/processing/output/train'), ProcessingOutput(source='/opt/ml/processing/output/validation'), ProcessingOutput(source='/opt/ml/processing/output/test')] )

要在 Amazon Processing 上使用 Scikit-Learn 并行 SageMaker 处理数据,您可以通过 S3 密钥对输入对象进行分片,方法是在s3_data_distribution_type='ShardedByS3Key'中进行设置,ProcessingInput这样每个实例接收的输入对象数量大致相同。