tf.keras.layers.InputLayer

Layer to be used as an entry point into a Network (a graph of layers).

Inherits From: Layer, Module

It can either wrap an existing tensor (pass an input_tensor argument) or create a placeholder tensor (pass arguments input_shape, and optionally, dtype).

It is generally recommend to use the Keras Functional model via Input, (which creates an InputLayer) without directly using InputLayer.

When using InputLayer with the Keras Sequential model, it can be skipped by moving the input_shape parameter to the first layer after the InputLayer.

This class can create placeholders for tf.Tensors, tf.SparseTensors, and tf.RaggedTensors by choosing sparse=True or ragged=True. Note that sparse and ragged can't be configured to True at the same time. Usage:

# With explicit InputLayer.
model = tf.keras.Sequential([
  tf.keras.layers.InputLayer(input_shape=(4,)),
  tf.keras.layers.Dense(8)])
model.compile(tf.keras.optimizers.RMSprop(0.001), loss='mse')
model.fit(np.zeros((10, 4)),
          np.ones((10, 8)))

# Without InputLayer and let the first layer to have the input_shape.
# Keras will add a input for the model behind the scene.
model = tf.keras.Sequential([
  tf.keras.layers.Dense(8, input_shape=(4,))])
model.compile(tf.keras.optimizers.RMSprop(0.001), loss='mse')
model.fit(np.zeros((10, 4)),
          np.ones((10, 8)))

input_shape Shape tuple (not including the batch axis), or TensorShape instance (not including the batch axis).
batch_size Optional input batch size (integer or None).
dtype Optional datatype of the input. When not provided, the Keras default float type will be used.
input_tensor Optional tensor to use as layer input. If set, the layer will use the tf.TypeSpec of this tensor rather than creating a new placeholder tensor.
sparse Boolean, whether the placeholder created is meant to be sparse. Defaults to False.
ragged Boolean, whether the placeholder created is meant to be ragged. In this case, values of None in the shape argument represent ragged dimensions. For more information about tf.RaggedTensor, see this guide. Defaults to False.
type_spec A tf.TypeSpec object to create Input from. This tf.TypeSpec represents the entire batch. When provided, all other args except name must be None.
name Optional name of the layer (string).