Layers ? 循環(huán)層 Recurrent


[source]

RNN

keras.layers.RNN(cell, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False)

循環(huán)神經網(wǎng)絡層基類炼团。

參數(shù)

  • cell: 一個 RNN 單元實例。RNN 單元是一個具有以下幾項的類:

    • 一個 call(input_at_t, states_at_t) 方法, 它返回 (output_at_t, states_at_t_plus_1)震桶。 單元的調用方法也可以采引入可選參數(shù) constants酵使, 詳見下面的小節(jié)「關于給 RNN 傳遞外部常量的說明」裳涛。
    • 一個 state_size 屬性涮较。這可以是單個整數(shù)(單個狀態(tài))左刽, 在這種情況下,它是循環(huán)層狀態(tài)的大腥凶摇(應該與單元輸出的大小相同)仁烹。 這也可以是整數(shù)表示的列表/元組(每個狀態(tài)一個大小)咧虎。
    • 一個 output_size 屬性卓缰。 這可以是單個整數(shù)或者是一個 TensorShape, 它表示輸出的尺寸砰诵。出于向后兼容的原因征唬,如果此屬性對于當前單元不可用, 則該值將由 state_size 的第一個元素推斷胧砰。

    cell 也可能是 RNN 單元實例的列表鳍鸵,在這種情況下,RNN 的單元將堆疊在另一個單元上尉间,實現(xiàn)高效的堆疊 RNN偿乖。

  • return_sequences: 布爾值。是返回輸出序列中的最后一個輸出哲嘲,還是全部序列贪薪。

  • return_state: 布爾值。除了輸出之外是否返回最后一個狀態(tài)眠副。

  • go_backwards: 布爾值 (默認 False)画切。 如果為 True,則向后處理輸入序列并返回相反的序列囱怕。

  • stateful: 布爾值 (默認 False)霍弹。 如果為 True,則批次中索引 i 處的每個樣品的最后狀態(tài)將用作下一批次中索引 i 樣品的初始狀態(tài)娃弓。

  • unroll: 布爾值 (默認 False)典格。 如果為 True,則網(wǎng)絡將展開台丛,否則將使用符號循環(huán)耍缴。 展開可以加速 RNN,但它往往會占用更多的內存挽霉。 展開只適用于短序列防嗡。

  • input_dim: 輸入的維度(整數(shù))。 將此層用作模型中的第一層時侠坎,此參數(shù)(或者蚁趁,關鍵字參數(shù) input_shape)是必需的。

  • input_length: 輸入序列的長度实胸,在恒定時指定荣德。 如果你要在上游連接 FlattenDense 層闷煤, 則需要此參數(shù)(如果沒有它,無法計算全連接輸出的尺寸)涮瞻。 請注意鲤拿,如果循環(huán)神經網(wǎng)絡層不是模型中的第一層, 則需要在第一層的層級指定輸入長度(例如署咽,通過 input_shape 參數(shù))近顷。

輸入尺寸

3D 張量,尺寸為 (batch_size, timesteps, input_dim)宁否。

輸出尺寸

  • 如果 return_state:返回張量列表窒升。 第一個張量為輸出。剩余的張量為最后的狀態(tài)慕匠, 每個張量的尺寸為 (batch_size, units)饱须。
  • 如果 return_sequences:返回 3D 張量, 尺寸為 (batch_size, timesteps, units)台谊。
  • 否則蓉媳,返回尺寸為 (batch_size, units) 的 2D 張量。

Masking

該層支持以可變數(shù)量的時間步對輸入數(shù)據(jù)進行 masking锅铅。 要將 masking 引入你的數(shù)據(jù)酪呻,請使用 Embedding 層, 并將 mask_zero 參數(shù)設置為 True盐须。

關于在 RNN 中使用「狀態(tài)(statefulness)」的說明

你可以將 RNN 層設置為 stateful(有狀態(tài)的)玩荠, 這意味著針對一個批次的樣本計算的狀態(tài)將被重新用作下一批樣本的初始狀態(tài)。 這假定在不同連續(xù)批次的樣品之間有一對一的映射贼邓。

