Flussi di lavoro di esempio di TensorFlow

Questa pagina contiene esempi di flussi di lavoro per dimostrare gli utilizzi di TensorFlow con Earth Engine. Per ulteriori dettagli, consulta la pagina di TensorFlow. Questi esempi sono stati scritti utilizzando l'API Python di Earth Engine e TensorFlow in esecuzione in Colab Notebooks.

Costi

Previsione multiclasse con una rete DNN

Una rete neurale "profonda" (DNN) è semplicemente una rete neurale artificiale (ANN) con uno o più strati nascosti. Questo esempio mostra una rete neurale profonda molto semplice con un singolo livello nascosto. La DNN prende come input vettori spettrali (ovvero un pixel alla volta) e restituisce una singola etichetta di classe e le probabilità di classe per pixel. Il notebook di Colab riportato di seguito mostra come creare la rete neurale profonda, addestrarla con i dati di Earth Engine, fare previsioni sulle immagini esportate e importarle in Earth Engine.

DNN ospitabile per la previsione in Earth Engine

Per ottenere le previsioni dal modello addestrato direttamente in Earth Engine (ad es. nell'editor di codice), devi ospitare il modello su Google AI Platform. Questa guida mostra come salvare un modello addestrato in formato SavedModel preparare il modello per l'hosting con il comando earthengine model prepare e ottenere previsioni in Earth Engine in modo interattivo con ee.Model.fromAiPlatformPredictor.

Regressione logistica secondo TensorFlow

I metodi di machine learning classici come la regressione logistica sono facili da implementare in TensorFlow. Questo notebook mostra un rilevatore di deforestazione basato su regressione logistica prima e dopo i compositi annuali. Tieni presente che questo modello molto semplicistico è solo a scopo dimostrativo. Aggiungi alcuni livelli nascosti per una maggiore precisione.

Regressione con una FCNN

Una rete neurale "convoluzionale" (CNN) contiene uno o più livelli convolzionali, in cui gli input sono insiemi di pixel, il che si traduce in una rete non completamente connessa, ma adatta all'identificazione di schemi spaziali. Una rete neurale convoluzionale completa (FCNN) non contiene un livello completamente connesso come output. Ciò significa che non apprende un output globale (ovvero un singolo output per immagine), ma output localizzati (ovvero per pixel).

Questo blocco note di Colab dimostra l'utilizzo del modello UNET, una FCNN sviluppata per la segmentazione di immagini mediche, per prevedere un output continuo [0,1] in ogni pixel da 256 x 256 insiemi di pixel. Nello specifico, questo esempio mostra come esportare patch di dati per addestrare la rete e come sovrapporre le patch di immagini per l'inferenza, in modo da eliminare gli artefatti dei confini dei riquadri.

Addestramento su AI Platform

Per i modelli relativamente grandi (come l'esempio di FCNN), la longevità della VM senza costi su cui vengono eseguiti i notebook di Colab potrebbe non essere sufficiente per un job di addestramento di lunga durata. Nello specifico, se l'errore di previsione previsto non è ridotto al minimo nel set di dati di valutazione, è consigliabile eseguire più iterazioni di addestramento. Per eseguire grandi job di addestramento nel cloud, questo notebook di Colab mostra come impacchettare il codice di addestramento, avviare un job di addestramento, preparare un SavedModel con il comando earthengine model prepare e ottenere le previsioni in Earth Engine in modo interattivo con ee.Model.fromAiPlatformPredictor.