【问题标题】:How to reuse your TFX transforms for inference in production (streaming pipeline)?如何在生产(流式传输管道)中重用 TFX 转换进行推理?
【发布时间】:2019-07-03 12:34:21
【问题描述】:

我想使用 TFX 构建一个训练管道,并最终重用我的数据转换来向 TensorFlow-Serving 发出推理请求,而 TFX 应该能够做到这一点。 我发现的 TFX 示例似乎都建立了批量训练管道并最终在 TensorFlow-Serving 中推送模型,但它们没有解决推理部分,由于延迟原因,推理部分必须是流式管道。我可能会编写自己的工具来发出请求,但不将我的 Transform 组件用于推理部分似乎是一种浪费。

我已经在本地运行了由 TFX 示例安装脚本安装在 dags 中的示例。气流用户界面清楚地表明这些是批处理管道。

【问题讨论】:

    标签: tensorflow-transform tfx


    【解决方案1】:

    TFX 允许您在训练管道中定义转换逻辑,并将逻辑保存为生成的模型图的一部分,这样您保存的模型将包括转换和通常的模型,并且 tf serving 将能够接受转换前数据格式的请求,并在没有任何额外工作的情况下进行适当的转换和模型推理。因此,根据设计,TFX 不参与推理。

    【讨论】:

    • 作为后续,有没有一种简单的方法可以将我的自定义 SerDe 代码插入到 TFX 图中,以便 TF Serving 能够在转换数据之前反序列化数据,或者我应该在单独的层?
    • 我不这么认为。 TFX 要求您使用 tf.* 支持的转换,以便它们可以保证转换可以正确序列化和反序列化。有关 API,请参阅此链接:tensorflow.org/tfx/transform/api_docs/python/tft。 API 确实包含许多常用的转换,您必须将自定义 SerDe 代码移植到它提供的调用中。
    • 也就是说,支持的调用之一是apply_pyfunc,它提供了更大的灵活性。 tensorflow.org/tfx/transform/api_docs/python/tft/apply_pyfunc
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    相关资源
    最近更新 更多