Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2

Mangrovenwälder sind ein wichtiger Bestandteil eines gesunden Ökosystems, und menschliche Aktivitäten sind einer der Hauptgründe für ihr allmähliches Verschwinden von den Küsten auf der ganzen Welt. Die Verwendung eines Modells für maschinelles Lernen (ML) zur Identifizierung von Mangrovenregionen aus einem Satellitenbild bietet Forschern eine effektive Möglichkeit, die Größe der Wälder im Laufe der Zeit zu überwachen. Im Teil 1 dieser Serie haben wir gezeigt, wie man Satellitendaten automatisiert sammelt und analysiert Amazon SageMaker-Studio mit interaktiver Visualisierung. In diesem Beitrag zeigen wir die Verwendung Amazon SageMaker-Autopilot um den Prozess der Erstellung eines benutzerdefinierten Mangroven-Klassifikators zu automatisieren.

Trainieren Sie ein Modell mit Autopilot

Autopilot bietet eine ausgewogene Möglichkeit, mehrere Modelle zu erstellen und das beste auszuwählen. Während mehrere Kombinationen verschiedener Datenvorverarbeitungstechniken und ML-Modelle mit minimalem Aufwand erstellt werden, bietet Autopilot dem Data Scientist auf Wunsch die vollständige Kontrolle über diese Komponentenschritte.

Sie können Autopilot mit einem der AWS SDKs verwenden (Details finden Sie in der API-Referenzhandbuch für Autopilot) oder über Studio. Wir verwenden Autopilot in unserer Studio-Lösung, indem wir die in diesem Abschnitt beschriebenen Schritte ausführen:

  1. Wählen Sie auf der Studio Launcher-Seite das Pluszeichen für aus Neues Autopilot-Experiment.
    Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
  2. Aussichten für Verbinden Sie Ihre DatenWählen Finden Sie den S3-Bucket, und geben Sie den Bucket-Namen ein, in dem Sie die Trainings- und Test-Datasets gespeichert haben.
  3. Aussichten für Dateiname des Datensatzes, geben Sie den Namen der Trainingsdatendatei ein, die Sie in der erstellt haben Bereiten Sie die Trainingsdaten vor Abschnitt in Teil 1.
  4. Aussichten für Speicherort der Ausgabedaten (S3-Bucket), geben Sie denselben Bucket-Namen ein, den Sie in Schritt 2 verwendet haben.
  5. Aussichten für Name des Dataset-Verzeichnisses, geben Sie einen Ordnernamen unter dem Bucket ein, in dem Autopilot Artefakte speichern soll.
  6. Aussichten für Ist Ihre S3-Eingabe eine Manifestdatei?, wählen Off.
  7. Aussichten für Target, wählen Etikette.
  8. Aussichten für Automatische Bereitstellung, wählen Off.
    Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
  9. Unter dem Erweiterte EinstellungenZ. Problemtyp für maschinelles Lernen, wählen Binäre Klassifizierung.
  10. Aussichten für Objektive Metrik, wählen AUC.
  11. Aussichten für Wählen Sie aus, wie Sie Ihr Experiment durchführen möchten, wählen Nein, führen Sie ein Pilotprojekt durch, um ein Notizbuch mit Kandidatendefinitionen zu erstellen.
  12. Auswählen Experiment erstellen.
    Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
    Weitere Informationen zum Erstellen eines Experiments finden Sie unter Erstellen Sie ein Amazon SageMaker Autopilot-Experiment.Die Ausführung dieses Schritts kann etwa 15 Minuten dauern.
  13. Wenn Sie fertig sind, wählen Sie aus Öffnen Sie das Notizbuch zur Kandidatengenerierung, wodurch ein neues Notizbuch im schreibgeschützten Modus geöffnet wird.
    Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
  14. Auswählen Notizbuch importieren um das Notizbuch bearbeitbar zu machen.
    Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
  15. Wählen Sie für Bild Daten Wissenschaft.
  16. Aussichten für Kernel, wählen Python 3.
  17. Auswählen Auswählen.
    Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Dieses automatisch generierte Notizbuch enthält detaillierte Erläuterungen und bietet vollständige Kontrolle über die eigentliche Modellbauaufgabe, die folgt. Eine angepasste Version der Notizbuch, wo ein Klassifikator mit Landsat-Satellitenbändern aus dem Jahr 2013 trainiert wird, ist im Code-Repository unter verfügbar notebooks/mangrove-2013.ipynb.