為了使狀態(tài)有效:

  • 在層構造器中指定 stateful=True阶冈。
  • 為你的模型指定一個固定的批次大小, 如果是順序模型塑径,為你的模型的第一層傳遞一個 batch_input_shape=(...) 參數(shù)眼溶。
  • 為你的模型指定一個固定的批次大小, 如果是順序模型晓勇,為你的模型的第一層傳遞一個 batch_input_shape=(...)。 如果是帶有 1 個或多個 Input 層的函數(shù)式模型灌旧,為你的模型的所有第一層傳遞一個 batch_shape=(...)绑咱。 這是你的輸入的預期尺寸,包括批量維度枢泰。 它應該是整數(shù)的元組描融,例如 (32, 10, 100)
  • 在調用 fit() 是指定 shuffle=False衡蚂。

要重置模型的狀態(tài)窿克,請在特定圖層或整個模型上調用 .reset_states()骏庸。

關于指定 RNN 初始狀態(tài)的說明

您可以通過使用關鍵字參數(shù) initial_state 調用它們來符號化地指定 RNN 層的初始狀態(tài)。 initial_state 的值應該是表示 RNN 層初始狀態(tài)的張量或張量列表年叮。

您可以通過調用帶有關鍵字參數(shù) statesreset_states 方法來數(shù)字化地指定 RNN 層的初始狀態(tài)具被。 states 的值應該是一個代表 RNN 層初始狀態(tài)的 Numpy 數(shù)組或者 Numpy 數(shù)組列表。

關于給 RNN 傳遞外部常量的說明

你可以使用 RNN.__call__(以及 RNN.call)的 constants 關鍵字參數(shù)將「外部」常量傳遞給單元只损。 這要求 cell.call 方法接受相同的關鍵字參數(shù) constants一姿。 這些常數(shù)可用于調節(jié)附加靜態(tài)輸入(不隨時間變化)上的單元轉換,也可用于注意力機制跃惫。

例子

# 首先叮叹,讓我們定義一個 RNN 單元,作為網(wǎng)絡層子類爆存。

class MinimalRNNCell(keras.layers.Layer):

    def __init__(self, units, **kwargs):
        self.units = units
        self.state_size = units
        super(MinimalRNNCell, self).__init__(**kwargs)

    def build(self, input_shape):
        self.kernel = self.add_weight(shape=(input_shape[-1], self.units),
                                      initializer='uniform',
                                      name='kernel')
        self.recurrent_kernel = self.add_weight(
            shape=(self.units, self.units),
            initializer='uniform',
            name='recurrent_kernel')
        self.built = True

    def call(self, inputs, states):
        prev_output = states[0]
        h = K.dot(inputs, self.kernel)
        output = h + K.dot(prev_output, self.recurrent_kernel)
        return output, [output]

# 讓我們在 RNN 層使用這個單元:

cell = MinimalRNNCell(32)
x = keras.Input((None, 5))
layer = RNN(cell)
y = layer(x)

# 以下是如何使用單元格構建堆疊的 RNN的方法:

cells = [MinimalRNNCell(32), MinimalRNNCell(64)]
x = keras.Input((None, 5))
layer = RNN(cells)
y = layer(x)


[source]

SimpleRNN

keras.layers.SimpleRNN(units, activation='tanh', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False)

全連接的 RNN蛉顽,其輸出將被反饋到輸入。

