SeparableConv2D
類別tf_keras.layers.SeparableConv2D(
filters,
kernel_size,
strides=(1, 1),
padding="valid",
data_format=None,
dilation_rate=(1, 1),
depth_multiplier=1,
activation=None,
use_bias=True,
depthwise_initializer="glorot_uniform",
pointwise_initializer="glorot_uniform",
bias_initializer="zeros",
depthwise_regularizer=None,
pointwise_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
depthwise_constraint=None,
pointwise_constraint=None,
bias_constraint=None,
**kwargs
)
深度可分離 2D 卷積。
可分離卷積首先執行深度方向的空間卷積(分別作用於每個輸入通道),然後進行逐點卷積,混合產生的輸出通道。depth_multiplier
參數控制在深度方向步驟中每個輸入通道生成多少個輸出通道。
直觀上,可分離卷積可以理解為將一個卷積核分解為兩個較小的核,或者理解為 Inception 區塊的極端版本。
參數
dilation_rate
值 != 1 不相容。"valid"
或 "same"
其中之一(不區分大小寫)。"valid"
表示不填充。"same"
表示用零均勻地填充輸入的左/右或上/下,以便輸出與輸入具有相同的高度/寬度維度。channels_last
(預設值) 或 channels_first
其中之一。 輸入中維度的順序。 channels_last
對應於形狀為 (batch_size, height, width, channels)
的輸入,而 channels_first
對應於形狀為 (batch_size, channels, height, width)
的輸入。 如果未指定,則使用在 ~/.keras/keras.json
(如果存在) 內的 Keras 設定檔中找到的 image_data_format
值,否則使用 'channels_last'。預設為 'channels_last'。filters_in * depth_multiplier
。keras.activations
)。keras.initializers
)。 如果為 None,則將使用預設初始化器 ('glorot_uniform')。keras.initializers
)。 如果為 None,則將使用預設初始化器 ('glorot_uniform')。keras.initializers
)。keras.regularizers
)。keras.regularizers
)。keras.regularizers
)。keras.regularizers
)。keras.constraints
)。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, filters, new_rows, new_cols)
的 4D 張量;如果 data_format='channels_last',則為形狀為 (batch_size, new_rows, new_cols, filters)
的 4D 張量。rows
和 cols
值可能會因填充而改變。
回傳值
表示 activation(separableconv2d(inputs, kernel) + bias)
的秩為 4 的張量。
觸發
padding
為 "causal"。