Das Modellbildungs-Framework besteht aus zwei Teilen: Merkmalstransformation als Teil des Datenverarbeitungsschritts und Hyperparameteroptimierung (HPO) als Teil des Modellauswahlschritts. Alle notwendigen Artefakte für diese Aufgaben wurden während des Autopilot-Experiments erstellt und gespeichert Amazon Simple Storage-Service (Amazon S3). Die erste Notebook-Zelle lädt diese Artefakte von Amazon S3 auf die lokale herunter Amazon Sage Maker Dateisystem zur Einsichtnahme und allen notwendigen Änderungen. Es gibt zwei Ordner: generated_module und sagemaker_automl, wo alle Python-Module und Skripte gespeichert sind, die zum Ausführen des Notebooks erforderlich sind. Die verschiedenen Merkmalstransformationsschritte wie Imputation, Skalierung und PCA werden gespeichert als generated_modules/candidate_data_processors/dpp*.py.

Autopilot erstellt drei verschiedene Modelle basierend auf den Algorithmen XGBoost, Linear Learner und Multi-Layer Perceptron (MLP). Eine Kandidaten-Pipeline besteht aus einer der Feature-Transformationsoptionen, bekannt als data_transformer, und ein Algorithmus. Eine Pipeline ist ein Python-Wörterbuch und kann wie folgt definiert werden:

candidate1 = { "data_transformer": { "name": "dpp5", "training_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, "volume_size_in_gb": 50 }, "transform_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, }, "transforms_label": True, "transformed_data_format": "application/x-recordio-protobuf", "sparse_encoding": True }, "algorithm": { "name": "xgboost", "training_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, }, }
}

In diesem Beispiel transformiert die Pipeline die Trainingsdaten gemäß dem Skript in generated_modules/candidate_data_processors/dpp5.py und erstellt ein XGBoost-Modell. Hier bietet Autopilot dem Datenwissenschaftler die vollständige Kontrolle, der die automatisch generierten Schritte zur Merkmalstransformation und Modellauswahl auswählen oder seine eigene Kombination erstellen kann.

Sie können die Pipeline jetzt einem Pool für Autopilot hinzufügen, um das Experiment wie folgt auszuführen:

from sagemaker_automl import AutoMLInteractiveRunner, AutoMLLocalCandidate automl_interactive_runner = AutoMLInteractiveRunner(AUTOML_LOCAL_RUN_CONFIG)
automl_interactive_runner.select_candidate(candidate1)

Dies ist ein wichtiger Schritt, bei dem Sie entscheiden können, nur eine Teilmenge der von Autopilot vorgeschlagenen Kandidaten basierend auf Fachkenntnissen zu behalten, um die Gesamtlaufzeit zu reduzieren. Behalten Sie vorerst alle Autopilot-Vorschläge bei, die Sie wie folgt auflisten können:

automl_interactive_runner.display_candidates()

Name des Kandidaten Algorithmus Feature-Transformer
dpp0-xgboost xgboost dpp0.py
dpp1-xgboost xgboost dpp1.py
dpp2-linearer-lerner Linear-Lerner dpp2.py
dpp3-xgboost xgboost dpp3.py
dpp4-xgboost xgboost dpp4.py
dpp5-xgboost xgboost dpp5.py
dpp6-mlp MLP dpp6.py

Das vollständige Autopilot-Experiment besteht aus zwei Teilen. Zuerst müssen Sie die Datentransformationsjobs ausführen:

automl_interactive_runner.fit_data_transformers(parallel_jobs=7)

Dieser Schritt sollte für alle Kandidaten in etwa 30 Minuten abgeschlossen sein, wenn Sie keine weiteren Änderungen an vornehmen dpp*.py Dateien.

