# tf_agents.networks.network.get_state_spec

<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/networks/network.py#L715-L752) |

Extracts the state spec from a layer.

    tf_agents.networks.network.get_state_spec(
        layer: tf.keras.layers.Layer
    ) -> https://www.tensorflow.org/agents/api_docs/python/tf_agents/typing/types/NestedTensorSpec

<br />

<br />

<br />

| ## Args ||
|---|---|
| `layer` | The layer to extract from; can be a `Network`. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| The state spec. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `TypeError` | If `layer` is a subclass of [`tf.keras.layers.RNN`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/RNN) (it must be wrapped by an `RNNWrapper` object). |
| `ValueError` | If `layer` is a Keras layer and `create_variables` has not been called on it. |

<br />