public class GRU extends RecurrentBlock
GRU is an abstract implementation of recurrent neural networks which applies GRU (Gated
Recurrent Unit) recurrent layer to input.
Current implementation refers the [paper](http://arxiv.org/abs/1406.1078) - Gated Recurrent Unit. The definition of GRU here is slightly different from the paper but compatible with CUDNN.
The GRU operator is formulated as below:
$$ \begin{split}\begin{array}{ll} r_t = \mathrm{sigmoid}(W_{ir} x_t + b_{ir} + W_{hr} h_{(t-1)} + b_{hr}) \\ z_t = \mathrm{sigmoid}(W_{iz} x_t + b_{iz} + W_{hz} h_{(t-1)} + b_{hz}) \\ n_t = \tanh(W_{in} x_t + b_{in} + r_t * (W_{hn} h_{(t-1)}+ b_{hn})) \\ h_t = (1 - z_t) * n_t + z_t * h_{(t-1)} \\ \end{array}\end{split} $$
| Modifier and Type | Class and Description |
|---|---|
static class |
GRU.Builder
|
RecurrentBlock.BaseBuilder<T extends RecurrentBlock.BaseBuilder>beginState, dropRate, gates, mode, numDirections, numStackedLayers, stateOutputs, stateSize, useSequenceLengthchildren, inputNames, inputShapes, parameters, parameterShapeCallbacks, version| Modifier and Type | Method and Description |
|---|---|
static GRU.Builder |
builder()
Creates a builder to build a
GRU. |
beforeInitialize, forward, getOutputShapes, getParameterShape, isBidirectional, loadMetadata, opInputs, resetBeginStates, setBeginStates, setStateOutputs, updateInputLayoutToTNC, validateInputSizeaddChildBlock, addParameter, addParameter, addParameter, cast, clear, describeInput, getChildren, getDirectParameters, getParameters, initialize, initializeChildBlocks, isInitialized, loadParameters, readInputShapes, saveInputShapes, saveMetadata, saveParameters, setInitializer, setInitializer, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforward, forward, validateLayoutpublic static GRU.Builder builder()
GRU.