Der nächste Schritt besteht darin, den besten Modellsatz zu erstellen, indem die Hyperparameter für die jeweiligen Algorithmen angepasst werden. Die Hyperparameter sind normalerweise in zwei Teile unterteilt: statisch und einstellbar. Die statischen Hyperparameter bleiben während des gesamten Experiments für alle Kandidaten unverändert, die denselben Algorithmus verwenden. Diese Hyperparameter werden als Wörterbuch an das Experiment übergeben. Wenn Sie sich dafür entscheiden, das beste XGBoost-Modell auszuwählen, indem Sie die AUC aus drei Runden eines fünffachen Kreuzvalidierungsschemas maximieren, sieht das Wörterbuch wie der folgende Code aus:

{ 'objective': 'binary:logistic', 'eval_metric': 'auc', '_kfold': 5, '_num_cv_round': 3,
} 

Für die einstellbaren Hyperparameter müssen Sie ein weiteres Wörterbuch mit Bereichen und Skalierungstyp übergeben:

{ 'num_round': IntegerParameter(64, 1024, scaling_type='Logarithmic'), 'max_depth': IntegerParameter(2, 8, scaling_type='Logarithmic'), 'eta': ContinuousParameter(1e-3, 1.0, scaling_type='Logarithmic'),
... }

Der vollständige Satz von Hyperparametern ist in der verfügbar mangrove-2013.ipynb Notizbuch.

Um ein Experiment zu erstellen, bei dem alle sieben Kandidaten parallel getestet werden können, erstellen Sie einen HPO-Tuner mit mehreren Algorithmen:

multi_algo_tuning_parameters = automl_interactive_runner.prepare_multi_algo_parameters( objective_metrics=ALGORITHM_OBJECTIVE_METRICS, static_hyperparameters=STATIC_HYPERPARAMETERS, hyperparameters_search_ranges=ALGORITHM_TUNABLE_HYPERPARAMETER_RANGES)

Die objektiven Metriken werden für jeden Algorithmus unabhängig definiert:

ALGORITHM_OBJECTIVE_METRICS = { 'xgboost': 'validation:auc', 'linear-learner': 'validation:roc_auc_score', 'mlp': 'validation:roc_auc',
}

Das Ausprobieren aller möglichen Werte von Hyperparametern für alle Experimente ist verschwenderisch; Sie können eine Bayes'sche Strategie anwenden, um einen HPO-Tuner zu erstellen:

multi_algo_tuning_inputs = automl_interactive_runner.prepare_multi_algo_inputs()
ase_tuning_job_name = "{}-tuning".format(AUTOML_LOCAL_RUN_CONFIG.local_automl_job_name) tuner = HyperparameterTuner.create( base_tuning_job_name=base_tuning_job_name, strategy='Bayesian', objective_type='Maximize', max_parallel_jobs=10, max_jobs=50, **multi_algo_tuning_parameters,
)

In der Standardeinstellung wählt Autopilot 250 Jobs im Tuner aus, um das beste Modell auszuwählen. Für diesen Anwendungsfall reicht die Einstellung aus max_jobs=50 um Zeit und Ressourcen zu sparen, ohne dass es zu erheblichen Nachteilen bei der Auswahl des besten Satzes von Hyperparametern kommt. Senden Sie abschließend den HPO-Job wie folgt:

tuner.fit(inputs=multi_algo_tuning_inputs, include_cls_metadata=None)

Der Vorgang dauert auf ml.m80xlarge-Instanzen etwa 5.4 Minuten. Sie können den Fortschritt auf der SageMaker-Konsole überwachen, indem Sie wählen Hyperparameter-Tuning-Jobs für Ausbildung im Navigationsbereich.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Sie können eine Vielzahl nützlicher Informationen, einschließlich der Leistung jedes Kandidaten, visualisieren, indem Sie den Namen des laufenden Jobs auswählen.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Vergleichen Sie abschließend die Modellleistung der besten Kandidaten wie folgt:

