Примеры рабочих процессов TensorFlow

На этой странице приведены примеры рабочих процессов, демонстрирующие использование TensorFlow с Earth Engine. Дополнительную информацию см. на странице TensorFlow . Эти примеры написаны с использованием Python API Earth Engine и TensorFlow, работающих в Colab Notebooks .

Затраты

Многоклассовое предсказание с помощью DNN

«Глубокая» нейронная сеть (DNN) — это просто искусственная нейронная сеть (ИНС) с одним или несколькими скрытыми слоями. В этом примере демонстрируется очень простая DNN с одним скрытым слоем. DNN принимает спектральные векторы в качестве входных данных (т.е. по одному пикселю за раз) и выводит одну метку класса и вероятности классов на пиксель. В приведенном ниже блокноте Colab показано создание DNN, его обучение с использованием данных Earth Engine, составление прогнозов на основе экспортированных изображений и импорт прогнозов в Earth Engine.

Хостинговый DNN для прогнозирования в Earth Engine

Чтобы получать прогнозы на основе обученной модели непосредственно в Earth Engine (например, в редакторе кода ), вам необходимо разместить модель на платформе Google AI. В этом руководстве показано, как сохранить обученную модель в формате SavedModel , подготовить модель к размещению с помощью команды earthengine model prepare и получить прогнозы в Earth Engine в интерактивном режиме с помощью ee.Model.fromAiPlatformPredictor .

Логистическая регрессия по пути TensorFlow

Классические методы машинного обучения, такие как логистическая регрессия, вполне естественно реализовать в TensorFlow. В этом блокноте демонстрируется детектор вырубки лесов на основе логистической регрессии, полученный до и после ежегодных сводных данных. Обратите внимание, что эта очень упрощенная модель предназначена только для демонстрационных целей; добавьте несколько скрытых слоев для большей точности.

Регрессия с FCNN

«Сверточная» нейронная сеть (CNN) содержит один или несколько сверточных слоев, в которых входными данными являются окрестности пикселей, в результате чего сеть не является полностью связной, но подходит для выявления пространственных закономерностей. Полностью сверточная нейронная сеть (FCNN) не содержит полносвязного слоя на выходе. Это означает, что он изучает не глобальный вывод (т. е. один вывод для каждого изображения), а скорее локализованные выходные данные (т. е. попиксельно).

Этот блокнот Colab демонстрирует использование модели UNET , FCNN, разработанной для сегментации медицинских изображений, для прогнозирования непрерывного выходного сигнала [0,1] в каждом пикселе из окрестностей пикселей 256x256. В частности, в этом примере показано, как экспортировать фрагменты данных для обучения сети и как перекрывать фрагменты изображения для вывода, чтобы устранить артефакты на границах фрагментов.

Обучение работе на платформе искусственного интеллекта

Для относительно больших моделей (таких как пример FCNN) срок службы бесплатной виртуальной машины, на которой работают ноутбуки Colab, может оказаться недостаточным для длительного учебного задания. В частности, если ожидаемая ошибка прогноза не минимизирована в наборе оценочных данных, то может быть разумным увеличить количество итераций обучения. Для выполнения больших заданий по обучению в облаке в этом блокноте Colab показано, как упаковать учебный код , запустить задание обучения , подготовить SavedModel с помощью команды earthengine model prepare и получить прогнозы в Earth Engine в интерактивном режиме с помощью ee.Model.fromAiPlatformPredictor .