我是一个新手,我对在线预测的AI平台有几个问题。我使用的是Tensorflow 2.1。我使用keras API训练我的模型,并使用tf.saved_model.save函数保存我的模型。一切正常,但我希望在模型中包含我的预处理(记号赋予器和填充)(或者至少能够在“预测”函数中完成)。
我知道在google cloud ml引擎上有一个叫做“自定义预测例程”的选项,它允许在我们想要的任何框架上这样做,但是一个模型的限制是500mb。我使用的模型是1.5 gb,因为我使用的是TF,所以我希望保持运行2 gb模型的优势。
现在,我要做的是:
对数据进行预处理,进行请求-> ->,进行预测,并将结果发送给->,从而获得结果。
我想做的是:
在“原始数据”->模型上做请求做预处理,做预测并将结果发送给->获得结果
有没有办法做到这一点?
发布于 2020-06-25 09:39:42
为此,您可能不需要预处理容器。取而代之的是,在导出之前编写自定义服务函数:
@tf.function(input_signature=[tf.TensorSpec([None], dtype=tf.string)])
def preproc_prediction(text):
# preprocess
text_str = text.numpy().decode('utf-8')
text_str = preproc(text_str)
# call model with preprocessed string
text = tf.constant(text_str)
pred = model(text, training=False)
return {
'preds': pred
}
model.save(EXPORT_PATH, signatures={'serving_default': preproc_prediction})https://stackoverflow.com/questions/62517564
复制相似问题