Exemplos de fluxos de trabalho do TensorFlow

Esta página tem exemplos de fluxos de trabalho para demonstrar os usos do TensorFlow com o Earth Engine. Consulte a página do TensorFlow para mais detalhes. Esses exemplos são escritos usando a API Python do Earth Engine e o TensorFlow em execução nos notebooks do Colab.

Custos

Previsão multiclasse com uma DNN

Uma rede neural profunda (DNN) é simplesmente uma rede neural artificial (ANN) com uma ou mais camadas ocultas. Este exemplo demonstra um DNN muito simples com uma única camada oculta. A DNN usa vetores espectrais como entradas (ou seja, um pixel por vez) e gera um único rótulo de classe e probabilidades de classe por pixel. O notebook do Colab abaixo demonstra como criar o DNN, treiná-lo com dados do Earth Engine, fazer previsões em imagens exportadas e importar as previsões para o Earth Engine.

DNN hospedado para previsão no Earth Engine

Para receber previsões do modelo treinado diretamente no Earth Engine (por exemplo, no Editor de código), hospede o modelo no Google AI Platform. Este guia mostra como salvar um modelo treinado no formato SavedModel, preparar o modelo para hospedagem com o comando earthengine model prepare e receber previsões no Earth Engine de forma interativa com ee.Model.fromAiPlatformPredictor.

Regressão logística no TensorFlow

Métodos clássicos de machine learning, como a regressão logística, são naturais para implementar no TensorFlow. Este bloco de notas demonstra um detector de desmatamento baseado em regressão logística antes e depois de composições anuais. Esse modelo muito simples é apenas para fins de demonstração. Adicione algumas camadas ocultas para maior precisão.

Regressão com uma FCNN

Uma rede neural convolucional (CNN) contém uma ou mais camadas convolucionais, em que as entradas são vizinhanças de pixels, resultando em uma rede que não é totalmente conectada, mas é adequada para identificar padrões espaciais. Uma rede neural convolucional totalmente convolucional (FCNN, na sigla em inglês) não contém uma camada totalmente conectada como saída. Isso significa que ele não aprende uma saída global, ou seja, uma única saída por imagem, mas sim saídas localizadas (por pixel).

Este notebook do Colab demonstra o uso do modelo UNET, uma FCNN desenvolvida para segmentação de imagens médicas, para prever uma saída contínua [0,1] em cada pixel de 256x256 vizinhanças de pixels. Especificamente, este exemplo mostra como exportar blocos de dados para treinar a rede e como sobrepor blocos de imagem para inferência, para eliminar artefatos de limite de blocos.

Treinamento na AI Platform

Para modelos relativamente grandes (como o exemplo de FCNN), a longevidade da máquina virtual sem custo financeiro em que os notebooks do Colab são executados pode não ser suficiente para um job de treinamento de longa duração. Especificamente, se o erro de previsão esperado não for minimizado no conjunto de dados de avaliação, mais iterações de treinamento podem ser prudentes. Para realizar grandes trabalhos de treinamento na nuvem, este notebook do Colab mostra como empacotar seu código de treinamento, iniciar um trabalho de treinamento, preparar um SavedModel com o comando earthengine model prepare e receber previsões no Engine interativamente com ee.Model.fromAiPlatformPredictor.