Предварительная обработка ввода с помощью savemodel simple_save и tenorflow keras - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть простая модель, которую я обучил, и которая, кажется, работает нормально, теперь я хотел бы использовать обслуживание tenorflow, для которого мне нужна savemodel.

Но я не вижу способа указать какую-либо предварительную обработку для ввода данных с помощью simple_save ()

Моя модель:

model = keras.Sequential()
model.add(
    keras.layers.Embedding(maxAlphabetDictValue + 1, 8, input_length=maxVariableLength))
model.add(keras.layers.CuDNNLSTM(12))
model.add(keras.layers.Dense(len(conventions))  # output layer

model = keras.models.load_model ("model.h5")

Как я запускаю прогнозы:

variable = "test_Adam"
variable = preparePredictionInput([variable], alphabetDict, maxVariableLength)
result = model.predict(variable, steps=1, verbose=1)

Таким образом, приведенная выше переменная - это то, что я получу в качестве ввода или, скорее, передам в качестве ввода в Serving API итогда я бы хотел запустить 'preparePredictionInput' для переданных значений.

Но я не могу найти пример того, как этого можно достичь с помощью save_model.simple_save ()

sess = keras.backend.get_session()
tf.saved_model.simple_save(sess, ".", inputs={model.inputs}, outputs={model.outputs})
sess.close()

1 Ответ

0 голосов
/ 08 февраля 2019

Вы должны добавить лямбда-слой в начале вашей модели.В лямбда-слое вы можете указать функцию для преобразования вашего ввода.

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