View a markdown version of this page

Panoramica: Esegui i processi di elaborazione utilizzando un contenitore geospaziale ProcessingJob SageMaker - Amazon SageMaker AI

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 ProcessingJob SageMaker

Nota

Le funzionalità SageMaker geospaziali di Amazon non sono più aperte a nuovi clienti. Trasferisci su Amazon S3 tutti i lavori salvati in precedenza utilizzando le operazioni e le API. ExportEarthObservationJob ExportVectorEnrichmentJob

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 quando esegui un processo con Amazon Processing. SageMaker Quando crei un'istanza della ProcessingJob classe disponibile tramite Amazon SageMaker Python SDK for Processing, specifica questa opzione. image_uri

Nota

Se ricevi un ResourceLimitExceeded errore quando tenti 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 ProcessingJob
  1. Aver creato uno script Python che specifica il tuo carico di lavoro ML geospaziale.

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

  3. Preparazione dei dati per l'importazione nel container. I job Amazon SageMaker Processing supportano l'impostazione del s3_data_type valore uguale a "ManifestFile" o a. "S3Prefix"

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

Per creare un'ProcessingJobistanza e inviare un SageMaker processo Amazon Processing utilizzando un contenitore geospaziale SageMaker
  1. Crea un'istanza della ProcessingJob classe utilizzando l'immagine geospaziale: SageMaker

    from sagemaker.core.processing import Processor, ProcessingInput, ProcessingOutput from sagemaker.core.helper.session_helper import Session, get_execution_role sm_session = Session() execution_role_arn = get_execution_role() # purpose-built geospatial container image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest' script_processor = Processor( command=['python3'], image_uri=image_uri, role=execution_role_arn, instance_count=4, instance_type='ml.m5.4xlarge', sagemaker_session=sm_session )

    Sostituiscilo 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 altro AWS servizio che desideri chiamare nel 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 ) ] )
    • Sostituiscilo 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 i dati SageMaker geospaziali. Lo script è disponibile nella Fase 3: scrittura di uno script in grado di calcolare l'NDVI. Per ulteriori informazioni sul funzionamento dell'.run()API, consulta Amazon SageMaker Python run 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 chiamata API DescribeProcessingJob. Per ulteriori informazioni, consulta DescribeProcessingJob Amazon SageMaker AI API Reference.

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