Tensorflow:获取最大的4D张量条目

时间:2019-01-23 06:33:26

标签: python tensorflow conv-neural-network semantic-segmentation

我有一个名为[labels]的张量,形状为[-1,256,256,10],其中包含尺寸为256x256的标签图像,从中我可以得到最后一个维数最大的三个条目“ tf.math.top_k”

现在,我想提取三个最大的条目并将其每个都设为[-1,256,256,1]形状的张量,以将其显示为张量板上的图像。

代码似乎可以正常工作,只是它没有给我每个EACH批次的最大条目,而只是给了我批次中的最后一个元素。

Y = tf.placeholder_with_default(targets, shape=None, name="label")
labels = tf.reshape(Y, [-1, 256, 256, 10])
hot_labels = tf.reduce_max(labels,(1,2),keepdims=True)

top3_val,top3_idx = tf.nn.top_k(hot_labels,3)
top3_idx = tf.transpose(tf.squeeze(top3_idx))

top_labels0 = tf.gather(labels,top3_idx[0,-1],axis=-1)
top_labels0 = tf.reshape(top_labels0,[-1,256,256,1])

top_labels1 = tf.gather(labels,top3_idx[1,-1],axis=-1)
top_labels1 = tf.reshape(top_labels1,[-1,256,256,1])

top_labels2 = tf.gather(labels,top3_idx[2,-1],axis=-1)
top_labels2 = tf.reshape(top_labels2,[-1,256,256,1])

最终目标是找到“标签”的最后三个最大条目,并在张量流中将它们显示为大小为[-1,256,256,1]的图像。

0 个答案:

没有答案