如何在Tensorflow中将张量绘制并保存为图像

时间:2017-08-18 13:23:06

标签: python tensorflow

我使用Python在Tensorflow中推断完全卷积网络,其中网络的输出是具有维度(375,1242,1)的张量。这是输出图像,它保存每个像素属于特定类的概率(在我的示例中为Road类 - KITTY)。张量具有此格式Tensor("Slice:0", shape=(375, 1242, 1), dtype=float32)。我的问题是我如何绘制并将此张量保存为图像,如何将其转换为二进制像这样的thres=0.5, image = image > thres

1 个答案:

答案 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)