我使用Python在Tensorflow中推断完全卷积网络,其中网络的输出是具有维度(375,1242,1)的张量。这是输出图像,它保存每个像素属于特定类的概率(在我的示例中为Road类 - KITTY)。张量具有此格式Tensor("Slice:0", shape=(375, 1242, 1), dtype=float32)
。我的问题是我如何绘制并将此张量保存为图像,如何将其转换为二进制像这样的thres=0.5, image = image > thres
?
答案 0 :(得分:1)
此问题已经多次回答(例如参见my answer)。
首先需要评估张量以使用开放会话获取numpy数组。一旦你得到它,你必须通过做np_array=np_array[:,:,0]
。
然后您可以使用matplotlib并默认执行imshow(np_array)
它将为它添加色彩映射并对其进行标准化。
如果你想要一个二进制文件,你可以按照binary_array=(np_array>0.5).astype("int")
的说法进行操作,那么你可以选择最后的imshow(binary_array)
。