Keras 2 API 文件 / 層 API / 卷積層 / 可分離卷積1D層

可分離卷積1D層

[原始碼]

SeparableConv1D 類別

tf_keras.layers.SeparableConv1D(
    filters,
    kernel_size,
    strides=1,
    padding="valid",
    data_format=None,
    dilation_rate=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
)

深度可分離 1D 卷積。

此層執行深度卷積,該卷積單獨作用於通道,然後進行逐點卷積,混合通道。如果 use_bias 為 True 且提供了偏差初始化器,則會將偏差向量加到輸出。然後,它會選擇性地應用激活函數以產生最終輸出。

參數

  • filters:整數,輸出空間的維度(即卷積中的濾波器數量)。
  • kernel_size:單一整數,指定濾波器的空間維度。
  • strides:單一整數,指定卷積的步幅。指定任何 stride 值 != 1 與指定任何 dilation_rate 值 != 1 不相容。
  • padding"valid""same""causal"(不區分大小寫)之一。"valid" 表示不填充。"same" 會導致用零均勻填充輸入的左/右或上/下,使得輸出的高度/寬度維度與輸入相同。"causal" 會導致因果(擴張)卷積,例如 output[t] 不依賴於 input[t+1:]
  • data_format:字串,channels_last(預設)或 channels_first 之一。輸入中維度的順序。channels_last 對應於形狀為 (batch_size, length, channels) 的輸入,而 channels_first 對應於形狀為 (batch_size, channels, length) 的輸入。
  • dilation_rate:單一整數,指定用於擴張卷積的擴張率。
  • depth_multiplier:每個輸入通道的深度卷積輸出通道數量。深度卷積輸出通道的總數將等於 num_filters_in * depth_multiplier
  • activation:要使用的激活函數。如果未指定任何內容,則不會應用激活(請參閱 keras.activations)。
  • use_bias:布林值,表示層是否使用偏差。
  • depthwise_initializer:深度卷積核心的初始化器(請參閱 keras.initializers)。如果為 None,則將使用預設初始化器('glorot_uniform')。
  • pointwise_initializer:逐點卷積核心的初始化器(請參閱 keras.initializers)。如果為 None,則將使用預設初始化器('glorot_uniform')。
  • bias_initializer:偏差向量的初始化器。如果為 None,則將使用預設初始化器('zeros')(請參閱 keras.initializers)。
  • depthwise_regularizer:深度卷積核心的可選正規化器(請參閱 keras.regularizers)。
  • pointwise_regularizer:逐點卷積核心的可選正規化器(請參閱 keras.regularizers)。
  • bias_regularizer:偏差向量的可選正規化器(請參閱 keras.regularizers)。
  • activity_regularizer:輸出的可選正規化函數(請參閱 keras.regularizers)。
  • depthwise_constraint:在被 Optimizer 更新後應用於深度核心的可選投影函數(例如,用於層權重的範數約束或值約束)。該函數必須將未投影的變數作為輸入,並且必須傳回投影的變數(該變數必須具有相同的形狀)。在進行非同步分散式訓練時,不安全使用約束(請參閱 keras.constraints)。
  • pointwise_constraint:在被 Optimizer 更新後應用於逐點核心的可選投影函數(請參閱 keras.constraints)。
  • bias_constraint:在被 Optimizer 更新後應用於偏差的可選投影函數(請參閱 keras.constraints)。
  • trainable:布林值,如果為 True,則此層的權重將被標記為可訓練(並列在 layer.trainable_weights 中)。

輸入形狀

如果 data_format='channels_first',則為形狀為 (batch_size, channels, steps) 的 3D 張量,如果 data_format='channels_last',則為形狀為 (batch_size, steps, channels) 的 3D 張量。

輸出形狀

如果 data_format='channels_first',則為形狀為 (batch_size, filters, new_steps) 的 3D 張量,如果 data_format='channels_last',則為形狀為 (batch_size, new_steps, filters) 的 3D 張量。new_steps 的值可能會因填充或步幅而改變。

傳回

表示 activation(separableconv1d(inputs, kernel) + bias) 的 3 階張量。