我正在使用预先训练的deeplab
模型(从这里开始(来获取输入图像的分割。我能够获得语义标签(即 SemanticPredictions
(,这是应用于对数的 argmax(链接(。
我想知道是否有一种简单的方法可以在argmax
之前获取日志?我希望找到输出张量名称并将其简单地传递给我的tfsession如下:
tf_session.run(
self.OUTPUT_TENSOR_NAME,
feed_dict={self.INPUT_TENSOR_NAME: [np.asarray(input_image)]})
但是我无法在显示 logits 或 softmax 输出的代码中找到这样的张量名称。
对于从MobileNet_V2设置训练的模型,self.OUTPUT_TENSOR_NAME = 'ResizeBilinear_2:0'
在执行 argmax 之前检索对数。
我怀疑这和xception是一样的,但还没有验证过。
我通过在张量流中加载我的模型得出了这个答案。然后,打印加载的图形中所有图层的名称。最后,我在最后一个"ArgMax"层之前取了最终输出层的名称,并使用它运行了一些推理。
这是指向有关在图形中打印图层名称的堆栈溢出问题的链接。 我发现泰德的回答是最有帮助的。
顺便说一下,DeeplabV3模型的输出层不应用SoftMax。因此,您不能简单地将输出向量元素的原始值视为置信度。