TensorFlow 1 version View source on GitHub

Layer that reshapes inputs into the given shape.

Inherits From: Layer

    target_shape, **kwargs

Used in the notebooks

Used in the guide Used in the tutorials

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.

Output shape:

(batch_size,) + target_shape


# 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. 
(None, 3, 4) 
# as intermediate layer in a Sequential model 
model.add(tf.keras.layers.Reshape((6, 2))) 
(None, 6, 2) 
# also supports shape inference using `-1` as dimension 
model.add(tf.keras.layers.Reshape((-1, 2, 2))) 
(None, None, 2, 2) 


  • target_shape: Target shape. Tuple of integers, does not include the samples dimension (batch size).
  • **kwargs: Any additional layer keyword arguments.