As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Visão geral: Execute trabalhos de processamento usando ScriptProcessor
um SageMaker contêiner geoespacial
SageMaker geospatial fornece um contêiner de processamento específico,. 081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest
Você pode usar esse contêiner ao executar um trabalho com o Amazon SageMaker Processing. Ao criar uma instância da ScriptProcessor
image_uri
nota
Se você receber um ResourceLimitExceeded
erro ao tentar iniciar um trabalho de processamento, precisará solicitar um aumento de cota. Para iniciar uma solicitação de aumento da cota Service Quotas, consulte Solicitar um aumento de cota no Guia do usuário do Service Quotas
Pré-requisitos para usar o ScriptProcessor
-
Você criou um Python script que especifica sua carga de trabalho geoespacial de ML.
-
Você concedeu à função de SageMaker execução acesso a todos os buckets do Amazon S3 necessários.
-
Prepare seus dados para importação no contêiner. Os trabalhos SageMaker de processamento da Amazon oferecem suporte à definição de
s3_data_type
igual"ManifestFile"
ou igual a"S3Prefix"
.
O procedimento a seguir mostra como criar uma instância ScriptProcessor
e enviar um trabalho de SageMaker processamento da Amazon usando o contêiner SageMaker geoespacial.
Para criar uma ScriptProcessor
instância e enviar um trabalho de SageMaker processamento da Amazon usando um contêiner SageMaker geoespacial
-
Instancie uma instância da
ScriptProcessor
classe usando a imagem SageMaker geoespacial: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
)Substituir
execution_role_arn
com a função ARN de SageMaker execução que tem acesso aos dados de entrada armazenados no Amazon S3 e em quaisquer outros AWS serviços que você queira chamar em seu trabalho de processamento. Você pode atualizar oinstance_count
e oinstance_type
para atender aos requisitos do seu trabalho de processamento. -
Para iniciar um trabalho de processamento, use o 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
) ] )-
Substituir
preprocessing.py
com o nome do seu próprio script de processamento de dados em Python. -
Um trabalho de processamento oferece suporte a dois métodos para formatar seus dados de entrada. Você pode criar um arquivo manifesto que aponte para todos os dados de entrada do seu trabalho de processamento ou usar um prefixo comum em cada entrada de dados individual. Se você criou um conjunto de arquivos de manifesto
s3_manifest_uri
igual a"ManifestFile"
. Se você usou um prefixo do arquivo definidos3_manifest_uri
igual a"S3Prefix"
. Você especifica o caminho para seus dados usandosource
. -
Você pode distribuir os dados da tarefa de processamento de duas maneiras:
-
Distribua seus dados para todas as instâncias de processamento definindo
s3_data_distribution_type
igual aFullyReplicated
. -
Distribua seus dados em fragmentos com base na chave Amazon S3 definindo
s3_data_distribution_type
igual aShardedByS3Key
. Quando você usaShardedByS3Key
, um fragmento de dados é enviado para cada instância de processamento.
-
Você pode usar um script para processar dados SageMaker geoespaciais. Esse script pode ser encontrado na Etapa 3: Escrevendo um script que possa calcular NDVI o. Para saber mais sobre a
.run()
API operação, consulterun
o Amazon SageMaker Python SDK for Processing. -
Para monitorar o progresso do seu trabalho de processamento, a classe ProcessingJobs
oferece suporte a um método describe
DescribeProcessingJob
API chamada. Para saber mais, consulte DescribeProcessingJob
na SageMaker APIReferência da Amazon.
O próximo tópico mostra como criar uma instância da ScriptProcessor
classe usando o contêiner SageMaker geoespacial e, em seguida, como usá-lo para calcular o Índice de Vegetação por Diferença Normalizada () com NDVI Sentinel-2 imagens.