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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。