0

我正在使用预训练deeplab模型(从这里)来获取输入图像的分割。我能够获得SemanticPredictions应用于 logits (链接)的 argmax 的语义标签(即)。

我想知道之前是否有一种简单的方法来获取日志argmax?我希望找到输出张量名称并将其简单地传递到我的 tfsession 中,如下所示:

tf_session.run(
        self.OUTPUT_TENSOR_NAME,
        feed_dict={self.INPUT_TENSOR_NAME: [np.asarray(input_image)]})

但是我无法在显示 logits 或 softmax 输出的代码中找到这样的张量名称。

4

1 回答 1

0

对于从 MobileNet_V2 设置训练的模型,self.OUTPUT_TENSOR_NAME = 'ResizeBilinear_2:0'在执行 argmax 之前检索 logits。

我怀疑这与 xception 相同,但尚未验证。

我通过在 tensorflow 中加载我的模型得出了这个答案。然后,打印加载图表中所有图层的名称。最后,我在最后一个“ArgMax”层之前取了最终输出层的名称,并使用它进行了一些推理。

这是关于在图中打印图层名称的 stackoverflow 问题的链接。我发现 Ted 的回答最有帮助。

顺便说一句,DeeplabV3 模型的输出层不应用 SoftMax。因此,您不能简单地将输出向量元素的原始值作为置信度。

于 2019-06-18T10:32:22.133 回答