Многоколоночный ввод в ML.PREDICT для модели TensorFlow в BigQueryML

Мы обучили модель в Google Cloud AutoML (инструмент, который нам очень нравится) и успешно экспортировали ее в GCS, а затем создали модель в BigQuery, используя следующую команду:

create or replace model my_dataset.my_bq_ml_model
options(model_type='tensorflow',
 model_path='my gcs path to exported tensorflow model'))

Однако, когда мы используем BigQueryML, чтобы попытаться выполнить некоторые прогнозы с использованием модели, мы не уверены, как отформатировать несколько функций, которые наша модель использует, в единую строку «входов», которую экспортируемая модель Tensorflow принимает в BigQuery.

select  *
from    ml.predict(model my_project.my_dataset.my_bq_ml_model,
(
 select 'How do we format this?'  as inputs
 from my_rows_to_predict
))

Кто-нибудь еще это делал?

Это похоже на этот вопрос, который остается открытым: Многоколоночный ввод в ML.PREDICT для модели TensorFlow в BigQuery ML

Спасибо вам всем.


person ancoris-analytics    schedule 22.03.2020    source источник


Ответы (1)


После загрузки модели в BigQuery ML щелкните модель в пользовательском интерфейсе BigQuery и перейдите на вкладку «Схема». Это должно сказать вам, какие столбцы нужны модели.

В качестве альтернативы запустите программу saved_model_cli на модели (это программа на Python, которая поставляется с tenorflow), чтобы узнать, какая поддерживаемая подпись

saved_model_cli show --dir $export_path --all
person Lak    schedule 22.03.2020
comment
Привет, Лак, спасибо за вышесказанное. Мы выполнили шаги, описанные выше, и ее результат. pastebin.com/HCbpZT20 Однако мы не уверены, как мы переводим это в подпись для строки ввода в модель в BigQueryML. Можете посоветовать, пожалуйста? - person ancoris-analytics; 25.03.2020
comment
К сожалению, saved_model_cli не очень помогли - он не сообщает вам схему входов, только то, что это строка ... input ['inputs'] tensor_info: dtype: DT_STRING shape: (-1). и это не поможет. Может, попробовать выложить данные в формате JSON? - person Lak; 26.03.2020