本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
PyTorch 框架处理器
PyTorch 是一个开源机器学习框架。Amazon SageMaker Python SDK 中的 PyTorchProcessor 为您提供了使用 PyTorch 脚本运行处理作业的功能。在使用 PyTorchProcessor 时,您可以利用 Amazon 构建的 Docker 容器和托管的 PyTorch 环境,这样您便无需自带容器。
以下代码示例显示了如何使用 PyTorchProcessor 以及 SageMaker AI 提供并维护的 Docker 映像运行处理作业。请注意,在运行作业时,您可以在 source_dir 参数中指定包含脚本和依赖关系的目录,并且可以在 source_dir 目录中有一个 requirements.txt 文件以指定处理脚本的依赖项。SageMaker Processing 会在容器的 requirements.txt 中为您安装依赖项。
有关 SageMaker AI 支持的 PyTorch 版本,请参阅可用的深度学习容器映像
from sagemaker.pytorch.processing import PyTorchProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput from sagemaker import get_execution_role #Initialize the PyTorchProcessor pytorch_processor = PyTorchProcessor( framework_version='1.8', role=get_execution_role(), instance_type='ml.m5.xlarge', instance_count=1, base_job_name='frameworkprocessor-PT' ) #Run the processing job pytorch_processor.run( code='processing-script.py', source_dir='scripts', inputs=[ ProcessingInput( input_name='data', source=f's3://{BUCKET}/{S3_INPUT_PATH}', destination='/opt/ml/processing/input' ) ], outputs=[ ProcessingOutput(output_name='data_structured', source='/opt/ml/processing/tmp/data_structured', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'), ProcessingOutput(output_name='train', source='/opt/ml/processing/output/train', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'), ProcessingOutput(output_name='validation', source='/opt/ml/processing/output/val', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'), ProcessingOutput(output_name='test', source='/opt/ml/processing/output/test', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'), ProcessingOutput(output_name='logs', source='/opt/ml/processing/logs', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}') ] )
如果您有 requirements.txt 文件,它应该是您要在容器中安装的库的列表。source_dir 的路径可以是相对路径、绝对路径或 Amazon S3 URI 路径。但是,如果您使用 Amazon S3 URI,则路径必须指向 tar.gz 文件。在您为 source_dir 指定的目录中可以有多个脚本。要了解有关 PyTorchProcessor 类的更多信息,请参阅《Amazon SageMaker Python SDK》中的 PyTorch 估算器