我有一个简单的模型,我已经训练过它,现在它似乎工作正常我想使用我需要 savedmodel 的 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)
所以上面的变量是我将作为输入接收的,或者更确切地说是作为输入传递给服务 API 的,然后我想对传递的值运行“preparePredictionInput”。
但是我找不到一个例子来说明如何使用 saved_model.simple_save() 实现这一点
sess = keras.backend.get_session()
tf.saved_model.simple_save(sess, ".", inputs={model.inputs}, outputs={model.outputs})
sess.close()
最佳答案
您应该在模型的开头添加一个 Lambda 层。在 lambda 层中,您可以指定一个函数来转换您的输入。
关于python - 使用 savedmodel simple_save 和 tensorflow keras 预处理输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54583792/