【发布时间】:2020-02-16 01:24:43
【问题描述】:
我希望托管 5 个需要数据预处理/后处理的深度学习模型。
使用 TF 服务(和 Kubernetes 来管理容器)托管每个模型似乎很简单,但如果是这样的话,数据预处理和后处理应该在哪里进行?
【问题讨论】:
标签: docker kubernetes tensorflow-serving
我希望托管 5 个需要数据预处理/后处理的深度学习模型。
使用 TF 服务(和 Kubernetes 来管理容器)托管每个模型似乎很简单,但如果是这样的话,数据预处理和后处理应该在哪里进行?
【问题讨论】:
标签: docker kubernetes tensorflow-serving
我不确定这个问题是否有一个明确的答案,但我很幸运能够大规模部署模型,将数据预处理和后处理代码捆绑到相当普通的 Go 或 Python(例如 Flask)应用程序中连接到我的持久存储以进行其他操作。
例如,以电影推荐为例,在预测路线上,从数据库中提取用户观看过的 100 部电影,将它们转储到适当大小和编码的 NumPy 数组中,然后分派到 TensorFlow服务容器,然后在返回之前进行最少的后处理(例如从持久存储层的不同部分提取电影名称、描述、投射)。
【讨论】:
josephkibe 回答的其他选项,您可以:
在模型本身中实现处理(请参阅SavedModel guide 中 keras 模型的签名和估计器的输入接收器)。
安装Seldon-core。它是一个完整的服务框架,用于处理构建图像和网络。它将服务构建为具有不同 API 的 Pod 图,其中之一是对数据进行预处理/后处理的转换器。
【讨论】: