

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Panoramica: esegui i processi di elaborazione utilizzando un contenitore geospaziale `ScriptProcessor` SageMaker
<a name="geospatial-custom-operations-overview"></a>

SageMaker geospatial fornisce un contenitore di elaborazione appositamente progettato,. `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` Puoi utilizzare questo contenitore durante l'esecuzione di un processo con Amazon SageMaker Processing. Quando crei un'istanza della [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)classe disponibile tramite *Amazon SageMaker Python SDK for Processing*, specificalo. `image_uri`

**Nota**  
Se ricevi un ResourceLimitExceedederrore durante il tentativo di avviare un processo di elaborazione, devi richiedere un aumento della quota. Per richiedere un aumento della quota in Service Quotas, consulta [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) in *Guida per l'utente di Service Quotas* 

**Prerequisiti per l'utilizzo di `ScriptProcessor`**

1. Aver creato uno script Python che specifica il tuo carico di lavoro ML geospaziale.

1. Hai concesso al ruolo di esecuzione SageMaker AI l'accesso a tutti i bucket Amazon S3 necessari.

1. Preparazione dei dati per l'importazione nel container. I SageMaker processi di elaborazione di Amazon supportano l'impostazione di `s3_data_type` uguale `"ManifestFile"` o uguale a`"S3Prefix"`.

La procedura seguente mostra come creare un'istanza `ScriptProcessor` e inviare un processo di Amazon SageMaker Processing utilizzando il contenitore SageMaker geospaziale.

**Per creare un'`ScriptProcessor`istanza e inviare un processo di Amazon SageMaker Processing utilizzando un contenitore SageMaker geospaziale**

1. Crea un'istanza della `ScriptProcessor` classe utilizzando l'immagine geospaziale: 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}}
   )
   ```

   Sostituisci {{execution\_role\_arn}} con l'ARN del ruolo di esecuzione dell'IA che ha accesso SageMaker ai dati di input archiviati in Amazon S3 e a qualsiasi AWS altro servizio che desideri chiamare nel tuo processo di elaborazione. Puoi aggiornare `instance_count` e `instance_type` in modo che soddisfino i requisiti del tuo processo di elaborazione.

1. Per avviare un processo di elaborazione, utilizza il metodo `.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
           )
       ]
   )
   ```
   + Sostituisci {{preprocessing.py}} con il nome del tuo script di elaborazione dati in Python.
   + Un processo di elaborazione supporta due metodi per formattare i tuoi dati di input. Puoi creare un file manifest che rimandi a tutti i dati di input per il tuo processo di elaborazione oppure utilizzare un prefisso comune su ogni singolo input di dati. Se hai creato un file manifest, imposta `s3_manifest_uri` uguale a `"ManifestFile"`. Se hai utilizzato un prefisso del file, imposta `s3_manifest_uri` uguale a `"S3Prefix"`. Specifica il percorso dei tuoi dati utilizzando `source`.
   + Puoi distribuire i dati del tuo processo di elaborazione in due modi:
     + Distribuisci i tuoi dati su tutte le istanze di elaborazione impostando `s3_data_distribution_type` uguale a `FullyReplicated`.
     + Distribuisci i tuoi dati in shard basati sulla chiave Amazon S3 impostando `s3_data_distribution_type` uguale a `ShardedByS3Key`. Quando utilizzi `ShardedByS3Key` , a ogni istanza di elaborazione viene inviato uno shard di dati.

    È possibile utilizzare uno script per elaborare dati SageMaker geospaziali. Lo script è disponibile nella [Fase 3: scrittura di uno script in grado di calcolare l'NDVI](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Per ulteriori informazioni sul funzionamento dell'`.run()`API, consulta [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)*Amazon SageMaker Python SDK* for Processing.

Per monitorare l'avanzamento del tuo processo di elaborazione, la classe `ProcessingJobs` supporta un metodo [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). Questo metodo restituisce una risposta dalla chiamata API `DescribeProcessingJob`. Per ulteriori informazioni, [`DescribeProcessingJob`consulta *Amazon SageMaker AI API Reference*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

L'argomento successivo mostra come creare un'istanza della `ScriptProcessor` classe utilizzando il contenitore SageMaker geospaziale e quindi come utilizzarlo per calcolare l'indice di vegetazione delle differenze normalizzate (NDVI) con le immagini. Sentinel-2

