Fully-connected RNN,輸出將反饋到輸入。
用法
tf.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, **kwargs
)
參數
-
units
正整數,輸出空間的維度。 -
activation
要使用的激活函數。默認值:雙曲正切(tanh
)。如果您通過 None,則不應用激活(即 "linear" 激活:a(x) = x
)。 -
use_bias
布爾值,(默認True
),圖層是否使用偏置向量。 -
kernel_initializer
kernel
權重矩陣的初始化器,用於輸入的線性變換。默認值:glorot_uniform
。 -
recurrent_initializer
recurrent_kernel
權重矩陣的初始化器,用於循環狀態的線性變換。默認值:orthogonal
。 -
bias_initializer
偏置向量的初始化器。默認值:zeros
。 -
kernel_regularizer
應用於kernel
權重矩陣的正則化函數。默認值:None
。 -
recurrent_regularizer
應用於recurrent_kernel
權重矩陣的正則化函數。默認值:None
。 -
bias_regularizer
應用於偏置向量的正則化函數。默認值:None
。 -
activity_regularizer
應用於層輸出的正則化函數("activation")。默認值:None
。 -
kernel_constraint
應用於kernel
權重矩陣的約束函數。默認值:None
。 -
recurrent_constraint
應用於recurrent_kernel
權重矩陣的約束函數。默認值:None
。 -
bias_constraint
應用於偏置向量的約束函數。默認值:None
。 -
dropout
在 0 和 1 之間浮點數。為輸入的線性變換而下降的單位分數。默認值:0。 -
recurrent_dropout
在 0 和 1 之間浮點數。用於循環狀態的線性變換的單位的分數。默認值:0。 -
return_sequences
布爾值。是返回輸出序列中的最後一個輸出,還是返回完整序列。默認值:False
。 -
return_state
布爾值。是否返回除了輸出之外的最後一個狀態。默認值:False
-
go_backwards
布爾值(默認為 False)。如果為 True,則反向處理輸入序列並返回反向序列。 -
stateful
布爾值(默認為 False)。如果為 True,則批次中索引 i 處每個樣本的最後狀態將用作下一批中索引 i 的樣本的初始狀態。 -
unroll
布爾值(默認為 False)。如果為 True,則網絡將展開,否則將使用符號循環。展開可以speed-up一個RNN,雖然它往往更多memory-intensive。展開僅適用於短序列。
屬性
-
activation
-
bias_constraint
-
bias_initializer
-
bias_regularizer
-
dropout
-
kernel_constraint
-
kernel_initializer
-
kernel_regularizer
-
recurrent_constraint
-
recurrent_dropout
-
recurrent_initializer
-
recurrent_regularizer
-
states
-
units
-
use_bias
有關 RNN API 使用的詳細信息,請參閱 Keras RNN API 指南。
調用參數:
inputs
:一個 3D 張量,有形狀[batch, timesteps, feature]
.mask
: 形狀的二進製張量[batch, timesteps]
指示是否應屏蔽給定的時間步長。個人True
條目指示應使用相應的時間步長,而False
entry 表示應該忽略相應的時間步長。training
:Python 布爾值,指示層應該在訓練模式還是推理模式下運行。此參數在調用時傳遞給單元格。這僅在以下情況下才相關dropout
或者recurrent_dropout
被使用。initial_state
:要傳遞給單元的第一次調用的初始狀態張量列表。
例子:
inputs = np.random.random([32, 10, 8]).astype(np.float32)
simple_rnn = tf.keras.layers.SimpleRNN(4)
output = simple_rnn(inputs) # The output has shape `[32, 4]`.
simple_rnn = tf.keras.layers.SimpleRNN(
4, return_sequences=True, return_state=True)
# whole_sequence_output has shape `[32, 10, 4]`.
# final_state has shape `[32, 4]`.
whole_sequence_output, final_state = simple_rnn(inputs)
相關用法
- Python tf.keras.layers.SimpleRNNCell用法及代碼示例
- Python tf.keras.layers.Subtract用法及代碼示例
- Python tf.keras.layers.StackedRNNCells用法及代碼示例
- Python tf.keras.layers.StringLookup用法及代碼示例
- Python tf.keras.layers.Softmax用法及代碼示例
- Python tf.keras.layers.InputLayer用法及代碼示例
- Python tf.keras.layers.serialize用法及代碼示例
- Python tf.keras.layers.Dropout用法及代碼示例
- Python tf.keras.layers.maximum用法及代碼示例
- Python tf.keras.layers.LayerNormalization用法及代碼示例
- Python tf.keras.layers.Conv2D用法及代碼示例
- Python tf.keras.layers.RepeatVector用法及代碼示例
- Python tf.keras.layers.Multiply用法及代碼示例
- Python tf.keras.layers.Activation用法及代碼示例
- Python tf.keras.layers.Conv1D用法及代碼示例
- Python tf.keras.layers.experimental.preprocessing.PreprocessingLayer.adapt用法及代碼示例
- Python tf.keras.layers.CategoryEncoding用法及代碼示例
- Python tf.keras.layers.subtract用法及代碼示例
- Python tf.keras.layers.experimental.preprocessing.HashedCrossing用法及代碼示例
- Python tf.keras.layers.ZeroPadding3D用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.layers.SimpleRNN。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。