Panoramica: esegui i processi di elaborazione utilizzando un contenitore geospaziale ScriptProcessor SageMaker - Amazon SageMaker

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

SageMaker geospatial fornisce un contenitore di elaborazione appositamente costruito,. 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 ScriptProcessorclasse 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 in Guida per l'utente di Service Quotas

Prerequisiti per l'utilizzo di ScriptProcessor
  1. Hai creato un Python script che specifica il carico di lavoro ML geospaziale.

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

  3. 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'ScriptProcessoristanza 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 )

    Replace (Sostituisci) execution_role_arn con il ruolo ARN di SageMaker esecuzione che ha accesso ai dati di input archiviati in Amazon S3 e a qualsiasi altro AWS 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.

  2. 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 ) ] )
    • Replace (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. Questo script può essere trovato nel passaggio 3: Scrittura di uno script in grado di calcolare il. NDVI Per ulteriori informazioni sull'.run()APIoperazione, runconsulta Amazon SageMaker Python SDK for Processing.

Per monitorare l'avanzamento del tuo processo di elaborazione, la classe ProcessingJobs supporta un metodo describe. Questo metodo restituisce una risposta dalla DescribeProcessingJob API chiamata. Per ulteriori informazioni, DescribeProcessingJobconsulta Amazon SageMaker API Reference.

L'argomento successivo mostra come creare un'istanza della ScriptProcessor classe utilizzando il contenitore SageMaker geospaziale e quindi come utilizzarlo per calcolare il Normalized Difference Vegetation Index () con NDVI Sentinel-2 immagini.