我正在尝试理解2D卷积神经网络和2D深度卷积神经网络在计算方面的异同。(我理解这些概念)。
例如,假设有一个3x3的输入图像,具有3个通道(RGB),填充为1,步长为1。滤波器为2x2。
输出是什么?(可以忽略激活和偏差)
我知道普通的conv2D会有13x3的输出,而dw conv2D会有3。除此之外,我有点困惑。谢谢
发布于 2021-10-29 21:01:40
例如,让我们考虑输入图像形状为(5,5,3)。
卷积层
在Conv2D中,大小为3*3*3的24滤波器与输入5*5*3卷积。
任何卷积层中每个滤波器的深度都将与图层的输入形状的深度相同:
input_shape = (1, 5, 5, 3)
x = tf.random.normal(input_shape)
y = tf.keras.layers.Conv2D(24, 3, activation='relu', input_shape=(5,5,3))(x)
print(y.shape) #(1,3,3,24)深度卷积层
在深度卷积中,我们不指定滤波器的数量;我们只使用一个滤波器:
z = tf.keras.layers.DepthwiseConv2D(3,activation='relu', input_shape=input_shape[1:])(x)
print(z,shape) #(1,3,3,3)https://stackoverflow.com/questions/56518367
复制相似问题