Keras 2 API 文件 / 層 API / 卷積層 / Conv1DTranspose 層

Conv1DTranspose 層

[來源]

Conv1DTranspose 類別

tf_keras.layers.Conv1DTranspose(
    filters,
    kernel_size,
    strides=1,
    padding="valid",
    output_padding=None,
    data_format=None,
    dilation_rate=1,
    activation=None,
    use_bias=True,
    kernel_initializer="glorot_uniform",
    bias_initializer="zeros",
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    **kwargs
)

轉置卷積層(有時稱為反卷積)。

對轉置卷積的需求通常源於希望使用與普通卷積相反方向的轉換,即從具有某些卷積輸出的形狀轉換為具有其輸入形狀的同時,保持與所述卷積兼容的連接模式。

當將此層用作模型中的第一層時,請提供關鍵字參數 input_shape(整數或 None 的元組,不包含樣本軸),例如,對於具有 128 個時間步和 3 個通道的資料,input_shape=(128, 3)

參數

  • filters:整數,輸出空間的維度(即卷積中輸出濾波器的數量)。
  • kernel_size:一維卷積窗口的整數長度。
  • strides:一個整數,指定沿時間維度的卷積步幅。指定 != 1 的步幅值與指定 != 1 的 dilation_rate 值不相容。預設值為 1
  • padding"valid""same" 其中之一(不區分大小寫)。"valid" 表示不填充。"same" 會以零均勻填充輸入的左/右或上/下,使得輸出具有與輸入相同的高度/寬度尺寸。
  • output_padding:一個整數,指定沿輸出張量時間維度的填充量。輸出填充量必須小於步幅。如果設定為 None(預設值),則會推斷輸出形狀。
  • data_format:一個字串,channels_last(預設值)或 channels_first 其中之一。輸入中維度的順序。channels_last 對應於形狀為 (batch_size, length, channels) 的輸入,而 channels_first 對應於形狀為 (batch_size, channels, length) 的輸入。
  • dilation_rate:一個整數,指定用於擴張卷積的擴張率。目前,指定 != 1 的 dilation_rate 值與指定 != 1 的步幅值不相容。而且,目前不支援大於 1 的擴張率。
  • activation:要使用的激活函數。如果未指定任何內容,則不會應用激活函數(請參閱 keras.activations)。
  • use_bias:布林值,指示層是否使用偏差向量。
  • kernel_initializerkernel 權重矩陣的初始化器(請參閱 keras.initializers)。預設值為 'glorot_uniform'。
  • bias_initializer:偏差向量的初始化器(請參閱 keras.initializers)。預設值為 'zeros'。
  • kernel_regularizer:應用於 kernel 權重矩陣的正規化器函數(請參閱 keras.regularizers)。
  • bias_regularizer:應用於偏差向量的正規化器函數(請參閱 keras.regularizers)。
  • activity_regularizer:應用於層輸出(其「激活」)的正規化器函數(請參閱 keras.regularizers)。
  • kernel_constraint:應用於 kernel 矩陣的約束函數(請參閱 keras.constraints)。
  • bias_constraint:應用於偏差向量的約束函數(請參閱 keras.constraints)。

輸入形狀

形狀為 (batch_size, steps, channels) 的 3D 張量

輸出形狀

形狀為 (batch_size, new_steps, filters) 的 3D 張量,如果指定了 output_padding

new_timesteps = ((timesteps - 1) * strides + kernel_size -
2 * padding + output_padding)

返回

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

引發

  • ValueError:如果 padding 為 "causal"。
  • ValueError:當 strides > 1 且 dilation_rate > 1 時。

參考文獻