기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
개요: ScriptProcessor
및 SageMaker 지리 공간 컨테이너를 사용하여 처리 작업 실행
SageMaker 지리 공간은 특별히 제작된 처리 컨테이너인 를 제공합니다081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest
. Amazon SageMaker Processing에서 작업을 실행할 때 이 컨테이너를 사용할 수 있습니다. Amazon SageMaker Python SDK for Processing을 통해 사용할 수 있는 ScriptProcessor
image_uri
.
참고
처리 작업을 시작하려고 할 때 ResourceLimitExceeded
오류가 발생하면 할당량 증가를 요청해야 합니다. 서비스 할당량 할당량 증가 요청을 시작하려면 서비스 할당량 사용자 가이드의 할당량 증가 요청을 참조하세요.
ScriptProcessor
사용을 위한 사전 조건
-
를 생성했습니다.Python 지리 공간 ML 워크로드를 지정하는 스크립트입니다.
-
필요한 모든 Amazon S3 버킷에 대한 SageMaker 실행 역할 액세스 권한을 부여했습니다.
-
컨테이너로 가져올 데이터를 준비하세요. Amazon SageMaker Processing 작업은
"ManifestFile"
또는 와s3_data_type
동일한 설정을 지원합니다"S3Prefix"
.
다음 절차에서는 SageMaker 지리 공간 컨테이너를 사용하여 의 인스턴스를 생성하고 Amazon SageMaker Processing 작업을 ScriptProcessor
제출하는 방법을 보여줍니다.
SageMaker 지리 공간 컨테이너를 사용하여 ScriptProcessor
인스턴스를 생성하고 Amazon SageMaker Processing 작업을 제출하려면
-
SageMaker 지리 공간 이미지를 사용하여
ScriptProcessor
클래스 인스턴스를 인스턴스화합니다.from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput sm_session = sagemaker.session.Session() execution_role_arn = sagemaker.get_execution_role() # purpose-built geospatial container image_uri =
'081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'
script_processor = ScriptProcessor( command=['python3'], image_uri=image_uri, role=execution_role_arn
, instance_count=4, instance_type='ml.m5.4xlarge', sagemaker_session=sm_session
)Replace
execution_role_arn
Amazon S3에 SageMaker 저장된 입력 데이터 및 처리 작업에서 호출하려는 기타 AWS 서비스에 액세스할 수 있는 실행 역할ARN의 .instance_count
및instance_type
를 처리 작업의 요구 사항에 맞게 업데이트할 수 있습니다. -
처리 작업을 시작하려면 다음
.run()
방법을 사용하세요.# Can be replaced with any S3 compliant string for the name of the folder. s3_folder =
geospatial-data-analysis
# Use .default_bucket() to get the name of the S3 bucket associated with your current SageMaker session s3_bucket = sm_session.default_bucket() s3_manifest_uri = f's3://{s3_bucket}/{s3_folder}/manifest.json' s3_prefix_uri = f's3://{s3_bucket}/{s3_folder}/image-prefix
script_processor.run( code='preprocessing.py
', inputs=[ ProcessingInput( source=s3_manifest_uri
|s3_prefix_uri
, destination='/opt/ml/processing/input_data/', s3_data_type="ManifestFile"
|"S3Prefix"
, s3_data_distribution_type="ShardedByS3Key"
|"FullyReplicated"
) ], outputs=[ ProcessingOutput( source='/opt/ml/processing/output_data/', destination=s3_output_prefix_url
) ] )-
Replace
preprocessing.py
자체 Python 데이터 처리 스크립트의 이름을 사용합니다. -
처리 작업은 입력 데이터의 형식을 지정하는 두 가지 방법을 지원합니다. 처리 작업의 모든 입력 데이터를 가리키는 매니페스트 파일을 만들거나 각 개별 데이터 입력에 공통 접두사를 사용할 수 있습니다.
"ManifestFile"
와 같은 매니페스트 파일 세트s3_manifest_uri
를 만든 경우.s3_manifest_uri
와 같은 파일 접두사 세트"S3Prefix"
를 사용한 경우.source
를 사용하여 데이터 경로를 지정합니다. -
처리 작업 데이터를 다음과 같은 두 가지 방법으로 배포할 수 있습니다.
-
s3_data_distribution_type
를FullyReplicated
와 같게 설정하여 모든 처리 인스턴스에 데이터를 배포합니다. -
s3_data_distribution_type
를ShardedByS3Key
와 같게 설정하여 Amazon S3 키를 기반으로 데이터를 샤드로 배포합니다.ShardedByS3Key
을 사용하면 각 처리 인스턴스에 하나의 데이터 샤드가 전송됩니다.
-
스크립트를 사용하여 SageMaker 지리 공간 데이터를 처리할 수 있습니다. 이 스크립트는 를 계산할 수 있는 스크립트 작성 3단계에서 찾을 수 있습니다NDVI.
.run()
API 작업에 대한 자세한 내용은 Amazon SageMaker Python SDK for Processingrun
의 섹션을 참조하세요. -
처리 작업의 진행 상황을 모니터링하기 위해 ProcessingJobs
클래스는 describe
DescribeProcessingJob
API 호출의 응답을 반환합니다. 자세한 내용은 DescribeProcessingJob
Amazon SageMaker API 참조의 섹션을 참조하세요.
다음 주제에서는 SageMaker 지리 공간 컨테이너를 사용하여 ScriptProcessor
클래스의 인스턴스를 생성한 다음 를 사용하여 를 사용하여 정규화된 차이 식물 지수(NDVI)를 계산하는 방법을 보여줍니다.Sentinel-2 이미지.