# tf.contrib.rnn.FusedRNNCell

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/rnn/python/ops/fused_rnn_cell.py#L30-L79) |

Abstract object representing a fused RNN cell.

A fused RNN cell represents the entire RNN expanded over the time
dimension. In effect, this represents an entire recurrent network.

Unlike RNN cells which are subclasses of `rnn_cell.RNNCell`, a `FusedRNNCell`
operates on the entire time sequence at once, by putting the loop over time
inside the cell. This usually leads to much more efficient, but more complex
and less flexible implementations.

Every `FusedRNNCell` must implement `__call__` with the following signature.

## Methods

### `__call__`

[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/rnn/python/ops/fused_rnn_cell.py#L44-L79)

    @abc.abstractmethod
    __call__(
        inputs, initial_state=None, dtype=None, sequence_length=None, scope=None
    )

Run this fused RNN on inputs, starting from the given state.

<br />

<br />

<br />

| Args ||
|---|---|
| `inputs` | `3-D` tensor with shape `[time_len x batch_size x input_size]` or a list of `time_len` tensors of shape `[batch_size x input_size]`. |
| `initial_state` | either a tensor with shape `[batch_size x state_size]` or a tuple with shapes `[batch_size x s] for s in state_size`, if the cell takes tuples. If this is not provided, the cell is expected to create a zero initial state of type `dtype`. |
| `dtype` | The data type for the initial state and expected output. Required if `initial_state` is not provided or RNN state has a heterogeneous dtype. |
| `sequence_length` | Specifies the length of each sequence in inputs. An `int32` or `int64` vector (tensor) size `[batch_size]`, values in `[0, time_len)`. Defaults to `time_len` for each element. |
| `scope` | `VariableScope` or `string` for the created subgraph; defaults to class name. |

<br />

<br />

<br />

| Returns ||
|---|---|
| A pair containing: <br /> - Output: A `3-D` tensor of shape `[time_len x batch_size x output_size]` or a list of `time_len` tensors of shape `[batch_size x output_size]`, to match the type of the `inputs`. - Final state: Either a single `2-D` tensor, or a tuple of tensors matching the arity and shapes of `initial_state`. ||

<br />