Многоколонный ввод в ML.PREDICT для модели TensorFlow в BigQuery ML - PullRequest
0 голосов
/ 06 марта 2020

Я обучил классификатор TensorFlow и создал его в качестве модели в BigQuery ML, используя CREATE MODEL. Теперь я хотел бы использовать ML.PREDICT для пакетного прогнозирования с использованием этой модели. Я получаю сообщение об ошибке "Неправильная табличная функция ml.predict Входные данные столбца не найдены во входных данных функции PREDICT."

Вот мой запрос:

select * from ml.predict (
  model test.digital_native_classifier_kf, 
  (select * from dataset_id.features_table_id)
)

В документации BigQuery приведен пример модели TensorFlow с одним столбцом с псевдонимом input, поэтому TensorFlow input_fn может принять его. Тем не менее, этот классификатор принимает сотни функций. Как указать запрос, переданный ML.PREDICT, чтобы он использовал все столбцы в моей таблице возможностей?

Ответы [ 3 ]

0 голосов
/ 23 марта 2020

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

Возможно, что при создании модели TensorFlow / Keras вы не присваивали имена входным узлам. Затем имена объектов могли быть автоматически назначены для чего-то вроде int1 и float2.

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

saved_model_cli show --dir $export_path --all
0 голосов
/ 03 апреля 2020

После некоторых исследований Auto ML кодирует входные Tensors в качестве Prensors, представляющих собой сериализованный формат строки, помещенный в Tensor.

Это означает, что вы не можете импортировать модель AutoML из GCS непосредственно в BQML так, как это нужно. вы бы импортировали модель TensorFlow, которая явно кодировала различные входные данные в виде json структуры.

Итак, чтобы импортировать модель AutoML в BigQuery ML, команде разработчиков BigQuery необходимо добавить поддержку для чего-то вроде model_type='automl' в дополнение к model_type='tensorflow'.

0 голосов
/ 09 марта 2020

В настоящее время использование нескольких столбцов невозможно из руководства AutoML для начинающих :

Один столбец из вашего набора данных, называемый целью, - это то, что изучит ваша модель. предсказывать. Некоторое количество других столбцов данных являются входными данными (так называемыми объектами), из которых модель будет изучать шаблоны. Вы можете использовать одни и те же входные функции для построения моделей разных типов, просто изменив цель.

Также наш запрос на эту функцию был найден в Многоцелевой запрос таблиц AutoML

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