代码之家  ›  专栏  ›  技术社区  ›  Devin Haslam

在Tensorflow中正确连接特征映射

  •  1
  • Devin Haslam  · 技术社区  · 7 年前

    我试图使用Tensorflow从一篇研究论文中复制卷积神经网络。 Image of architecture

    https://www.tensorflow.org/api_docs/python/tf/concat )沿最后一个轴(代表通道)连接这些特征图。我最初认为我希望沿所有轴连接,但这似乎不是tensorflow中的选项。现在我面临的问题是,论文指出,不同大小的张量(特征映射)应该连接在一起。tf。concat不支持不同大小的连接,因此我想知道这是否是一开始使用的正确命令。总之,

    非常感谢。

    3 回复  |  直到 7 年前
        1
  •  2
  •   nessuno    7 年前

    事实上,从您发布的图像中,您可以看到每个连接的特征地图都具有与另一个相同的空间范围(但深度不同)。 如果不能以这种方式连接,很可能代码中有问题,问题可能是在卷积运算中缺少有效的填充。

        2
  •  1
  •   Deniz Beker    7 年前

    您在初始网络中遇到的问题可以通过在卷积层中使用填充来解决,以保持大小不变。对于初始块,不要使用“有效”填充,而是将其更改为“相同”填充。因此,不需要任何大小调整,就可以连接输出。

    或者,可以将填充添加到要连接的特征映射。您可以使用tf来实现这一点。pad()。

    如果你不喜欢这样做,你可以使用tf。形象resize_images函数可将其大小调整为相同的值。然而,这是一种肮脏且计算昂贵的方法。

        3
  •  0
  •   Devin Haslam    7 年前

    张量只能沿一个轴连接。如果需要连接不同大小的特征映射,则必须以某种方式操纵原始张量的大小。