# tf.keras.layers.Reshape

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/layers/reshaping/reshape.py#L27-L148) |

Layer that reshapes inputs into the given shape.

Inherits From: [`Layer`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/layers/Layer), [`Module`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/Module)

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

\`tf.compat.v1.keras.layers.Reshape\`

<br />

    tf.keras.layers.Reshape(
        target_shape, **kwargs
    )

<br />

<br />

<br />

| ## Input shape ||
|---|---|
| Arbitrary, although all dimensions in the input shape must be known/fixed. Use the keyword argument `input_shape` (tuple of integers, does not include the samples/batch size axis) when using this layer as the first layer in a model. ||

<br />

<br />

<br />

<br />

| ## Output shape ||
|---|---|
| `(batch_size,) + target_shape` ||

<br />

#### Example:

    # as first layer in a Sequential model
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Reshape((3, 4), input_shape=(12,)))
    # model.output_shape == (None, 3, 4), `None` is the batch size.
    model.output_shape
    (None, 3, 4)

    # as intermediate layer in a Sequential model
    model.add(tf.keras.layers.Reshape((6, 2)))
    model.output_shape
    (None, 6, 2)

    # also supports shape inference using `-1` as dimension
    model.add(tf.keras.layers.Reshape((-1, 2, 2)))
    model.output_shape
    (None, 3, 2, 2)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `target_shape` | Target shape. Tuple of integers, does not include the samples dimension (batch size). |
| `**kwargs` | Any additional layer keyword arguments. |

<br />