Beispiel-Workflows für TensorFlow

Auf dieser Seite finden Sie Beispiel-Workflows, die die Verwendung von TensorFlow mit Earth Engine veranschaulichen. Weitere Informationen finden Sie auf der TensorFlow-Seite. Diese Beispiele wurden mit der Earth Engine Python API und TensorFlow in Colab-Notebooks geschrieben.

Kosten

Mehrfachklassige Vorhersage mit einer DNN

Ein „Deep Neural Network“ (DNN) ist einfach ein künstliches neuronales Netzwerk (Artificial Neural Network, ANN) mit einer oder mehreren verborgenen Schichten. Dieses Beispiel zeigt eine sehr einfache DNN mit einer einzelnen verborgenen Schicht. Die DNN nimmt Spektralvektoren als Eingaben (d.h. jeweils ein Pixel) und gibt ein einzelnes Klassenlabel und Klassenwahrscheinlichkeiten pro Pixel aus. Im folgenden Colab-Notebook wird gezeigt, wie Sie das DNN erstellen, mit Daten aus der Earth Engine trainieren, Vorhersagen für exportierte Bilder treffen und die Vorhersagen in die Earth Engine importieren.

Hostbarer DNN für die Vorhersage in der Earth Engine

Wenn Sie Vorhersagen von Ihrem trainierten Modell direkt in Earth Engine abrufen möchten (z.B. im Code-Editor), müssen Sie das Modell auf der Google AI Platform hosten. In diesem Leitfaden wird gezeigt, wie Sie ein trainiertes Modell im SavedModel-Format speichern, es mit dem Befehl earthengine model prepare für das Hosting vorbereiten und mit ee.Model.fromAiPlatformPredictor interaktiv Vorhersagen in Earth Engine abrufen.

Logistische Regression mit TensorFlow

Klassische Methoden des maschinellen Lernens wie die logistische Regression lassen sich in TensorFlow ganz einfach implementieren. In diesem Notebook wird ein auf der Logistikregression basierender Detektor für Entwaldung vor und nach jährlichen Zusammensetzungen veranschaulicht. Hinweis: Dieses sehr einfache Modell dient nur zu Demonstrationszwecken. Fügen Sie für eine höhere Genauigkeit einige versteckte Ebenen hinzu.

Regression mit einer FCNN

Ein „faltbares“ neuronales Netzwerk (Convolutional Neural Network, CNN) enthält eine oder mehrere Convolutional Layers, bei denen die Eingaben Pixelumgebungen sind. Das Netzwerk ist nicht vollständig vernetzt, eignet sich aber zum Identifizieren räumlicher Muster. Ein vollständig convolutionales neuronales Netzwerk (FCNN) enthält keine vollständig verbundene Schicht als Ausgabe. Das bedeutet, dass keine globale Ausgabe (d.h. eine einzelne Ausgabe pro Bild) gelernt wird, sondern lokalisierte Ausgaben (d.h. pro Pixel).

In diesem Colab-Notebook wird die Verwendung des UNET-Modells, einer für die medizinische Bildsegmentierung entwickelten FCNN, zur Vorhersage einer kontinuierlichen [0,1]-Ausgabe in jedem Pixel aus 256 × 256 Pixel-Umgebungen veranschaulicht. In diesem Beispiel wird gezeigt, wie Sie Datenbereiche exportieren, um das Netzwerk zu trainieren, und wie Sie Bildbereiche für die Inferenz überlappen, um Artefakte an den Fliesengrenzen zu entfernen.

Auf AI Platform trainieren

Bei relativ großen Modellen (wie dem FCNN-Beispiel) reicht die Lebensdauer der kostenlosen virtuellen Maschine, auf der Colab-Notebooks ausgeführt werden, möglicherweise nicht für einen langwierigen Trainingsjob aus. Insbesondere, wenn der erwartete Vorhersagefehler im Bewertungs-Dataset nicht minimiert wird, sind möglicherweise weitere Trainingsiterationen sinnvoll. In diesem Colab-Notebook wird gezeigt, wie Sie große Trainingsjobs in der Cloud ausführen. Dazu erfahren Sie, wie Sie Ihren Trainingscode verpacken, einen Trainingsjob starten, eine SavedModel mit dem Befehl earthengine model prepare vorbereiten und mit ee.Model.fromAiPlatformPredictor interaktiv Vorhersagen in Earth Engine abrufen.