from sagemaker.analytics import HyperparameterTuningJobAnalytics SAGEMAKER_SESSION = AUTOML_LOCAL_RUN_CONFIG.sagemaker_session
SAGEMAKER_ROLE = AUTOML_LOCAL_RUN_CONFIG.role tuner_analytics = HyperparameterTuningJobAnalytics( tuner.latest_tuning_job.name, sagemaker_session=SAGEMAKER_SESSION) df_tuning_job_analytics = tuner_analytics.dataframe() df_tuning_job_analytics.sort_values( by=['FinalObjectiveValue'], inplace=True, ascending=False if tuner.objective_type == "Maximize" else True) # select the columns to display and rename
select_columns = ["TrainingJobDefinitionName", "FinalObjectiveValue", "TrainingElapsedTimeSeconds"]
rename_columns = { "TrainingJobDefinitionName": "candidate", "FinalObjectiveValue": "AUC", "TrainingElapsedTimeSeconds": "run_time" } # Show top 5 model performances
df_tuning_job_analytics.rename(columns=rename_columns)[rename_columns.values()].set_index("candidate").head(5)

Kandidat AUC Laufzeit (s)
dpp6-mlp 0.96008 2711.0
dpp4-xgboost 0.95236 385.0
dpp3-xgboost 0.95095 202.0
dpp4-xgboost 0.95069 458.0
dpp3-xgboost 0.95015 361.0

Das auf MLP basierende leistungsstärkste Modell ist zwar geringfügig besser als die XGBoost-Modelle mit verschiedenen Auswahlmöglichkeiten an Datenverarbeitungsschritten, benötigt aber auch viel länger zum Trainieren. Wichtige Details zum MLP-Modelltraining, einschließlich der Kombination der verwendeten Hyperparameter, finden Sie wie folgt:

df_tuning_job_analytics.loc[df_tuning_job_analytics.TrainingJobName==best_training_job].T.dropna() 

Schulungsauftragsname mangrove-2-notebook–211021-2016-012-500271c8
TrainingsJobStatus Abgeschlossene Verkäufe
FinalObjectiveValue 0.96008
Trainingsstartzeit 2021-10-21 20:22:55+00:00
TrainingsEndzeit 2021-10-21 21:08:06+00:00
TrainingElapsedTimeSeconds 2711
TrainingJobDefinitionName dpp6-mlp
dropout_prob 0.415778
Embedding_size_factor 0.849226
Lagen 256
Lernrate 0.00013862
mini_batch_size 317
Netzwerkart Feedforward
Gewicht_Zerfall 1.29323e-12

Erstellen Sie eine Inferenzpipeline

Um Rückschlüsse auf neue Daten zu generieren, müssen Sie eine Rückschlusspipeline auf SageMaker erstellen, um das beste Modell zu hosten, das später aufgerufen werden kann, um Rückschlüsse zu generieren. Das SageMaker-Pipelinemodell erfordert drei Container als seine Komponenten: Datentransformation, Algorithmus und inverse Beschriftungstransformation (falls numerische Vorhersagen auf nicht numerische Beschriftungen abgebildet werden müssen). Der Kürze halber wird im folgenden Snippet nur ein Teil des erforderlichen Codes gezeigt; Der vollständige Code ist in der verfügbar mangrove-2013.ipynb Notizbuch:

from sagemaker.estimator import Estimator
from sagemaker import PipelineModel
from sagemaker_automl import select_inference_output …
# Final pipeline model model_containers = [best_data_transformer_model, best_algo_model]
if best_candidate.transforms_label: model_containers.append(best_candidate.get_data_transformer_model( transform_mode="inverse-label-transform", role=SAGEMAKER_ROLE, sagemaker_session=SAGEMAKER_SESSION)) # select the output type
model_containers = select_inference_output("BinaryClassification", model_containers, output_keys=['predicted_label'])

Nachdem die Modellcontainer erstellt wurden, können Sie die Pipeline wie folgt erstellen und bereitstellen:

from sagemaker import PipelineModel pipeline_model = PipelineModel( name=f"mangrove-automl-2013", role=SAGEMAKER_ROLE, models=model_containers, vpc_config=AUTOML_LOCAL_RUN_CONFIG.vpc_config) pipeline_model.deploy(initial_instance_count=1, instance_type='ml.m5.2xlarge', endpoint_name=pipeline_model.name, wait=True)

Die Endpoint-Bereitstellung dauert etwa 10 Minuten.

