tensorflow-serving - tensorflow_serving 分类、预测和回归 SignatureDefs 之间有什么区别

标签 tensorflow-serving

我正在尝试在 tensorflow 服务中提供 tensorflow 对象检测 API 模型,但我对 3 个不同的 SignatureDef 感到困惑。有什么区别,何时选择一种而不是另一种?

最佳答案

Tensorflow Serving 使用不同的方式更新模型权重,并在服务中使用不同的签名机制。为了在服务中保存模型,使用 SavedModel。 SavedModel 提供了一种语言中立的格式来保存可恢复且密封的机器学习模型。它使更高级别的系统和工具能够生成、使用和转换 TensorFlow 模型。

这支持SignatureDefs 用于推理任务的图通常具有一组输入和输出。这称为签名。 SavedModel 使用 SignatureDefs 来为可能需要与图形一起保存的签名提供通用支持。

对于之前使用过 TF-Exporter/SessionBundle 的用户,TF-Exporter 中的 Signature 将替换为 SavedModel 中的 SignatureDef。

SignatureDef 需要规范: 输入作为 TensorInfo 的字符串映射。 输出为 TensorInfo 的字符串映射。 method_name(对应加载工具/系统中支持的方法名称)。

Classification SignatureDefs 支持对 TensorFlow Serving 的 Classification API 进行结构化调用。这些规定必须有一个输入张量,并且有两个可选的输出张量:类别和分数,至少必须存在其中之一。

Predict SignatureDefs 支持调用 TensorFlow Serving 的 Predict API。这些签名允许您灵活支持任意多个输入和输出张量。对于下面的示例,签名 my_prediction_signature 有一个逻辑输入张量图像,该图像映射到图中的实际张量 x:0。

Regression SignatureDefs 支持对 TensorFlow Serving 的 Regression API 进行结构化调用。这些规定必须有一个输入 Tensor,一个输出 Tensor。

请引用:

https://www.tensorflow.org/serving/signature_defs

关于tensorflow-serving - tensorflow_serving 分类、预测和回归 SignatureDefs 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45323781/

相关文章:

python - 在哪里可以找到 tensorflow-serving URL?

docker - 用于自定义模型的 TensorFlow Serving

docker - 向tensorflow服务的Docker容器发送“Target machine actively refused” POST请求

python - TensorFlow REST 前端,但不是 TensorFlow Serving

tensorflow - tensorflow 中的索引比收集慢

tensorflow - 无法在 tensorflow session 中保存 tf.contrib.learn wide and deep 模型并在 TensorFlow Serving 上提供它

python - Tensorflow服务容器进入事件循环后Heroku Dyno崩溃

linux - TensorFlow 模型可以作为 Linux/Unix 服务运行吗?

python - 在 Python 中部署 Tensorflow 模型

multithreading - tensorflow-serving 支持多线程吗?