【问题标题】:How preprocess and post-process at using TensorFlow Serving如何使用 TensorFlow Serving 进行预处理和后处理
【发布时间】:2020-01-07 06:38:53
【问题描述】:

我正在使用 TensorFlow Serving 设计一个句子分类服务。

我成功启动了 docker 服务器,请求预测,并收到预测结果。

我的模型有两个输入层和一个输出层。

lexical_input (InputLayer)      [(None, 1000)]       0 
phoneme_input (InputLayer)      [(None, 150)]        0                  
... ... ... ... ... ... 
dense_2 (Dense)                 (None, 104)          43368       concatenate[0][0] 

现在我的服务的输入格式和输出格式都是向量。

Client(user) 必须对他们的输入字符串进行矢量化处理,并且他们必须执行 argmax 和 map 以获得标签。

我希望我的客户请求使用平面语句而不是向量,并且可以获得标签作为预测结果。

我已经有了向量化输入句子并从预测结果向量中获取标签的函数。

我不知道如何连接我的函数和我的模型。

由于搜索的结果,我在使用 tf.saved_model.simple_save() 时不得不做一些事情。

【问题讨论】:

    标签: tensorflow input keras preprocessor tensorflow-serving


    【解决方案1】:

    一种选择是使用像flask这样的另一个网络服务器来进行前(后)处理。您可以在预处理后从 flask 到 tf serving 进行 http 或 gRPC 调用,并使用响应进行后处理。

    【讨论】:

    • 非常感谢!就像您告诉我的那样,我们已经有一个用于 API 和一级预处理(例如词素分析)的 WAS。我们可以在那个 WAS 上进行矢量化和标记,但我们关注词汇、模型和 labelMap 的同步。在同步方面,我们认为只有一个部署比两个部署更安全(词汇和标签映射到 WAS,模型映射到服务服务器)。所以我正在寻找一个 TF Serving 的功能来进行前(后)处理。谢谢你的意见。这是一个回顾我们的服务架构的好机会。
    猜你喜欢
    • 2017-07-20
    • 2017-01-12
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 2017-05-31
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多