

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Vue d'ensemble : Exécuter des tâches de traitement à `ScriptProcessor` l'aide d'un SageMaker conteneur géospatial
<a name="geospatial-custom-operations-overview"></a>

SageMaker geospatial fournit un conteneur de traitement spécialement conçu,. `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` Vous pouvez utiliser ce conteneur lorsque vous exécutez une tâche avec Amazon SageMaker Processing. Lorsque vous créez une instance 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)classe disponible via le *SDK Amazon SageMaker Python pour le traitement*, spécifiez-le`image_uri`.

**Note**  
Si vous recevez un ResourceLimitExceededmessage d'erreur lorsque vous tentez de démarrer une tâche de traitement, vous devez demander une augmentation du quota. Pour savoir comment demander une augmentation de quota Service Quotas, consultez [Demande d’augmentation de quota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) dans le *Guide de l’utilisateur Service Quotas*. 

**Conditions préalables pour l’utilisation du `ScriptProcessor`.**

1. Vous avez créé un script Python qui spécifie votre charge de travail ML géospatiale.

1. Vous avez accordé au rôle d'exécution SageMaker AI l'accès à tous les compartiments Amazon S3 nécessaires.

1. Préparez vos données pour les importer dans le conteneur. Les tâches Amazon SageMaker Processing permettent de définir la `s3_data_type` valeur égale à `"ManifestFile"` ou égale à`"S3Prefix"`.

La procédure suivante explique comment créer une instance `ScriptProcessor` et envoyer une tâche Amazon SageMaker Processing à l'aide du conteneur SageMaker géospatial.

**Pour créer une `ScriptProcessor` instance et soumettre une tâche Amazon SageMaker Processing à l'aide d'un SageMaker conteneur géospatial**

1. Instanciez une instance de la `ScriptProcessor` classe à l'aide de l'image SageMaker géospatiale :

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

   Remplacez-le *execution\$1role\$1arn* par l'ARN du rôle d'exécution SageMaker AI qui a accès aux données d'entrée stockées dans Amazon S3 et à tout autre AWS service que vous souhaitez appeler dans le cadre de votre tâche de traitement. Vous pouvez mettre à jour les éléments `instance_count` et `instance_type` pour répondre aux exigences de votre tâche de traitement.

1. Pour démarrer une tâche de traitement, utilisez la méthode `.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*Remplacez-le par le nom de votre propre script de traitement de données Python.
   + Une tâche de traitement prend en charge deux méthodes de formatage de vos données d’entrée. Vous pouvez soit créer un fichier manifeste qui pointe vers toutes les données d’entrée de votre tâche de traitement, soit utiliser un préfixe commun pour chaque entrée de données individuelle. Si vous avez créé un fichier manifeste, affectez à `s3_manifest_uri` la valeur `"ManifestFile"`. Si vous avez utilisé un préfixe de fichier, affectez à `s3_manifest_uri` la valeur `"S3Prefix"`. Vous spécifiez le chemin d’accès à vos données à l’aide de `source`.
   + Vous pouvez distribuer les données de vos tâches de traitement de deux manières :
     + Distribuez vos données à toutes les instances de traitement en affectant à `s3_data_distribution_type` la valeur `FullyReplicated`.
     + Répartissez vos données en partitions en fonction de la clé Amazon S3 en affectant à `s3_data_distribution_type` la valeur `ShardedByS3Key`. Lorsque vous utilisez `ShardedByS3Key`, une partition de données est envoyée à chaque instance de traitement.

    Vous pouvez utiliser un script pour traiter les données SageMaker géospatiales. Ce script se trouve à l’[étape 3 : Rédaction d’un script capable de calculer le NDVI](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Pour en savoir plus sur le fonctionnement de l'`.run()`API, consultez [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)le *SDK Amazon SageMaker Python pour le traitement*.

Pour surveiller la progression de votre tâche de traitement, la classe `ProcessingJobs` prend en charge une méthode [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). Cette méthode renvoie une réponse de l’appel d’API `DescribeProcessingJob`. Pour en savoir plus, consultez [`DescribeProcessingJob`le manuel *Amazon SageMaker AI API Reference*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

La rubrique suivante explique comment créer une instance de la `ScriptProcessor` classe à l'aide du conteneur SageMaker géospatial, puis comment l'utiliser pour calculer l'indice de végétation par différence normalisée (NDVI) avec des images. Sentinel-2

