tensorflow DepthwiseConv2D中的depth_multer是如何工作的



目前我正在学习计算机视觉,并学习深度卷积。(不是深度分离卷积!(

所以,我想知道的是"depth_ multiplier">参数有效。

首先

当不使用";depth_ multiplier";并且仅使用DepthwiseConv2D(kernel_size=(3,3((,内核的形状为(3x3x3(输出形状变为(32x32x3(

问题是

但是当我使用";depth_ multiplier";,

深度Conv2D(kernel_size=(3,3(,深度乘数=4(

核的形状变成(3x3x3(x4吗->这意味着(3x3x3(个内核中的4个

并且输出形状变为(32x32x3(x4?或者输出形状变为(32x32x12(?

这对我来说很重要,因为

在这一层之后,我将使用普通卷积。其具有128个核并且kernel_ size=(3,3(。我想知道内核的形状是什么。它会是(3x3x3(x128吗?还是其他形状?

培训准则有效,但想知道它实际上是如何工作的。

我也想知道(depth_multer=#(是如何真正工作的

谢谢。

是。

depth_multiplier=1:

x = tf.keras.Input(shape=(32, 32, 3))
y = tf.keras.layers.DepthwiseConv2D(kernel_size = (3,3), padding='SAME')(x)
keras.Model(inputs=x, outputs=y).layers[-1].weights[0].shape
#outputs TensorShape([3, 3, 3, 1])

depth_multiplier=4:

y = tf.keras.layers.DepthwiseConv2D(kernel_size = (3,3),depth_multiplier=4, padding='SAME')(x)
keras.Model(inputs=x, outputs=y).layers[-1].weights[0].shape
#outputs: TensorShape([3, 3, 3, 4])

相关内容

  • 没有找到相关文章

最新更新