Rufen Sie mithilfe eines Endpunkts Rückschlüsse auf das Testdataset ab

Nachdem der Endpunkt bereitgestellt wurde, können Sie ihn mit einer Nutzlast der Merkmale B1–B7 aufrufen, um jedes Pixel in einem Bild entweder als Mangrove (1) oder als Sonstiges (0) zu klassifizieren:

import boto3
sm_runtime = boto3.client('runtime.sagemaker') pred_labels = []
with open(local_download, 'r') as f: for i, row in enumerate(f): payload = row.rstrip('n') x = sm_runtime.invoke_endpoint(EndpointName=inf_endpt, ContentType="text/csv", Body=payload) pred_labels.append(int(x['Body'].read().decode().strip()))

Vollständige Details zur Nachbearbeitung der Modellvorhersagen für die Auswertung und Darstellung sind in verfügbar notebooks/model_performance.ipynb.

Rufen Sie mithilfe einer Stapeltransformation Rückschlüsse auf das Testdataset ab

Nachdem Sie nun das leistungsstärkste Modell mit Autopilot erstellt haben, können wir das Modell für Rückschlüsse verwenden. Um Rückschlüsse auf große Datasets zu erhalten, ist es effizienter, eine Stapeltransformation zu verwenden. Lassen Sie uns Vorhersagen für das gesamte Dataset (Training und Test) generieren und die Ergebnisse an die Features anhängen, damit wir weitere Analysen durchführen können, um beispielsweise die Vorhersagen im Vergleich zu den tatsächlichen Daten und die Verteilung der Features auf die vorhergesagten Klassen zu überprüfen.

Zunächst erstellen wir eine Manifestdatei in Amazon S3, die auf die Speicherorte der Trainings- und Testdaten aus den vorherigen Datenverarbeitungsschritten verweist:

import boto3
data_bucket = <Name of the S3 bucket that has the training data>
prefix = "LANDSAT_LC08_C01_T1_SR/Year2013"
manifest = "[{{"prefix": "s3://{}/{}/"}},n"train.csv",n"test.csv"n]".format(data_bucket, prefix)
s3_client = boto3.client('s3')
s3_client.put_object(Body=manifest, Bucket=data_bucket, Key=f"{prefix}/data.manifest")

Jetzt können wir einen Batch-Transformationsjob erstellen. Denn unser Eingangszug und Testdatensatz haben label Als letzte Spalte müssen wir sie während der Inferenz löschen. Dazu passieren wir InputFilter der DataProcessing Streit. Der Code "$[:-2]" zeigt an, dass die letzte Spalte gelöscht werden soll. Die vorhergesagte Ausgabe wird dann zur weiteren Analyse mit den Quelldaten verknüpft.

Im folgenden Code erstellen wir die Argumente für den Batch-Transformationsjob und übergeben sie dann an die create_transform_job Funktion:

from time import gmtime, strftime batch_job_name = "Batch-Transform-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
output_location = "s3://{}/{}/batch_output/{}".format(data_bucket, prefix, batch_job_name)
input_location = "s3://{}/{}/data.manifest".format(data_bucket, prefix) request = { "TransformJobName": batch_job_name, "ModelName": pipeline_model.name, "TransformOutput": { "S3OutputPath": output_location, "Accept": "text/csv", "AssembleWith": "Line", }, "TransformInput": { "DataSource": {"S3DataSource": {"S3DataType": "ManifestFile", "S3Uri": input_location}}, "ContentType": "text/csv", "SplitType": "Line", "CompressionType": "None", }, "TransformResources": {"InstanceType": "ml.m4.xlarge", "InstanceCount": 1}, "DataProcessing": {"InputFilter": "$[:-2]", "JoinSource": "Input"}
} sagemaker = boto3.client("sagemaker")
sagemaker.create_transform_job(**request)
print("Created Transform job with name: ", batch_job_name)

Sie können den Status des Jobs in der SageMaker-Konsole überwachen.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Visualisieren Sie die Modellleistung

