Descripción general: ejecute trabajos de procesamiento utilizando un contenedor geoespacial ScriptProcessor SageMaker - Amazon SageMaker

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 ScriptProcessorclase que está disponible a través de Amazon SageMaker Python SDK for Processing, especifíqueloimage_uri.

nota

Si recibe un ResourceLimitExceedederror 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
  1. Ha creado un Python script que especifica su carga de trabajo de aprendizaje automático geoespacial.

  2. Ha concedido al rol de SageMaker ejecución acceso a todos los buckets de Amazon S3 que sean necesarios.

  3. 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
  1. Cree una instancia de la ScriptProcessor clase mediante la imagen geoespacial: SageMaker

    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 )

    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 el instance_count y el instance_type para que coincidan con los requisitos de su trabajo de procesamiento.

  2. 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 archivo s3_manifest_uri igual a "S3Prefix". Para especificar la ruta de acceso a sus datos, utilice source.

    • 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 a FullyReplicated.

      • 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 a ShardedByS3Key. Cuando se utiliza ShardedByS3Key, 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, consulte runAmazon SageMaker Python SDK for Processing.

Para supervisar el progreso de su trabajo de procesamiento, la clase ProcessingJobs admite un método describe. Este método devuelve una respuesta de la DescribeProcessingJob API llamada. Para obtener más información, consulta DescribeProcessingJobla 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.