參數(shù)

  • units: 正整數(shù)先较,輸出空間的維度携冤。
  • activation: 要使用的激活函數(shù) (詳見 activations)。 默認:雙曲正切(tanh)拇泣。 如果傳入 None噪叙,則不使用激活函數(shù) (即 線性激活:a(x) = x)。
  • use_bias: 布爾值霉翔,該層是否使用偏置向量睁蕾。
  • kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)债朵。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器子眶,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)序芦。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)臭杰。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)裸诽。
  • activity_regularizer: 運用到層輸出(它的激活值)的正則化函數(shù) (詳見 regularizer)疚俱。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)盖奈。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)宪塔。
  • dropout: 在 0 和 1 之間的浮點數(shù)磁奖。 單元的丟棄比例,用于輸入的線性轉換某筐。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)比搭。 單元的丟棄比例,用于循環(huán)層狀態(tài)的線性轉換南誊。
  • return_sequences: 布爾值身诺。是返回輸出序列中的最后一個輸出蜜托,還是全部序列。
  • return_state: 布爾值霉赡。除了輸出之外是否返回最后一個狀態(tài)橄务。
  • go_backwards: 布爾值 (默認 False)。 如果為 True同廉,則向后處理輸入序列并返回相反的序列仪糖。
  • stateful: 布爾值 (默認 False)。 如果為 True迫肖,則批次中索引 i 處的每個樣品 的最后狀態(tài)將用作下一批次中索引 i 樣品的初始狀態(tài)锅劝。
  • unroll: 布爾值 (默認 False)。 如果為 True蟆湖,則網(wǎng)絡將展開故爵,否則將使用符號循環(huán)。 展開可以加速 RNN隅津,但它往往會占用更多的內存诬垂。 展開只適用于短序列。

[source]

GRU

keras.layers.GRU(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, reset_after=False)

門限循環(huán)單元網(wǎng)絡(Gated Recurrent Unit) - Cho et al. 2014.

有兩種變體伦仍。默認的是基于 1406.1078v3 的實現(xiàn)结窘,同時在矩陣乘法之前將復位門應用于隱藏狀態(tài)。 另一種則是基于 1406.1078v1 的實現(xiàn)充蓝,它包括順序倒置的操作隧枫。

第二種變體與 CuDNNGRU(GPU-only) 兼容并且允許在 CPU 上進行推理。 因此它對于 kernelrecurrent_kernel 有可分離偏置谓苟。 使用 'reset_after'=Truerecurrent_activation='sigmoid' 官脓。

參數(shù)

  • units: 正整數(shù),輸出空間的維度涝焙。
  • activation: 要使用的激活函數(shù) (詳見 activations)卑笨。 默認:雙曲正切 (tanh)。 如果傳入 None仑撞,則不使用激活函數(shù) (即 線性激活:a(x) = x)赤兴。
  • recurrent_activation: 用于循環(huán)時間步的激活函數(shù) (詳見 activations)。 默認:分段線性近似 sigmoid (hard_sigmoid)隧哮。 如果傳入 None桶良,則不使用激活函數(shù) (即 線性激活:a(x) = x)。
  • use_bias: 布爾值近迁,該層是否使用偏置向量。
  • kernel_initializer: kernel 權值矩陣的初始化器簸州, 用于輸入的線性轉換 (詳見 initializers)鉴竭。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器歧譬,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)搏存。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)瑰步。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)。
  • activity_regularizer: 運用到層輸出(它的激活值)的正則化函數(shù) (詳見 regularizer)璧眠。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)缩焦。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)责静。
  • dropout: 在 0 和 1 之間的浮點數(shù)袁滥。 單元的丟棄比例,用于輸入的線性轉換灾螃。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)题翻。 單元的丟棄比例,用于循環(huán)層狀態(tài)的線性轉換腰鬼。
  • implementation: 實現(xiàn)模式嵌赠,1 或 2。 模式 1 將把它的操作結構化為更多的小的點積和加法操作熄赡, 而模式 2 將把它們分批到更少姜挺,更大的操作中。 這些模式在不同的硬件和不同的應用中具有不同的性能配置文件彼硫。
  • return_sequences: 布爾值炊豪。是返回輸出序列中的最后一個輸出,還是全部序列乌助。
  • return_state: 布爾值溜在。除了輸出之外是否返回最后一個狀態(tài)。
  • go_backwards: 布爾值 (默認 False)他托。 如果為 True掖肋,則向后處理輸入序列并返回相反的序列。
  • stateful: 布爾值 (默認 False)赏参。 如果為 True志笼,則批次中索引 i 處的每個樣品的最后狀態(tài) 將用作下一批次中索引 i 樣品的初始狀態(tài)。
  • unroll: 布爾值 (默認 False)把篓。 如果為 True纫溃,則網(wǎng)絡將展開,否則將使用符號循環(huán)韧掩。 展開可以加速 RNN紊浩,但它往往會占用更多的內存。 展開只適用于短序列。
  • reset_after:
  • GRU 公約 (是否在矩陣乘法之前或者之后使用重置門)坊谁。 False =「之前」(默認)费彼,Ture =「之后」( CuDNN 兼容)。