Sie können nun die Leistung des besten Modells im Testdatensatz, bestehend aus Regionen aus Indien, Myanmar, Kuba und Vietnam, als Konfusionsmatrix visualisieren. Das Modell hat einen hohen Wiedererkennungswert für Pixel, die Mangroven darstellen, aber nur eine Genauigkeit von etwa 75 %. Die Genauigkeit von Nicht-Mangroven- oder anderen Pixeln liegt bei 99 % mit einem 85 %-Recall. Sie können den Wahrscheinlichkeitsgrenzwert der Modellvorhersagen optimieren, um die jeweiligen Werte je nach Anwendungsfall anzupassen.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Es ist erwähnenswert, dass die Ergebnisse eine deutliche Verbesserung gegenüber dem integrierten smileCart-Modell darstellen.

Modellvorhersagen visualisieren

Schließlich ist es nützlich, die Modellleistung in bestimmten Regionen auf der Karte zu beobachten. Im folgenden Bild ist das Mangrovengebiet an der Grenze zwischen Indien und Bangladesch rot dargestellt. Punkte, die aus dem zum Testdatensatz gehörenden Landsat-Bildpatch entnommen wurden, werden der Region überlagert, wobei jeder Punkt ein Pixel ist, von dem das Modell feststellt, dass es Mangroven darstellt. Die blauen Punkte werden vom Modell korrekt klassifiziert, während die schwarzen Punkte Fehler des Modells darstellen.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das folgende Bild zeigt nur die Punkte, die das Modell vorhergesagt hat, keine Mangroven darzustellen, mit demselben Farbschema wie im vorherigen Beispiel. Der graue Umriss ist der Teil des Landsat-Patches, der keine Mangroven enthält. Wie aus dem Bild hervorgeht, macht das Modell keinen Fehler bei der Klassifizierung von Punkten auf dem Wasser, steht jedoch vor einer Herausforderung, wenn es Pixel, die Mangroven darstellen, von denen unterscheidet, die normales Blattwerk darstellen.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das folgende Bild zeigt die Modellleistung in der Mangrovenregion von Myanmar.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

In der folgenden Abbildung erkennt das Modell besser Mangrovenpixel.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Aufräumen

Der SageMaker-Inferenzendpunkt verursacht weiterhin Kosten, wenn er weiter ausgeführt wird. Löschen Sie den Endpunkt wie folgt, wenn Sie fertig sind:

sagemaker.delete_endpoint(EndpointName=pipeline_model.name)

Zusammenfassung

Diese Beitragsreihe bot Data Scientists ein End-to-End-Framework zur Lösung von GIS-Problemen. Teil 1 zeigte den ETL-Prozess und eine bequeme Möglichkeit, visuell mit den Daten zu interagieren. Teil 2 zeigte, wie man Autopilot verwendet, um die Erstellung eines benutzerdefinierten Mangroven-Klassifikators zu automatisieren.

Sie können dieses Framework verwenden, um neue Satelliten-Datasets zu erkunden, die einen reichhaltigeren Satz von Bändern enthalten, die für die Mangrovenklassifizierung nützlich sind, und das Feature-Engineering erkunden, indem Sie Domänenwissen einbeziehen.


Über die Autoren

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai. Andrej Ivanovic ist ein angehender Master-Student der Informatik an der University of Toronto und kürzlich Absolvent des Engineering Science-Programms an der University of Toronto mit dem Hauptfach Machine Intelligence und dem Nebenfach Robotik/Mechatronik. Er interessiert sich für Computer Vision, Deep Learning und Robotik. Er hat die in diesem Beitrag vorgestellte Arbeit während seines Sommerpraktikums bei Amazon durchgeführt.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.David Dong ist Data Scientist bei Amazon Web Services.

Identifizieren Sie Mangrovenwälder mithilfe von Satellitenbildfunktionen mit Amazon SageMaker Studio und Amazon SageMaker Autopilot – Teil 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Arkajyoti Misra ist Data Scientist bei Amazon LastMile Transportation. Er setzt sich leidenschaftlich dafür ein, Computer-Vision-Techniken anzuwenden, um Probleme zu lösen, die der Erde helfen. Er arbeitet gerne mit gemeinnützigen Organisationen zusammen und ist Gründungsmitglied von ekipi.org.

Zeitstempel:

Mehr von AWS Maschinelles Lernen