Прогнозы с использованием TensorFlow и Cloud AI Platform

TensorFlow — это платформа машинного обучения с открытым исходным кодом, которая поддерживает передовые методы машинного обучения, такие как глубокое обучение. На этой странице описаны специфические функции TensorFlow в Earth Engine. Хотя модели TensorFlow разрабатываются и обучаются вне Earth Engine, API Earth Engine предоставляет методы для экспорта данных обучения и тестирования в формате TFRecord, а также импорта/экспорта изображений в формате TFRecord. См. страницу примеров TensorFlow для получения дополнительной информации о том, как разрабатывать конвейеры для использования TensorFlow с данными из Earth Engine. Посетите страницу TFRecord, чтобы узнать больше о том, как Earth Engine записывает данные в файлы TFRecord.

ee.Model

Пакет ee.Model обеспечивает взаимодействие с моделями машинного обучения, поддерживаемыми TensorFlow.

Взаимодействие с моделями, размещенными на платформе AI.

Новый экземпляр ee.Model можно создать с помощью ee.Model.fromAiPlatformPredictor() . Это объект ee.Model , который упаковывает данные Earth Engine в тензоры, пересылает их в виде запросов прогнозирования на платформу Google AI , а затем автоматически собирает ответы в типы данных Earth Engine. Обратите внимание: в зависимости от размера и сложности вашей модели и ее входных данных вам может потребоваться настроить минимальный размер узла вашей модели платформы ИИ, чтобы она соответствовала большому объему прогнозов.

Earth Engine требует, чтобы модели платформы AI использовали формат SavedModel TensorFlow. Прежде чем размещенная модель сможет взаимодействовать с Earth Engine, ее входы и выходы должны быть совместимы с форматом обмена TensorProto, в частности с сериализацией TensorProtos в base64. Чтобы упростить эту задачу, в интерфейсе командной строки Earth Engine есть команда model prepare , которая оборачивает существующую SavedModel в необходимые операции для преобразования форматов ввода/вывода.

Чтобы использовать модель с ee.Model.fromAiPlatformPredictor() , у вас должны быть достаточные разрешения на использование модели. В частности, вам (или любому, кто использует модель) необходима как минимум роль пользователя модели ML Engine . Вы можете проверить и установить разрешения модели на странице моделей в Cloud Console .

Регионы

Вам следует использовать региональные конечные точки для своих моделей, указывая регион при создании модели, создании версии и в ee.Model.fromAiPlatformPredictor() . Подойдет любой регион (не используйте глобальный), но предпочтительнее us-central1 . Не указывайте параметр REGIONS . Если вы создаете модель из облачной консоли , убедитесь, что установлен флажок региона.

Затраты

Прогнозы изображений

Используйте model.predictImage() чтобы делать прогнозы для ee.Image с использованием размещенной модели. Тип возвращаемого значения predictImage() — это ee.Image , который можно добавить на карту, использовать в других вычислениях, экспортировать и т. д. Earth Engine автоматически разложит входные каналы по мозаике и скорректирует выходную проекцию для изменений масштаба и перекрытия по мере необходимости. (Для получения дополнительной информации о том, как работает мозаика, см. документ TFRecord ). Обратите внимание, что Earth Engine всегда будет пересылать 3D-тензоры в вашу модель, даже если полосы являются скалярными (последнее измерение будет равно 1).

Почти все сверточные модели будут иметь фиксированную входную проекцию (проекцию данных, на которых была обучена модель). В этом случае установите для параметра fixInputProj значение true при вызове ee.Model.fromAiPlatformPredictor() . При визуализации прогнозов соблюдайте осторожность при уменьшении масштаба модели с фиксированной входной проекцией. Это по той же причине, что описана здесь . В частности, масштабирование до большой пространственной области может привести к запросам слишком большого количества данных и может проявиться в замедлении или отклонении платформы AI.