Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Descripción general: ejecute trabajos de procesamiento utilizando un contenedor geoespacial ScriptProcessor
SageMaker
SageMaker geospatial proporciona un contenedor de procesamiento especialmente diseñado,. 081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest
Puedes usar este contenedor cuando ejecutes un trabajo con Amazon SageMaker Processing. Cuando cree una instancia de la ScriptProcessor
image_uri
.
nota
Si recibe un ResourceLimitExceeded
error al intentar iniciar un trabajo de procesamiento, debe solicitar un aumento de cuota. Para aprender a solicitar un aumento de cuota, consulte Solicitud de aumento de cuota en la Guía del usuario de Service Quotas.
Requisitos previos para utilizar ScriptProcessor
-
Ha creado un Python script que especifica su carga de trabajo de aprendizaje automático geoespacial.
-
Ha concedido al rol de SageMaker ejecución acceso a todos los buckets de Amazon S3 que sean necesarios.
-
Preparación de los datos para importarlos al contenedor. Los trabajos SageMaker de procesamiento de Amazon admiten establecer un
s3_data_type
valor igual a"ManifestFile"
o a"S3Prefix"
.
El siguiente procedimiento le muestra cómo crear una instancia ScriptProcessor
y enviar un trabajo de Amazon SageMaker Processing mediante el contenedor SageMaker geoespacial.
Para crear una ScriptProcessor
instancia y enviar un trabajo de Amazon SageMaker Processing mediante un contenedor SageMaker geoespacial
-
Cree una instancia de la
ScriptProcessor
clase mediante la imagen geoespacial: SageMakerfrom 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
)Reemplazar
execution_role_arn
con la función ARN de SageMaker ejecución que tiene acceso a los datos de entrada almacenados en Amazon S3 y cualquier otro AWS servicio al que desee llamar en su trabajo de procesamiento. Puede actualizar elinstance_count
y elinstance_type
para que coincidan con los requisitos de su trabajo de procesamiento. -
Para iniciar un trabajo de procesamiento, utilice el método
.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
) ] )-
Reemplazar
preprocessing.py
con el nombre de su propio script de procesamiento de datos de Python. -
Un trabajo de procesamiento admite dos métodos para formatear los datos de entrada. Puede crear un archivo de manifiesto que apunte a todos los datos de entrada para su trabajo de procesamiento o puede usar un prefijo común en cada entrada de datos individual. Si ha creado un archivo de manifiesto, establezca un
s3_manifest_uri
igual a"ManifestFile"
. Si usó un conjunto de prefijos de archivos3_manifest_uri
igual a"S3Prefix"
. Para especificar la ruta de acceso a sus datos, utilicesource
. -
Puede distribuir los datos del trabajo de procesamiento de dos maneras:
-
Distribuya sus datos a todas las instancias de procesamiento estableciendo un valor
s3_data_distribution_type
igual aFullyReplicated
. -
Distribuya sus datos en fragmentos en particiones en función de la clave de Amazon S3 estableciendo un valor de
s3_data_distribution_type
igual aShardedByS3Key
. Cuando se utilizaShardedByS3Key
, se envía una partición de datos a cada instancia de procesamiento.
-
Puede utilizar un script para procesar datos SageMaker geoespaciales. Ese script se encuentra en el paso 3: Escribir un script que pueda calcular el NDVI. Para obtener más información sobre la
.run()
API operación, consulterun
Amazon SageMaker Python SDK for Processing. -
Para supervisar el progreso de su trabajo de procesamiento, la clase ProcessingJobs
admite un método describe
DescribeProcessingJob
API llamada. Para obtener más información, consulta DescribeProcessingJob
la SageMaker APIreferencia de Amazon.
En el siguiente tema se muestra cómo crear una instancia de la ScriptProcessor
clase utilizando el contenedor SageMaker geoespacial y, a continuación, cómo usarla para calcular la diferencia normalizada del índice de vegetación () NDVI con Sentinel-2 imágenes.