

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

# PyTorch 框架处理器
<a name="processing-job-frameworks-pytorch"></a>

PyTorch 是一个开源机器学习框架。Amaz SageMaker on Python 软件开发工具包`PyTorchProcessor`中的使您能够使用 PyTorch 脚本运行处理任务。使用时`PyTorchProcessor`，您可以利用亚马逊构建的带有托管 PyTorch 环境的 Docker 容器，这样您就无需自带容器。

以下代码示例显示了如何使用 SageMaker AI 提供和维护的 Docker 镜像来运行处理作业。`PyTorchProcessor`请注意，当你运行作业时，你可以在`source_dir`参数中指定一个包含脚本和依赖关系的目录，也可以在你的`source_dir`目录中有一个`requirements.txt`文件来指定处理脚本的依赖关系。 SageMaker 处理会为您在容器`requirements.txt`中安装依赖项。

有关 A SageMaker I 支持的 PyTorch 版本，请参阅可用的[深度学习容器镜像](https://github.com/aws/deep-learning-containers/blob/master/available_images.md)。

```
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`课程的更多信息，请参阅 Amaz *on Pyth SageMaker on PyTorch * [软件开发工具包中的估算器](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/sagemaker.pytorch.html)。