用法:
class mxnet.gluon.rnn.LSTM(hidden_size, num_layers=1, layout='TNC', dropout=0, bidirectional=False, input_size=0, i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', projection_size=None, h2r_weight_initializer=None, state_clip_min=None, state_clip_max=None, state_clip_nan=False, dtype='float32', **kwargs)
- hidden_size:(
int
) - 隐藏状态 h 的特征数量。 - num_layers:(
int
,
default 1
) - 循环层数。 - layout:(
str
,
default 'TNC'
) - 输入和输出张量的格式。 T、N 和 C 分别代表序列长度、批量大小和特征维度。 - dropout:(
float
,
default 0
) - 如果非零,则在除最后一层之外的每个 RNN 层的输出上引入一个 dropout 层。 - bidirectional:(
bool
,
default False
) - 如果True
, 成为一个双向 RNN。 - i2h_weight_initializer:(
str
or
Initializer
) - 输入权重矩阵的初始化器,用于输入的线性变换。 - h2h_weight_initializer:(
str
or
Initializer
) - 循环权重矩阵的初始化器,用于循环状态的线性变换。 - i2h_bias_initializer:(
str
or
Initializer
,
default 'lstmbias'
) - 偏置向量的初始化器。默认情况下,遗忘门的偏置初始化为 1,而所有其他偏置初始化为零。 - h2h_bias_initializer:(
str
or
Initializer
) - 偏置向量的初始化器。 - projection_size:(
int
,
default None
) - 投影后的特征数。 - h2r_weight_initializer:(
str
or
Initializer
,
default None
) - 投影循环权重矩阵的初始化器,用于循环状态到投影空间的线性变换。 - state_clip_min:(
float
or
None
,
default None
) - LSTM 状态的最小剪辑值。此选项必须与state_clip_max 一起使用。如果为 None,则不应用剪裁。 - state_clip_max:(
float
or
None
,
default None
) - LSTM 状态的最大剪辑值。此选项必须与state_clip_min 一起使用。如果为 None,则不应用剪裁。 - state_clip_nan:(
boolean
,
default False
) - 是否通过将 NaN 裁剪为最小/最大值来阻止其在状态中传播。如果未指定裁剪范围,则忽略此选项。 - dtype:(
str
,
default 'float32'
) - 类型初始化参数和默认状态为 - input_size:(
int
,
default 0
) - 输入 x 中预期特征的数量。如果未指定,将从输入推断。 - prefix:(
str
or
None
) - 这个前缀Block
. - params:(
ParameterDict
或者None
) - 为此共享参数Block
.
- hidden_size:(
参数:
基础:
mxnet.gluon.rnn.rnn_layer._RNNLayer
将多层长短期 memory (LSTM) RNN 应用于输入序列。
对于输入序列中的每个元素,每一层计算以下函数:
其中
t
的隐藏状态, 是时间t
的单元状态, 是前一层在时间t
或 的隐藏状态层, 、 、 、 分别是输入、遗忘、单元和输出门。 是时间- 输入:
- data:: 输入带形状的张量
(sequence_length, batch_size, input_size)
当layout
是“TNC”。对于其他布局,使用 transpose() 运算符相应地排列尺寸,这会增加性能开销。考虑在数据批处理步骤中在 TNC 布局中创建批处理。 - states::两个初始循环状态张量的列表。每个都有形状
(num_layers, batch_size, num_hidden)
.如果bidirectional
为真,形状将改为(2*num_layers, batch_size, num_hidden)
.如果states
为无,零将用作默认开始状态。
- data:: 输入带形状的张量
- 输出:
- out:: 输出具有形状的张量
(sequence_length, batch_size, num_hidden)
当layout
是“TNC”。如果bidirectional
为真,输出形状将改为(sequence_length, batch_size, 2*num_hidden)
- out_states::两个输出循环状态张量的列表,其形状与
states
.如果states
是无out_states
不会被退回。
- out:: 输出具有形状的张量
例子:
>>> layer = mx.gluon.rnn.LSTM(100, 3) >>> layer.initialize() >>> input = mx.nd.random.uniform(shape=(5, 3, 10)) >>> # by default zeros are used as begin state >>> output = layer(input) >>> # manually specify begin state. >>> h0 = mx.nd.random.uniform(shape=(3, 3, 100)) >>> c0 = mx.nd.random.uniform(shape=(3, 3, 100)) >>> output, hn = layer(input, [h0, c0])
相关用法
- Python mxnet.gluon.rnn.RNN用法及代码示例
- Python mxnet.gluon.rnn.GRU用法及代码示例
- Python mxnet.gluon.nn.SymbolBlock用法及代码示例
- Python mxnet.gluon.HybridBlock.collect_params用法及代码示例
- Python mxnet.gluon.data.vision.datasets.ImageFolderDataset用法及代码示例
- Python mxnet.gluon.data.vision.transforms.CenterCrop用法及代码示例
- Python mxnet.gluon.contrib.nn.Concurrent用法及代码示例
- Python mxnet.gluon.SymbolBlock.imports用法及代码示例
- Python mxnet.gluon.Block用法及代码示例
- Python mxnet.gluon.contrib.nn.PixelShuffle2D用法及代码示例
- Python mxnet.gluon.Block.name_scope用法及代码示例
- Python mxnet.gluon.nn.Sequential用法及代码示例
- Python mxnet.gluon.SymbolBlock.collect_params用法及代码示例
- Python mxnet.gluon.nn.InstanceNorm用法及代码示例
- Python mxnet.gluon.contrib.data.sampler.IntervalSampler用法及代码示例
- Python mxnet.gluon.data.vision.transforms.Normalize用法及代码示例
- Python mxnet.gluon.contrib.nn.PixelShuffle3D用法及代码示例
- Python mxnet.gluon.nn.HybridSequential用法及代码示例
- Python mxnet.gluon.nn.Block用法及代码示例
- Python mxnet.gluon.HybridBlock用法及代码示例
- Python mxnet.gluon.nn.SymbolBlock.imports用法及代码示例
- Python mxnet.gluon.data.vision.transforms.Resize用法及代码示例
- Python mxnet.gluon.nn.ReflectionPad2D用法及代码示例
- Python mxnet.gluon.SymbolBlock用法及代码示例
- Python mxnet.gluon.Parameter.initialize用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.gluon.rnn.LSTM。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。