mxnet.gluon.contrib.rnn.LSTMPCell¶
-
class
mxnet.gluon.contrib.rnn.
LSTMPCell
(hidden_size, projection_size, i2h_weight_initializer=None, h2h_weight_initializer=None, h2r_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', input_size=0, prefix=None, params=None)[source]¶ Long-Short Term Memory Projected (LSTMP) network cell. (https://arxiv.org/abs/1402.1128)
Each call computes the following function:
\[\begin{split}\begin{array}{ll} i_t = sigmoid(W_{ii} x_t + b_{ii} + W_{ri} r_{(t-1)} + b_{ri}) \\ f_t = sigmoid(W_{if} x_t + b_{if} + W_{rf} r_{(t-1)} + b_{rf}) \\ g_t = \tanh(W_{ig} x_t + b_{ig} + W_{rc} r_{(t-1)} + b_{rg}) \\ o_t = sigmoid(W_{io} x_t + b_{io} + W_{ro} r_{(t-1)} + b_{ro}) \\ c_t = f_t * c_{(t-1)} + i_t * g_t \\ h_t = o_t * \tanh(c_t) \\ r_t = W_{hr} h_t \end{array}\end{split}\]where \(r_t\) is the projected recurrent activation at time t, \(h_t\) is the hidden state at time t, \(c_t\) is the cell state at time t, \(x_t\) is the input at time t, and \(i_t\), \(f_t\), \(g_t\), \(o_t\) are the input, forget, cell, and out gates, respectively.
- Parameters
hidden_size (int) – Number of units in cell state symbol.
projection_size (int) – Number of units in output symbol.
i2h_weight_initializer (str or Initializer) – Initializer for the input weights matrix, used for the linear transformation of the inputs.
h2h_weight_initializer (str or Initializer) – Initializer for the recurrent weights matrix, used for the linear transformation of the hidden state.
h2r_weight_initializer (str or Initializer) – Initializer for the projection weights matrix, used for the linear transformation of the recurrent state.
i2h_bias_initializer (str or Initializer, default 'lstmbias') – Initializer for the bias vector. By default, bias for the forget gate is initialized to 1 while all other biases are initialized to zero.
h2h_bias_initializer (str or Initializer) – Initializer for the bias vector.
prefix (str, default
'lstmp_
’) – Prefix for name of Block`s (and name of weight if params is `None).params (Parameter or None) – Container for weight sharing between cells. Created if None.
Inputs –
data: input tensor with shape (batch_size, input_size).
states: a list of two initial recurrent state tensors, with shape (batch_size, projection_size) and (batch_size, hidden_size) respectively.
Outputs –
out: output tensor with shape (batch_size, num_hidden).
next_states: a list of two output recurrent state tensors. Each has the same shape as states.
-
__init__
(hidden_size, projection_size, i2h_weight_initializer=None, h2h_weight_initializer=None, h2r_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', input_size=0, prefix=None, params=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
(hidden_size, projection_size[, …])Initialize self.
apply
(fn)Applies
fn
recursively to every child block as well as self.begin_state
([batch_size, func])Initial state for this cell.
cast
(dtype)Cast this Block to use another data type.
collect_params
([select])Returns a
ParameterDict
containing thisBlock
and all of its children’s Parameters(default), also can returns the selectParameterDict
which match some given regular expressions.export
(path[, epoch])Export HybridBlock to json format that can be loaded by SymbolBlock.imports, mxnet.mod.Module or the C++ interface.
forward
(inputs, states)Unrolls the recurrent cell for one time step.
hybrid_forward
(F, inputs, states, …)Overrides to construct symbolic graph for this Block.
hybridize
([active])Activates or deactivates
HybridBlock
s recursively.infer_shape
(*args)Infers shape of Parameters from inputs.
infer_type
(*args)Infers data type of Parameters from inputs.
initialize
([init, ctx, verbose, force_reinit])Initializes
Parameter
s of thisBlock
and its children.load_parameters
(filename[, ctx, …])Load parameters from file previously saved by save_parameters.
load_params
(filename[, ctx, allow_missing, …])[Deprecated] Please use load_parameters.
name_scope
()Returns a name space object managing a child
Block
and parameter names.register_child
(block[, name])Registers block as a child of self.
register_forward_hook
(hook)Registers a forward hook on the block.
register_forward_pre_hook
(hook)Registers a forward pre-hook on the block.
reset
()Reset before re-using the cell for another graph.
save_parameters
(filename)Save parameters to file.
save_params
(filename)[Deprecated] Please use save_parameters.
state_info
([batch_size])shape and layout information of states
summary
(*inputs)Print the summary of the model’s output and parameters.
unroll
(length, inputs[, begin_state, …])Unrolls an RNN cell across time steps.
Attributes
name
Name of this
Block
, without ‘_’ in the end.params
Returns this
Block
’s parameter dictionary (does not include its children’s parameters).prefix
Prefix of this
Block
.