Развертывание модели Tensorflow в GCP без обслуживания Tensorflow - PullRequest
0 голосов
/ 03 октября 2018

Модель машинного обучения: на основе Tensorflow (версия 1.9) и версия Python 3.6

Ввод данных: из Bigquery

Вывод данных: в Bigquery

Прогноз производствачастота: ежемесячно

Я разработал модель машинного обучения на основе Tensorflow.Я обучил его локально и хочу развернуть его в Google Cloud Platform для прогнозов.

Модель считывает входные данные из Google Bigquery, а выходные прогнозы должны записываться в Google Bigquery.Существует несколько сценариев подготовки данных, которые необходимо запустить перед выполнением прогнозирования модели.В настоящее время я не могу использовать BigQuery ML в производстве, так как он находится в стадии бета-тестирования.Кроме того, так как это пакетный прогноз, я не думаю, что Tensorflow Serving будет хорошим выбором.

Стратегии, которые я пробовал для развертывания:

  1. ИспользованиеGoogle ML Engine для прогнозирования: Этот подход создает выходные файлы деталей в GCS.Они должны быть объединены и записаны в Google Bigquery.Таким образом, в этом подходе мне нужно раскрутить виртуальную машину только для того, чтобы выполнить скрипт подготовки данных и вывод ML Engine в скрипт Google Bigquery.Это увеличивает стоимость виртуальной машины до 24x7 только для запуска двух сценариев в месяц.

  2. Использование потока данных для выполнения сценария подготовки данных вместе с Google ML Engine : поток данных используетPython 2.7, в то время как модель разработана в версии 1.9 Tensorflow и версии 3.6.Таким образом, этот подход не может быть использован.

  3. Google App Engine : с использованием этого подхода необходимо разработать полное веб-приложение для обслуживания прогнозов.Поскольку прогнозы являются пакетными, этот подход не подходит.Кроме того, необходимо использовать flask / django с кодом для его использования.

  4. Google Compute Engine : При таком подходе виртуальная машина будет работать 24x7 только длязапуск ежемесячных прогнозов и запуск двух сценариев.Это может привести к большим накладным расходам.

Я хотел бы знать, каков наилучший подход к развертыванию для моделей Tensorflow, в которых есть несколько сценариев до и после обработки.

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Я также не нашел этот процесс простым и интуитивно понятным.В вашем проекте могут появиться два новых обновления:

  • BigQuery ML теперь позволяет импортировать модели TensorFlow ссылка - есть некоторые ограничения, но это может устранить некоторые изи далее перемещение данных между BQ и облачным хранилищем или другими средами.
  • Cloud DataFlow поддерживает Python 3 в альфа-версии (см. дорожную карту Apache Beam - link )
0 голосов
/ 22 мая 2019

Что касается опции 3, Dataflow может читать из BigQuery и сохранять подготовленные данные в BigQuery в конце работы.

Тогда вы можете использовать Tensorflow для использования BigQueryReader для данныхот BigQuery.

Еще один вариант, который вы можете использовать: Datalab , это блокнот, в котором вы можете подготовить свои данные и затем использовать их для своего прогноза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...