

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# XGBoost 프레임워크 프로세서
<a name="processing-job-frameworks-xgboost"></a>

XGBoost는 오픈 소스 기계 학습 프레임워크입니다. Amazon SageMaker Python SDK의 `XGBoostProcessor`는 XGBoost 스크립트를 사용하여 프로세싱 작업을 실행할 수 있는 기능을 제공합니다. XGBoostProcessor를 사용하면 Amazon에서 구축한 Docker 컨테이너를 관리형 XGBoost 환경과 함께 활용할 수 있으므로 컨테이너를 직접 가져올 필요가 없습니다.

다음 코드 예시에서는 SageMaker AI에서 제공 및 유지 관리하는 Docker 이미지를 사용하여 Processing 작업을 실행하기 위해 `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를 사용하는 경우, 이 URI는 tar.gz 파일을 가리켜야 합니다. `source_dir`에 대해 지정한 디렉터리에 스크립트가 여러 개 있을 수 있습니다. `XGBoostProcessor` 클래스에 대해 자세히 알아보려면, *Amazon SageMaker Python SDK*에서 [XGBoost 예측기](https://sagemaker.readthedocs.io/en/stable/frameworks/xgboost/xgboost.html)를 참고하세요.