기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker 지리 공간은 용도에 맞게 구축된 처리 컨테이너 081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest
를 제공합니다. Amazon SageMaker Processing으로 작업을 실행할 때 이 컨테이너를 사용할 수 있습니다. 프로세싱을 위한 Amazon SageMaker Python SDK를 통해 사용할 수 있는 ScriptProcessor
image_uri
를 지정하세요.
참고
처리 작업을 시작하려고 할 때 ResourceLimitExcededed
오류가 발생하는 경우 할당량 증가를 요청해야 합니다. 서비스 할당량 할당량 증가 요청을 시작하려면 서비스 할당량 사용자 가이드의 할당량 증가 요청을 참조하세요.
ScriptProcessor
사용을 위한 사전 조건
-
지리 공간 ML 워크로드를 지정하는 Python스크립트를 생성했습니다.
-
필요한 모든 Amazon S3 버킷에 대한 SageMaker AI 실행 역할 액세스 권한을 부여했습니다.
-
컨테이너로 가져올 데이터를 준비하세요. Amazon SageMaker Processing 작업은
s3_data_type
을"ManifestFile"
과 동일하게 설정하거나"S3Prefix"
로 설정하는 것을 지원합니다.
다음 절차는 SageMaker 지리 공간 컨테이너를 사용하여 ScriptProcessor
인스턴스를 생성하고 Amazon SageMaker Processing 작업을 제출하는 방법을 보여줍니다.
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
)execution_role_arn
을 Amazon S3에 저장된 입력 데이터 및 처리 작업에서 호출하려는 기타 서비스에 액세스할 수 있는 SageMaker AI 실행 역할의 ARN으로 바꿉니다. AWSinstance_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
) ] )-
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의run
를 참조하세요. -
처리 작업의 진행 상황을 모니터링하기 위해 ProcessingJobs
클래스는 describe
DescribeProcessingJob
API 호출의 응답을 반환합니다. 자세한 내용은 DescribeProcessingJob
Amazon SageMaker AI API 참조의 섹션을 참조하세요.
다음 항목에서는 SageMaker 지리 공간 컨테이너를 사용하여 ScriptProcessor
클래스의 인스턴스를 만드는 방법과 이를 사용하여 Sentinel-2 이미지로 NDVI(정규화식생지수)를 계산하는 방법을 보여줍니다.