

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
<a name="geospatial-custom-operations-overview"></a>

SageMaker geospatial proporciona un contenedor de procesamiento diseñado específicamente,. `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 [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)clase que está disponible a través del *SDK de Amazon SageMaker Python para procesamiento*, especifique esto`image_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](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) en la *Guía del usuario de Service Quotas*. 

**Requisitos previos para utilizar `ScriptProcessor`**

1. Ha creado un script Python que especifica su carga de trabajo de machine learning geoespacial.

1. Ha concedido a la función de ejecución de SageMaker IA acceso a todos los buckets de Amazon S3 que sean necesarios.

1. 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
   )
   ```

   *execution\$1role\$1arn*Sustitúyalo por el ARN de la función de ejecución de SageMaker IA 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.

1. 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
           )
       ]
   )
   ```
   + *preprocessing.py*Sustitúyalo por el nombre de tu 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: Escritura de un script que pueda calcular el NDVI](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Para obtener más información sobre el funcionamiento de la `.run()` API, consulte [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run)el *SDK para procesamiento de Amazon SageMaker Python*.

Para supervisar el progreso de su trabajo de procesamiento, la clase `ProcessingJobs` admite un método [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe). Este método devuelve una respuesta de la llamada a la API `DescribeProcessingJob`. Para obtener más información, consulta [`DescribeProcessingJob`la *referencia de la API de Amazon SageMaker AI*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

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 el índice diferencial normalizado de vegetación (NDVI) con imágenes. Sentinel-2

