Я создал модель в R-версии keras и развернул ее через Google Cloud ML
Модель обучена на числовых входах, которые были преобразованы из строк
Когда дело доходит до прогнозирования, я преобразую строки в числовые, используя таблицу поиска, а затем передаю числовой ввод в модель
Это просто сделать на локальной машине:
library(tidyverse)
library(cloudml)
# lookup table
lookup <- tibble(int = c(1, 2, 3),
str = c('A1', 'B1', 'C1'))
# input strings
a <- 'A1'
b <- 'B1'
# convert to numeric
a_ <- lookup %>% filter(str == a) %>% select(int) %>% pull()
b_ <- lookup %>% filter(str == b) %>% select(int) %>% pull()
# send to deployed model and receive predictions
cloudml_predict(
instances = list(c(a_, b_)),
name = "size_predictor",
version = "a_1",
verbose = T
)
Однако я не могу понять, где мне нужно поместить таблицу поиска в облако мл. Это несколько миллионов строк. Нужно ли добавлять новый слой в модель keras в начале, чтобы выполнить преобразование?
В качестве альтернативы, я могу сохранить таблицу поиска в BigQuery и заранее переадресовывать ввод через нее?
Ответы, которые я нашел до сих пор, применимы только к python, например: Добавить предварительную обработку Tensorflow к существующей модели Keras (для использования в обслуживании Tensorflow)