Flujos de trabajo de ejemplo de TensorFlow

En esta página, se incluyen ejemplos de flujos de trabajo para demostrar los usos de TensorFlow con Earth Engine. Consulta la página de TensorFlow para obtener más detalles. Estos ejemplos están escritos con la API de Python de Earth Engine y TensorFlow que se ejecuta en notebooks de Colab.

Costos

Predicción de varias clases con una DNN

Una red neuronal “profunda” (DNN) es simplemente una red neuronal artificial (ANN) con una o más capas ocultas. En este ejemplo, se muestra una DNN muy simple con una sola capa oculta. La DNN toma vectores espectrales como entradas (es decir, un píxel a la vez) y genera una sola etiqueta de clase y probabilidades de clase por píxel. En el siguiente notebook de Colab, se muestra cómo crear la DNN, entrenarla con datos de Earth Engine, realizar predicciones en imágenes exportadas e importar las predicciones a Earth Engine.

DNN alojable para la predicción en Earth Engine

Para obtener predicciones de tu modelo entrenado directamente en Earth Engine (p.ej., en el editor de código), debes alojar el modelo en Google AI Platform. En esta guía, se muestra cómo guardar un modelo entrenado en formato SavedModel, prepararlo para alojarlo con el comando earthengine model prepare y obtener predicciones en Earth Engine de forma interactiva con ee.Model.fromAiPlatformPredictor.

Regresión logística a la manera de TensorFlow

Los métodos clásicos de aprendizaje automático, como la regresión logística, son fáciles de implementar en TensorFlow. En este notebook, se muestra un detector de deforestación basado en una regresión logística de antes y después de los compuestos anuales. Ten en cuenta que este modelo muy simplista es solo para fines demostrativos. Agrega algunas capas ocultas para obtener una mayor precisión.

Regresión con un FCNN

Una red neuronal "convolucional" (CNN) contiene una o más capas convolucionales, en las que las entradas son vecindarios de píxeles, lo que genera una red que no está completamente conectada, pero es adecuada para identificar patrones espaciales. Una red neuronal convolucional completa (FCNN) no contiene una capa completamente conectada como resultado. Esto significa que no aprende un resultado global (es decir, un solo resultado por imagen), sino resultados localizados (es decir, por píxel).

En este notebook de Colab, se muestra el uso del modelo UNET, una FCNN desarrollada para la segmentación de imágenes médicas, para predecir una salida continua [0,1] en cada píxel de 256 × 256 vecindarios de píxeles. Específicamente, en este ejemplo, se muestra cómo exportar parches de datos para entrenar la red y cómo superponer parches de imágenes para la inferencia, de modo que se eliminen los artefactos de los límites de las tarjetas.

Realiza el entrenamiento en AI Platform

En el caso de modelos relativamente grandes (como el ejemplo de FCNN), es posible que la longevidad de la máquina virtual gratuita en la que se ejecutan los notebooks de Colab no sea suficiente para una tarea de entrenamiento de larga duración. Específicamente, si el error de predicción esperado no se minimiza en el conjunto de datos de evaluación, es posible que sea conveniente realizar más iteraciones de entrenamiento. Para realizar trabajos de entrenamiento grandes en la nube, en este notebook de Colab, se muestra cómo empacar tu código de entrenamiento, iniciar un trabajo de entrenamiento, preparar un SavedModel con el comando earthengine model prepare y obtener predicciones en Earth Engine de forma interactiva con ee.Model.fromAiPlatformPredictor.