gpt4 book ai didi

c++ - Conv2D vs Depthwise Conv2D 计算

转载 作者:行者123 更新时间:2023-12-04 13:58:34 26 4
gpt4 key购买 nike

我试图了解 2D 卷积和 2D depthwise 卷积神经网络计算中的异同。 (我理解这些概念)。

例如,假设有一个 3x3 的输入图像,具有 3 个 channel (RGB),填充为 1,步幅为 1。过滤器为 2x2。

输出是什么? (可以忽略激活和偏差)

我知道常规 conv2D 将有 1 个 3x3 输出,而 dw conv2D 将有 3 个。除此之外我有点困惑。谢谢

最佳答案

例如,让我们考虑输入图像形状为 (5,5,3) .
卷积层 :
在 Conv2D 中, 24 过滤器 尺寸3*3*3与输入 5*5*3 复杂.
Conv2D
任何卷积层中每个过滤器的深度将与层的输入形状的深度相同:

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)
深度卷积层 :
在深度卷积中,我们不指定过滤器的数量;我们只使用 1 个过滤器:
z = tf.keras.layers.DepthwiseConv2D(3,activation='relu', input_shape=input_shape[1:])(x)
print(z,shape) #(1,3,3,3)
SeparableConvolution

关于c++ - Conv2D vs Depthwise Conv2D 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com