DepthwiseConv2D
類別tf_keras.layers.DepthwiseConv2D(
kernel_size,
strides=(1, 1),
padding="valid",
depth_multiplier=1,
data_format=None,
dilation_rate=(1, 1),
activation=None,
use_bias=True,
depthwise_initializer="glorot_uniform",
bias_initializer="zeros",
depthwise_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
depthwise_constraint=None,
bias_constraint=None,
**kwargs
)
深度可分離 2D 卷積。
深度可分離卷積是一種卷積類型,其中每個輸入通道都與不同的核心(稱為深度核心)進行卷積。您可以將深度可分離卷積理解為深度可分離卷積的第一步。
它透過以下步驟實現:
depth_multiplier
輸出通道的單獨深度核心進行卷積。與常規 2D 卷積不同,深度可分離卷積不會混合不同輸入通道的資訊。
depth_multiplier
參數決定了有多少濾波器應用於一個輸入通道。因此,它控制了在深度可分離步驟中每個輸入通道產生的輸出通道數量。
參數
dilation_rate
值 !=1 不相容。'valid'
或 'same'
(不區分大小寫)之一。"valid"
表示沒有填充。"same"
會使用零均勻地填充輸入的左/右或上/下,使得輸出具有與輸入相同的高度/寬度維度。filters_in * depth_multiplier
。channels_last
(預設)或 channels_first
之一。 輸入中維度的排序。 channels_last
對應於形狀為 (batch_size, height, width, channels)
的輸入,而 channels_first
對應於形狀為 (batch_size, channels, height, width)
的輸入。如果未指定,則使用在您的 TF-Keras 設定檔 ~/.keras/keras.json
中找到的 image_data_format
值(如果存在),否則使用 'channels_last'。預設為 'channels_last'。dilation_rate
值 != 1 與指定任何 strides
值 != 1 不相容。keras.activations
)。keras.initializers
)。 如果為 None,則將使用預設的初始化器('glorot_uniform')。keras.initializers
)。 如果為 None,則將使用預設的初始化器('zeros')。keras.regularizers
)。keras.regularizers
)。keras.regularizers
)。keras.constraints
)。keras.constraints
)。輸入形狀
如果 data_format='channels_first',則為形狀為:[batch_size, channels, rows, cols]
的 4D 張量,如果 data_format='channels_last',則為形狀為:[batch_size, rows, cols, channels]
的 4D 張量。
輸出形狀
如果 data_format='channels_first'
,則為形狀為:[batch_size, channels * depth_multiplier, new_rows, new_cols]
的 4D 張量,如果 data_format='channels_last'
,則為形狀為:[batch_size, new_rows, new_cols, channels * depth_multiplier]
的 4D 張量。rows
和 cols
值可能會因填充而改變。
回傳
代表 activation(depthwiseconv2d(inputs, kernel) + bias)
的 4 階張量。
引發
padding
為 "causal"。strides
> 1 且 dilation_rate
> 1 時。