參考文獻


[source]

LSTM

keras.layers.LSTM(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False)

長短期記憶網(wǎng)絡層(Long Short-Term Memory) - Hochreiter 1997.

參數(shù)

  • units: 正整數(shù)口芍,輸出空間的維度箍铲。
  • activation: 要使用的激活函數(shù) (詳見 activations)。 如果傳入 None鬓椭,則不使用激活函數(shù) (即 線性激活:a(x) = x)颠猴。
  • recurrent_activation: 用于循環(huán)時間步的激活函數(shù) (詳見 activations)。 默認:分段線性近似 sigmoid (hard_sigmoid)小染。 如果傳入 None翘瓮,則不使用激活函數(shù) (即 線性激活:a(x) = x)。
  • use_bias: 布爾值氧映,該層是否使用偏置向量春畔。
  • kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)岛都。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器律姨,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • unit_forget_bias: 布爾值臼疫。 如果為 True择份,初始化時,將忘記門的偏置加 1烫堤。 將其設置為 True 同時還會強制 bias_initializer="zeros"荣赶。 這個建議來自 Jozefowicz et al.
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)鸽斟。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)拔创。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)。
  • activity_regularizer: 運用到層輸出(它的激活值)的正則化函數(shù) (詳見 regularizer)富蓄。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)剩燥。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)立倍。
  • dropout: 在 0 和 1 之間的浮點數(shù)灭红。 單元的丟棄比例,用于輸入的線性轉換口注。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)变擒。 單元的丟棄比例,用于循環(huán)層狀態(tài)的線性轉換寝志。
  • implementation: 實現(xiàn)模式娇斑,1 或 2策添。 模式 1 將把它的操作結構化為更多的小的點積和加法操作, 而模式 2 將把它們分批到更少毫缆,更大的操作中舰攒。 這些模式在不同的硬件和不同的應用中具有不同的性能配置文件。
  • return_sequences: 布爾值悔醋。是返回輸出序列中的最后一個輸出,還是全部序列兽叮。
  • return_state: 布爾值芬骄。除了輸出之外是否返回最后一個狀態(tài)。
  • go_backwards: 布爾值 (默認 False)鹦聪。 如果為 True账阻,則向后處理輸入序列并返回相反的序列。
  • stateful: 布爾值 (默認 False)泽本。 如果為 True淘太,則批次中索引 i 處的每個樣品的最后狀態(tài) 將用作下一批次中索引 i 樣品的初始狀態(tài)。
  • unroll: 布爾值 (默認 False)规丽。 如果為 True蒲牧,則網(wǎng)絡將展開,否則將使用符號循環(huán)赌莺。 展開可以加速 RNN冰抢,但它往往會占用更多的內存。 展開只適用于短序列艘狭。

參考文獻


[source]

ConvLSTM2D

keras.layers.ConvLSTM2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, go_backwards=False, stateful=False, dropout=0.0, recurrent_dropout=0.0)

卷積 LSTM挎扰。

它類似于 LSTM 層,但輸入變換和循環(huán)變換都是卷積的巢音。

