使用保存的模型simple_save和tensorflow keras预处理输入

时间:2019-02-07 23:16:20

标签: python tensorflow keras

我有一个简单的模型,我已经对其进行了训练,现在看来工作得很好,我想使用需要保存模型的tensorflow服务。

但是我没有看到一种使用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 :(得分:0)

您应该在模型的开头添加一个Lambda层。在lambda层中,您可以指定一个函数来转换您的输入。