目前我正在研究計算機視覺,并研究深度卷積。(不是深度分離卷積!)
所以,我想知道的是“depth_multiplier”引數是如何作業的。
首先,
當不使用“depth_multiplier”而只使用 DepthwiseConv2D(kernel_size = (3,3)) 時, 內核的形狀為 (3x3x3),輸出形狀變為 (32x32x3)
這是問題,
但是當我使用“depth_multiplier”時,
DepthwiseConv2D(kernel_size = (3,3),depth_multiplier=4)
內核的形狀是否變為(3x3x3)x4?-> 這意味著 4 個 (3x3x3) 內核
并且輸出形狀變為(32x32x3)x4?或輸出形狀變為(32x32x12)?
這對我很重要因為
在這一層之后,我將使用法線卷積。其中有 128 個內核和 kernel_size = (3,3)。我想知道內核的形狀將如何。會是 (3x3x3)x128 嗎?還是其他形狀?
培訓代碼有效,但想知道它實際上是如何作業的。
另外我想知道 (depth_multiplier=#) 是如何作業的。
謝謝 以前。
uj5u.com熱心網友回復:
是的。
與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])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524105.html
上一篇:ValueError:`logits`和`labels`必須具有相同的形狀,收到((None,10)vs(None,1))