參數(shù)

  • filters: 整數(shù)遵倦,輸出空間的維度 (即卷積中濾波器的輸出數(shù)量)。
  • kernel_size: 一個整數(shù)官撼,或者 n 個整數(shù)表示的元組或列表梧躺, 指明卷積窗口的維度。
  • strides: 一個整數(shù)歧寺,或者 n 個整數(shù)表示的元組或列表燥狰, 指明卷積的步長。 指定任何 stride 值 != 1 與指定 dilation_rate 值 != 1 兩者不兼容斜筐。
  • padding: "valid""same" 之一 (大小寫敏感)龙致。
  • data_format: 字符串, channels_last (默認) 或 channels_first 之一顷链。 輸入中維度的順序目代。 channels_last 對應輸入尺寸為 (batch, time, ..., channels)channels_first 對應輸入尺寸為 (batch, time, channels, ...)。 它默認為從 Keras 配置文件 ~/.keras/keras.json 中 找到的 image_data_format 值榛了。 如果你從未設置它在讶,將使用 "channels_last"
  • dilation_rate: 一個整數(shù)霜大,或 n 個整數(shù)的元組/列表构哺,指定用于膨脹卷積的膨脹率。 目前战坤,指定任何 dilation_rate 值 != 1 與指定 stride 值 != 1 兩者不兼容曙强。
  • activation: 要使用的激活函數(shù) (詳見 activations)。 如果傳入 None途茫,則不使用激活函數(shù) (即 線性激活:a(x) = x)碟嘴。
  • recurrent_activation: 用于循環(huán)時間步的激活函數(shù) (詳見 activations)。
  • use_bias: 布爾值囊卜,該層是否使用偏置向量娜扇。
  • kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)栅组。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器雀瓢,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • unit_forget_bias: 布爾值玉掸。 如果為 True致燥,初始化時,將忘記門的偏置加 1排截。 將其設置為 True 同時還會強制 bias_initializer="zeros"嫌蚤。 這個建議來自 Jozefowicz et al.
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)断傲。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)脱吱。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)。
  • activity_regularizer: 運用到層輸出(它的激活值)的正則化函數(shù) (詳見 regularizer)认罩。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)箱蝠。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)垦垂。
  • return_sequences: 布爾值宦搬。是返回輸出序列中的最后一個輸出,還是全部序列劫拗。
  • go_backwards: 布爾值 (默認 False)间校。 如果為 True,則向后處理輸入序列并返回相反的序列页慷。
  • stateful: 布爾值 (默認 False)憔足。 如果為 True胁附,則批次中索引 i 處的每個樣品的最后狀態(tài) 將用作下一批次中索引 i 樣品的初始狀態(tài)。
  • dropout: 在 0 和 1 之間的浮點數(shù)滓彰。 單元的丟棄比例控妻,用于輸入的線性轉換。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)揭绑。 單元的丟棄比例弓候,用于循環(huán)層狀態(tài)的線性轉換。

輸入尺寸

  • 如果 data_format='channels_first'他匪, 輸入 5D 張量弓叛,尺寸為: (samples,time, channels, rows, cols)
  • 如果 data_format='channels_last'诚纸, 輸入 5D 張量,尺寸為: (samples,time, rows, cols, channels)陈惰。

輸出尺寸

  • 如果 return_sequences畦徘,
    • 如果 data_format='channels_first',返回 5D 張量抬闯,尺寸為:(samples, time, filters, output_row, output_col)井辆。
    • 如果 data_format='channels_last',返回 5D 張量溶握,尺寸為:(samples, time, output_row, output_col, filters)杯缺。
  • 否則,
    • 如果 data_format ='channels_first'睡榆,返回 4D 張量萍肆,尺寸為:(samples, filters, output_row, output_col)
    • 如果 data_format='channels_last'胀屿,返回 4D 張量塘揣,尺寸為:(samples, output_row, output_col, filters)

o_row 和 o_col 取決于 filter 和 padding 的尺寸宿崭。

異常

  • ValueError: 無效的構造參數(shù)亲铡。

參考文獻


[source]

SimpleRNNCell

keras.layers.SimpleRNNCell(units, activation='tanh', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0)

SimpleRNN 的單元類奖蔓。

參數(shù)

  • units: 正整數(shù),輸出空間的維度讹堤。
  • activation: 要使用的激活函數(shù) (詳見 activations)吆鹤。 默認:雙曲正切 (tanh)。 如果傳入 None洲守,則不使用激活函數(shù) (即 線性激活:a(x) = x)檀头。
  • use_bias: 布爾值轰异,該層是否使用偏置向量。
  • kernel_initializer: kernel 權值矩陣的初始化器暑始, 用于輸入的線性轉換 (詳見 initializers)搭独。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)廊镜。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)牙肝。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)嗤朴。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)配椭。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)雹姊。
  • dropout: 在 0 和 1 之間的浮點數(shù)股缸。 單元的丟棄比例,用于輸入的線性轉換吱雏。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)敦姻。 單元的丟棄比例,用于循環(huán)層狀態(tài)的線性轉換歧杏。

