

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

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

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

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

```
from sagemaker.xgboost import XGBoostProcessor
from sagemaker.processing import ProcessingInput, ProcessingOutput
from sagemaker import get_execution_role

#Initialize the XGBoostProcessor
xgb = XGBoostProcessor(
    framework_version='1.2-2',
    role=get_execution_role(),
    instance_type='ml.m5.xlarge',
    instance_count=1,
    base_job_name='frameworkprocessor-XGB',
)

#Run the processing job
xgb.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/data'
        )
    ],
    outputs=[
        ProcessingOutput(
            output_name='processed_data',
            source='/opt/ml/processing/output/',
            destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'
        )
    ]
)
```

如果您有 `requirements.txt` 文件，它应该是您要在容器中安装的库的列表。`source_dir` 的路径可以是相对路径、绝对路径或 Amazon S3 URI 路径。但是，如果您使用 Amazon S3 URI，则路径必须指向 tar.gz 文件。在您为 `source_dir` 指定的目录中可以有多个脚本。要了解有关该`XGBoostProcessor`课程的更多信息，请参阅 Amaz *on Pyth SageMaker on XGBoost * [软件开发工具包中的估算器](https://sagemaker.readthedocs.io/en/stable/frameworks/xgboost/xgboost.html)。