看来Predict SignatureDef包含了分类和回归SignatureDefs的所有功能。什么时候使用分类或回归SignatureDefs而不是仅对所有内容使用Predict会有优势?我们正在寻求在生产环境中降低复杂性,如果在所有情况下都可以仅使用Predict SignatureDefs,那似乎是个好主意。
最佳答案
从我在文档(https://www.tensorflow.org/serving/signature_defs)上看到的内容来看,似乎“ Classify”和“ Regress” SigDef试图分别为简单情况(分类和回归)强制使用简单且一致的接口,“ inputs”-> “类+分数”和“输入”->“输出”。似乎还有一个额外的好处,即“分类”和“回归” SigDef不需要将服务功能构造为模型导出功能的一部分。
同样从文档来看,Predict SigDef似乎允许使用更通用的接口,并且具有能够交换模型的优点。从文档:
Predict SignatureDefs支持跨模型的可移植性。这意味着
您可以交换不同的SavedModels,可能使用不同的
基本的Tensor名称(例如,代替x:0,也许您有了一个新的
Tensor z:0的备用模型),而您的客户可以保持在线状态
连续查询该模型的旧版本和新版本,而无需
客户端更改。
Predict SignatureDefs还允许您添加可选的其他
您可以显式查询的输出张量。比方说
除了分数下方的输出键,您还想
提取池层用于调试或其他目的。
但是,除了不必导出服务功能的次要好处外,文档并没有解释,为什么人们不只是对所有事物都使用Predict SigDef,因为它似乎是一个具有大量上行空间的超集。我希望看到一个明确的答案,因为专用功能(分类,回归)的好处似乎很小。
关于python - 不同种类的TensorFlow SignatureDef的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53602759/