Python 用于分类器的Tensorflow服务SignatureDefs
我使用自己的文本和一些修改,按照以下步骤训练了一个BERT文本分类器: 要导出模型并使用Tensorflow Service运行它,以下步骤效果良好: 不幸的是,我无法真正理解如何定义分类器的SignatureDefs,以便定义Tensorflow服务的分类器端点。Python 用于分类器的Tensorflow服务SignatureDefs,python,tensorflow,machine-learning,classification,serve,Python,Tensorflow,Machine Learning,Classification,Serve,我使用自己的文本和一些修改,按照以下步骤训练了一个BERT文本分类器: 要导出模型并使用Tensorflow Service运行它,以下步骤效果良好: 不幸的是,我无法真正理解如何定义分类器的SignatureDefs,以便定义Tensorflow服务的分类器端点。:predict端点运行良好,似乎是默认签名 显然,我必须在保存模型时定义签名。由于该主题的文档不是很详尽,我不确定如何定义分类器签名 在上面的BERT示例中,服务结果只需使用tf.constant(示例)定义重新加载的模型,并
:predict
端点运行良好,似乎是默认签名
显然,我必须在保存模型时定义签名。由于该主题的文档不是很详尽,我不确定如何定义分类器签名
在上面的BERT示例中,服务结果
只需使用tf.constant(示例)
定义重新加载的模型
,并使用服务结果=tf.sigmoid(服务结果['classifier')]实例化它。
因此,我假设在调用model.save
方法时,必须将激活函数和分类器
签名作为参数
预测
端点起作用,分类
端点给出错误:
{“error”:“SignatureDef:inputs{\n key:\“text\”\n value{\n name:\“serving\u default\u text:0\”\n dtype:DT\u STRING\n tensor\u shape{\n dim{\n size:-1\n}\n}\n}\n}\n}\n输出{\n key:\“classifier\”\n value{\n name:\“StatefPartitionedCall 2:0”\“\n dtype:DT\u FLOAT\n tensor\u shape{\n dim{\n size:-1\n}\n dim{\n size:1\n}\n}\n}\n}\n方法名称:\“tensorflow/service/predict\”\n}
如有任何提示,我将不胜感激。可在此处找到定义签名的正确文档
builder.add_meta_graph_and_variables(
sess, [tf.compat.v1.saved_model.tag_constants.SERVING],
signature_def_map={
'predict_images':
prediction_signature,
tf.compat.v1.saved_model.signature_constants
.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
classification_signature,
},