mxnet.gluon.rnn.GRUCell¶
-
class
mxnet.gluon.rnn.GRUCell(hidden_size, i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', input_size=0, prefix=None, params=None)[source]¶ Gated Rectified Unit (GRU) network cell. Note: this is an implementation of the cuDNN version of GRUs (slight modification compared to Cho et al. 2014; the reset gate \(r_t\) is applied after matrix multiplication).
Each call computes the following function:
\[\begin{split}\begin{array}{ll} r_t = sigmoid(W_{ir} x_t + b_{ir} + W_{hr} h_{(t-1)} + b_{hr}) \\ i_t = sigmoid(W_{ii} x_t + b_{ii} + W_{hi} h_{(t-1)} + b_{hi}) \\ n_t = \tanh(W_{in} x_t + b_{in} + r_t * (W_{hn} h_{(t-1)} + b_{hn})) \\ h_t = (1 - i_t) * n_t + i_t * h_{(t-1)} \\ \end{array}\end{split}\]where \(h_t\) is the hidden state at time t, \(x_t\) is the hidden state of the previous layer at time t or \(input_t\) for the first layer, and \(r_t\), \(i_t\), \(n_t\) are the reset, input, and new gates, respectively.
- Parameters
hidden_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 recurrent state.
i2h_bias_initializer (str or Initializer, default 'zeros') – Initializer for the bias vector.
h2h_bias_initializer (str or Initializer, default 'zeros') – Initializer for the bias vector.
prefix (str, default
'gru_') – prefix for name of Block`s (and name of weight if params is `None).params (Parameter or None, default None) – Container for weight sharing between cells. Created if None.
- Inputs:
data: input tensor with shape (batch_size, input_size).
states: a list of one initial recurrent state tensor with shape (batch_size, num_hidden).
- Outputs:
out: output tensor with shape (batch_size, num_hidden).
next_states: a list of one output recurrent state tensor with the same shape as states.
-
__init__(hidden_size, i2h_weight_initializer=None, h2h_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[, …])Initialize self.
apply(fn)Applies
fnrecursively 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
ParameterDictcontaining thisBlockand all of its children’s Parameters(default), also can returns the selectParameterDictwhich 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
HybridBlocks 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
Parameters of thisBlockand 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
Blockand 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
nameName of this
Block, without ‘_’ in the end.paramsReturns this
Block’s parameter dictionary (does not include its children’s parameters).prefixPrefix of this
Block.