1

下午好,我有一个卷积神经网络可以对一批图像的 6 类进行像素分类。我想将超像素算法(opencv 中的那个)应用于网络的输出。实际上,超像素将从输入图像中计算出来,然后对于网络输出中的每个超像素位置,我将计算输出类的模式,以便为输入图像的每个超像素提供相同的输出类. 由于在前馈传递期间网络的输出是 [batch, w, h, 6] 大小的张量,我正在考虑将张量重塑为 [batch*w, h, 6] 然后对每个类进行迭代(对于i in range(6)) 并为每个超像素计算该类的模式,然后重新整形回原始大小。

我在基于 numpy 的脚本中编写的代码应该类似于:

for i in range ( number of superpixels):
    for j in range(number of classes=6):
        mask = superpixel_location[i]
        net_new_output[:,:,j][mask] = mode(net_output[:,:,j][mask])

虽然这在 numpy 中绝对容易编码,但我在尝试在 tensorflow 中执行它时遇到问题,因为我不知道如何实现 for 循环或如何管理它们。

你能帮我吗?

谢谢,

MC

4

0 回答 0