【问题标题】:Convolutional layer without summation over different channels - Keras没有对不同通道求和的卷积层 - Keras
【发布时间】:2022-01-20 01:23:56
【问题描述】:

假设我有 5x5x3 的图像,并且每个通道都有不同的过滤器 - 例如 3x3x3。 首先在 Cov2D 中,过滤器中的每个内核分别应用于输入层中的三个通道(给出 3x3x3 - 没有填充和步幅 1),然后将这三个通道相加(逐元素相加),得到 3x3x1 .

我想要连接三个通道 (3x3x3),而不是对通道 (3x3x1) 求和。

感谢您的帮助。

【问题讨论】:

    标签: tensorflow keras


    【解决方案1】:

    您指的是深度卷积,其中输出的通道是连接而不是相加的。 (详见https://www.tensorflow.org/api_docs/python/tf/keras/layers/DepthwiseConv2D

    演示:

    x = np.random.rand(1,5,5,3)
    l = tf.keras.layers.DepthwiseConv2D(3, depth_multiplier=1)
    print(l(x).shape)
    '''
    (1, 3, 3, 3)
    '''
    

    您可以使用depth_multiplier 来控制应用于每个通道的深度内核的数量。

    l2 = tf.keras.layers.DepthwiseConv2D(3, depth_multiplier=2)
    print(l2(x).shape)
    '''
    (1, 3, 3, 6)
    '''
    

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      • 2017-12-20
      相关资源
      最近更新 更多