TensorFlow Serving是否支持多输入多输出?原Keras模型导出限制是否仍有效?
TensorFlow Serving 多输入/多输出支持情况解答
首先明确告诉你:现在的TensorFlow Serving完全支持多输入和多输出模型,你提到的那篇旧博客里的“仅支持单输入单输出”限制早就被移除了,已经不再有效啦。
具体说明:
- 早在TensorFlow 1.x后期的版本(以及后续所有2.x系列的稳定版本),TensorFlow Serving就已经新增了多输入多输出的支持。不管是原生TensorFlow构建的多输入输出模型,还是从Keras导出的这类模型,都可以正常部署和调用。
- 如果你要导出Keras多输入多输出模型,只需要使用标准的
tf.saved_model.save()方法,模型导出时会自动保留多输入输出的签名;如果需要自定义签名,也可以通过tf.saved_model.signature_def_utils来明确指定每个输入输出的名称和张量信息,确保Serving能正确识别。 - 调用模型时,只需要在请求中按照签名里定义的输入名称传递对应的数据,就能获取多个输出结果。
举个简单的场景:比如你有一个同时接收文本和图像输入的模型,输出分类结果和置信度,这样的模型部署到TensorFlow Serving后,完全可以正常处理请求,不需要额外的特殊处理。
内容的提问来源于stack exchange,提问作者Ophir Yoktan
相关产品推荐
相关产品推荐

