【tensorflow-keras-GRU】keras.layers.GRU 门限循环单元网络(Gated Recurrent Unit)
生活随笔
收集整理的這篇文章主要介紹了
【tensorflow-keras-GRU】keras.layers.GRU 门限循环单元网络(Gated Recurrent Unit)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
循環層 Recurrent - Keras 中文文檔 https://keras.io/zh/layers/recurrent/#gru
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)門限循環單元網絡(Gated Recurrent Unit) - Cho et al. 2014.
有兩種變體。默認的是基于 1406.1078v3 的實現,同時在矩陣乘法之前將復位門應用于隱藏狀態。 另一種則是基于 1406.1078v1 的實現,它包括順序倒置的操作。
第二種變體與 CuDNNGRU(GPU-only) 兼容并且允許在 CPU 上進行推理。 因此它對于 kernel 和 recurrent_kernel 有可分離偏置。 使用 'reset_after'=True 和 recurrent_activation='sigmoid' 。
參數
- units: 正整數,輸出空間的維度。
- activation: 要使用的激活函數 (詳見 activations)。 默認:雙曲正切 (tanh)。 如果傳入
None,則不使用激活函數 (即 線性激活:a(x) = x)。 - recurrent_activation: 用于循環時間步的激活函數 (詳見 activations)。 默認:分段線性近似
sigmoid (hard_sigmoid)。 如果傳入 None,則不使用激活函數 (即 線性激活:a(x) = x)。 - use_bias: 布爾值,該層是否使用偏置向量。
- kernel_initializer: kernel 權值矩陣的初始化器, 用于輸入的線性轉換 (詳見 initializers)。
- recurrent_initializer: recurrent_kernel 權值矩陣 的初始化器,用于循環層狀態的線性轉換 (詳見initializers)。
- bias_initializer:偏置向量的初始化器 (詳見initializers).
- kernel_regularizer: 運用到 kernel 權值矩陣的正則化函數 (詳見 regularizer)。
- recurrent_regularizer: 運用到 recurrent_kernel 權值矩陣的正則化函數 (詳見
regularizer)。 - bias_regularizer: 運用到偏置向量的正則化函數 (詳見 regularizer)。
- activity_regularizer: 運用到層輸出(它的激活值)的正則化函數 (詳見 regularizer)。
- kernel_constraint: 運用到 kernel 權值矩陣的約束函數 (詳見 constraints)。
- recurrent_constraint: 運用到 recurrent_kernel 權值矩陣的約束函數 (詳見
constraints)。 - bias_constraint: 運用到偏置向量的約束函數 (詳見 constraints)。
- dropout: 在 0 和 1 之間的浮點數。 單元的丟棄比例,用于輸入的線性轉換。
- recurrent_dropout: 在 0 和 1 之間的浮點數。 單元的丟棄比例,用于循環層狀態的線性轉換。
- implementation: 實現模式,1 或 2。 模式 1 將把它的操作結構化為更多的小的點積和加法操作, 而模式 2將把它們分批到更少,更大的操作中。 這些模式在不同的硬件和不同的應用中具有不同的性能配置文件。
- return_sequences: 布爾值。是返回輸出序列中的最后一個輸出,還是全部序列。
- return_state: 布爾值。除了輸出之外是否返回最后一個狀態。
- go_backwards: 布爾值 (默認 False)。 如果為 True,則向后處理輸入序列并返回相反的序列。
- stateful: 布爾值 (默認 False)。 如果為 True,則批次中索引 i 處的每個樣品的最后狀態 將用作下一批次中索引 i樣品的初始狀態。
- unroll: 布爾值 (默認 False)。 如果為 True,則網絡將展開,否則將使用符號循環。 展開可以加速 RNN,但它往往會占用更多的內存。 展開只適用于短序列。
- reset_after:
- GRU 公約 (是否在矩陣乘法之前或者之后使用重置門)。 False =「之前」(默認),Ture =「之后」( CuDNN 兼容)。
總結
以上是生活随笔為你收集整理的【tensorflow-keras-GRU】keras.layers.GRU 门限循环单元网络(Gated Recurrent Unit)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 年终奖是并入合算还是不并入
- 下一篇: 【tensorflow-keras-Ba