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