在TensorFlow

时间:2018-06-13 11:59:53

标签: python tensorflow tensorflow-serving

我目前正在努力使用Tensorflow服务库来提供张量流模型。正如我所知,我必须创建一个与我使用的模型的输入/输出相匹配的签名。该模型用于识别命名实体(命名实体识别),以便输入它采用原始文本并作为签名中的输入使用

    input = tf.placeholder(dtype=tf.string, shape=[1])

但输出我不知所措。我见过其他人使用的输出是模型的最后一层,但我模型中的最后一层使用

    tf.contrib.crf.viterbi_decode(logit, params)

不会返回张量,而是返回序列和分数,因此我无法使用此方法的输出并在我的签名中使用。

此外,我需要预先运行预测,以确保将预测操作添加到图表中,因为在加载和构建模型时它们未初始化。

到目前为止我尝试了什么:

  • 将我的输出从viterbi_decode转换为nparray并通过

    转换为张量
    tf.make_tensor_proto()
    

    然后使用像

    这样的空操作
    tf.identity(tensor)
    

    我能够像这样访问输出层,但唯一的结果是我 得到客户端是我最初的测试预测的结果。

  • 使用输入张量作为空预测方法的参数,但是我 我需要为我的张量提供价值,我也无法做到这一点。

tl; dr:当没有返回张量时,如何将签名中的输出分配给模型中的输出?

编辑:添加,我是Tensorflow和Tensorflow-Serving的初学者

0 个答案:

没有答案