[source]

GRUCell

keras.layers.GRUCell(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, reset_after=False)

GRU 層的單元類镰惦。

參數(shù)

  • units: 正整數(shù),輸出空間的維度犬绒。
  • activation: 要使用的激活函數(shù) (詳見 activations)旺入。 默認:雙曲正切 (tanh)。 如果傳入 None凯力,則不使用激活函數(shù) (即 線性激活:a(x) = x)茵瘾。
  • recurrent_activation: 用于循環(huán)時間步的激活函數(shù) (詳見 activations)。 默認:分段線性近似 sigmoid (hard_sigmoid)咐鹤。 如果傳入 None龄捡,則不使用激活函數(shù) (即 線性激活:a(x) = x)。
  • use_bias: 布爾值慷暂,該層是否使用偏置向量聘殖。
  • kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)行瑞。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器奸腺,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)血久。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)突照。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)氧吐。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)讹蘑。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)末盔。
  • dropout: 在 0 和 1 之間的浮點數(shù)。 單元的丟棄比例座慰,用于輸入的線性轉換陨舱。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)。 單元的丟棄比例版仔,用于循環(huán)層狀態(tài)的線性轉換游盲。
  • implementation: 實現(xiàn)模式,1 或 2蛮粮。 模式 1 將把它的操作結構化為更多的小的點積和加法操作益缎, 而模式 2 將把它們分批到更少,更大的操作中然想。 這些模式在不同的硬件和不同的應用中具有不同的性能配置文件莺奔。
  • reset_after:
  • GRU 公約 (是否在矩陣乘法之前或者之后使用重置門)。 False = "before" (默認)变泄,Ture = "after" ( CuDNN 兼容)令哟。
  • reset_after: GRU convention (whether to apply reset gate after or before matrix multiplication). False = "before" (default), True = "after" (CuDNN compatible).

[source]

LSTMCell

keras.layers.LSTMCell(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1)

LSTM 層的單元類。

參數(shù)

  • units: 正整數(shù)杖刷,輸出空間的維度。
  • activation: 要使用的激活函數(shù) (詳見 activations)驳癌。 默認:雙曲正切(tanh)滑燃。 如果傳入 None,則不使用激活函數(shù) (即 線性激活:a(x) = x)颓鲜。
  • recurrent_activation: 用于循環(huán)時間步的激活函數(shù) (詳見 activations)表窘。 默認:分段線性近似 sigmoid (hard_sigmoid)。
  • use_bias: 布爾值甜滨,該層是否使用偏置向量乐严。
  • kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)衣摩。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器昂验,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • unit_forget_bias: 布爾值艾扮。 如果為 True既琴,初始化時,將忘記門的偏置加 1泡嘴。 將其設置為 True 同時還會強制 bias_initializer="zeros"甫恩。 這個建議來自 Jozefowicz et al.
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)酌予。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)磺箕。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)奖慌。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)松靡。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)简僧。
  • dropout: 在 0 和 1 之間的浮點數(shù)。 單元的丟棄比例击困,用于輸入的線性轉換涎劈。
  • recurrent_dropout: 在 0 和 1 之間的浮點數(shù)。 單元的丟棄比例阅茶,用于循環(huán)層狀態(tài)的線性轉換蛛枚。
  • implementation: 實現(xiàn)模式,1 或 2脸哀。 模式 1 將把它的操作結構化為更多的小的點積和加法操作蹦浦, 而模式 2 將把它們分批到更少,更大的操作中撞蜂。 這些模式在不同的硬件和不同的應用中具有不同的性能配置文件盲镶。

[source]

CuDNNGRU

keras.layers.CuDNNGRU(units, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False)

CuDNN 支持的快速 GRU 實現(xiàn)。

只能以 TensorFlow 后端運行在 GPU 上蝌诡。

