Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überblick: Führen Sie Verarbeitungsaufträge mithilfe eines Geodatencontainers aus ProcessingJob SageMaker
Anmerkung
Die Funktionen von Amazon SageMaker Geospatial stehen Neukunden nicht mehr zur Verfügung. Verschieben Sie alle zuvor gespeicherten Jobs mithilfe der ExportVectorEnrichmentJob API-Operationen ExportEarthObservationJob und nach Amazon S3.
SageMaker Geospatial bietet einen speziell entwickelten Verarbeitungscontainer,. 081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest Sie können diesen Container verwenden, wenn Sie einen Auftrag mit Amazon Processing ausführen. SageMaker Wenn Sie eine Instanz der ProcessingJobimage_uri.
Anmerkung
Wenn Sie beim Versuch, einen Verarbeitungsauftrag zu starten, eine ResourceLimitExceeded Fehlermeldung erhalten, müssen Sie eine Kontingenterhöhung beantragen. Informationen zur Beantragung einer Quotenerhöhung für Service Quotas finden Sie unter Beantragung einer Quotenerhöhung im Service Quotas-Benutzerhandbuch
Voraussetzungen für die Verwendung von ProcessingJob
-
Sie haben ein Python Skript erstellt, das Ihre Geospatial-ML-Arbeitslast spezifiziert.
-
Sie haben der SageMaker KI-Ausführungsrolle Zugriff auf alle Amazon S3-Buckets gewährt, die benötigt werden.
-
Bereiten Sie Ihre Daten für den Import in den Container vor. Amazon SageMaker Processing-Jobs unterstützen entweder das Setzen von „
s3_data_typeGleich“"ManifestFile"oder „Bis“."S3Prefix"
Das folgende Verfahren zeigt Ihnen, wie Sie mithilfe des SageMaker Geospatial-Containers eine Instanz von Amazon SageMaker Processing-Jobs erstellen ProcessingJob und senden.
Um eine ProcessingJob Instanz zu erstellen und einen Amazon SageMaker Processing-Auftrag mithilfe eines SageMaker Geodatencontainers einzureichen
-
Instanziieren Sie eine Instanz der
ProcessingJobKlasse mithilfe des Geodatenbilds: SageMakerfrom 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)execution_role_arnErsetzen Sie ihn durch den ARN der SageMaker KI-Ausführungsrolle, die Zugriff auf die in Amazon S3 gespeicherten Eingabedaten hat, und auf alle anderen AWS Services, die Sie in Ihrem Verarbeitungsauftrag aufrufen möchten. Sie können dieinstance_countund dieinstance_typeaktualisieren, um sie an die Anforderungen Ihres Verarbeitungsjobs anzupassen. -
Verwenden Sie die folgende
.run()Methode, um einen Verarbeitungsjob zu starten:# 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-prefixscript_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.pyErsetzen Sie es durch den Namen Ihres eigenen Python-Datenverarbeitungsskripts. -
Ein Verarbeitungsjob unterstützt zwei Methoden zum Formatieren Ihrer Eingabedaten. Sie können entweder eine Manifestdatei erstellen, die auf alle Eingabedaten für Ihren Verarbeitungsauftrag verweist, oder Sie können für jede einzelne Dateneingabe ein gemeinsames Präfix verwenden. Wenn Sie eine Manifestdatei erstellt haben, die
s3_manifest_urigleich"ManifestFile"ist. Wenn Sie ein Dateipräfix verwendet haben, dass3_manifest_urigleich"S3Prefix"gesetzt ist. Sie geben den Pfad zu Ihren Daten mitsourcean. -
Sie können die Daten Ihres Verarbeitungsauftrags auf zwei Arten verteilen:
-
Verteilen Sie Ihre Daten auf alle Verarbeitungsinstances, indem Sie
s3_data_distribution_typegleichFullyReplicatedsetzen. -
Verteilen Sie Ihre Daten auf der Grundlage des Amazon S3-Schlüssels in Shards, indem Sie
s3_data_distribution_typegleichShardedByS3Keysetzen. Bei der Verwendung vonShardedByS3Keywird an jede Verarbeitungsinstance ein Datenbruchstück gesendet.
-
Sie können ein Skript verwenden, um SageMaker Geodaten zu verarbeiten. Dieses Skript finden Sie in Schritt 3: Schreiben eines Skripts, das den NDVI berechnen kann. Weitere Informationen zum
.run()API-Betrieb finden Sierunim Amazon SageMaker Python SDK for Processing. -
Um den Fortschritt Ihres Verarbeitungsauftrags zu überwachen, unterstützt die ProcessingJobs Klasse eine describeDescribeProcessingJob API-Aufruf zurück. Weitere Informationen finden Sie DescribeProcessingJob in der Amazon SageMaker AI API-Referenz .
Im nächsten Thema erfahren Sie, wie Sie mithilfe des SageMaker Geospatial-Containers eine Instanz der ProcessingJob Klasse erstellen und diese dann verwenden, um den Normalized Difference Vegetation Index (NDVI) mit Bildern zu berechnen. Sentinel-2