# tf_agents.keras_layers.RNNWrapper

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/agents/blob/v0.19.0/tf_agents/keras_layers/rnn_wrapper.py#L29-L198) |

Wraps a Keras RNN/LSTM/GRU layer to make network state more consistent.

#### View aliases


**Main aliases**

[`tf_agents.keras_layers.rnn_wrapper.RNNWrapper`](https://www.tensorflow.org/agents/api_docs/python/tf_agents/keras_layers/RNNWrapper)

<br />

    tf_agents.keras_layers.RNNWrapper(
        layer: tf.keras.layers.RNN, **kwargs
    )

<br />

<br />

<br />

| ## Args ||
|---|---|
| `layer` | An instance of [`tf.keras.layers.RNN`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/RNN) or subclasses (including `tf.keras.layers.{LSTM,GRU,...}`. |
| `**kwargs` | Extra args to `Layer` parent class. |

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `TypeError` | If `layer` is not a subclass of [`tf.keras.layers.RNN`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/RNN). |
| `NotImplementedError` | If `layer` was created with `return_state == False`. |
| `NotImplementederror` | If `layer` was created with `return_sequences == False`. |

<br />

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `cell` | Return the `cell` underlying the RNN layer. |
| `state_size` | Return the `state_size` of the cell underlying the RNN layer. |
| `wrapped_layer` | Return the wrapped RNN layer. |

<br />

## Methods

### `get_initial_state`

[View source](https://github.com/tensorflow/agents/blob/v0.19.0/tf_agents/keras_layers/rnn_wrapper.py#L137-L148)

    get_initial_state(
        inputs=None
    )