參數(shù)

  • units: 正整數(shù)溉贿,輸出空間的維度。
  • kernel_initializer: kernel 權值矩陣的初始化器浦旱, 用于輸入的線性轉換 (詳見 initializers)颁虐。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器僻他,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)笛园。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)佃牛。
  • activity_regularizer: Regularizer function applied to the output of the layer (its "activation"). (see regularizer).
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)兆衅。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)渠旁。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)。
  • return_sequences: 布爾值镰禾。是返回輸出序列中的最后一個輸出皿曲,還是全部序列。
  • return_state: 布爾值吴侦。除了輸出之外是否返回最后一個狀態(tài)谷饿。
  • stateful: 布爾值 (默認 False)。 如果為 True妈倔,則批次中索引 i 處的每個樣品的最后狀態(tài) 將用作下一批次中索引 i 樣品的初始狀態(tài)博投。

[source]

CuDNNLSTM

keras.layers.CuDNNLSTM(units, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False)

CuDNN 支持的快速 LSTM 實現(xiàn)。

只能以 TensorFlow 后端運行在 GPU 上盯蝴。

參數(shù)

  • units: 正整數(shù)毅哗,輸出空間的維度听怕。
  • kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)虑绵。
  • unit_forget_bias: 布爾值尿瞭。 如果為 True,初始化時翅睛,將忘記門的偏置加 1声搁。 將其設置為 True 同時還會強制 bias_initializer="zeros"。 這個建議來自 Jozefowicz et al.捕发。
  • recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器疏旨,用于循環(huán)層狀態(tài)的線性轉換 (詳見 initializers)。
  • bias_initializer:偏置向量的初始化器 (詳見initializers).
  • kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)扎酷。
  • recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數(shù) (詳見 regularizer)檐涝。
  • bias_regularizer: 運用到偏置向量的正則化函數(shù) (詳見 regularizer)。
  • activity_regularizer: 運用到層輸出(它的激活值)的正則化函數(shù) (詳見 regularizer)法挨。
  • kernel_constraint: 運用到 kernel 權值矩陣的約束函數(shù) (詳見 constraints)谁榜。
  • recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數(shù) (詳見 constraints)。
  • bias_constraint: 運用到偏置向量的約束函數(shù) (詳見 constraints)凡纳。
  • return_sequences: 布爾值窃植。是返回輸出序列中的最后一個輸出,還是全部序列荐糜。
  • return_state: 布爾值巷怜。除了輸出之外是否返回最后一個狀態(tài)。
  • stateful: 布爾值 (默認 False)狞尔。 如果為 True丛版,則批次中索引 i 處的每個樣品的最后狀態(tài) 將用作下一批次中索引 i 樣品的初始狀態(tài)巩掺。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末偏序,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子胖替,更是在濱河造成了極大的恐慌研儒,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件独令,死亡現(xiàn)場離奇詭異端朵,居然都是意外死亡,警方通過查閱死者的電腦和手機燃箭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門冲呢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人招狸,你說我怎么就攤上這事敬拓×谑恚” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵乘凸,是天一觀的道長厕诡。 經常有香客問我,道長营勤,這世上最難降的妖魔是什么灵嫌? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮葛作,結果婚禮上寿羞,老公的妹妹穿的比我還像新娘。我一直安慰自己进鸠,他們只是感情好稠曼,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著客年,像睡著了一般霞幅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上量瓜,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天司恳,我揣著相機與錄音,去河邊找鬼绍傲。 笑死扔傅,一個胖子當著我的面吹牛,可吹牛的內容都是我干的烫饼。 我是一名探鬼主播猎塞,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杠纵!你這毒婦竟也來了荠耽?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤比藻,失蹤者是張志新(化名)和其女友劉穎铝量,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體银亲,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡慢叨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了务蝠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拍谐。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出轩拨,到底是詐尸還是另有隱情力穗,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布气嫁,位于F島的核電站当窗,受9級特大地震影響,放射性物質發(fā)生泄漏寸宵。R本人自食惡果不足惜崖面,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梯影。 院中可真熱鬧巫员,春花似錦、人聲如沸甲棍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽感猛。三九已至七扰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陪白,已是汗流浹背颈走。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咱士,地道東北人立由。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像序厉,于是被迫代替她去往敵國和親锐膜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容