Missed TensorFlow World? Check out the recap. Learn more

tf.keras.Input

View source on GitHub

Input() is used to instantiate a Keras tensor.

Aliases:

  • tf.compat.v1.keras.Input
  • tf.compat.v1.keras.layers.Input
  • tf.compat.v2.keras.Input
  • tf.compat.v2.keras.layers.Input
  • tf.keras.layers.Input
tf.keras.Input(
    shape=None,
    batch_size=None,
    name=None,
    dtype=None,
    sparse=False,
    tensor=None,
    ragged=False,
    **kwargs
)

Used in the guide:

Used in the tutorials:

A Keras tensor is a tensor object from the underlying backend (Theano or TensorFlow), which we augment with certain attributes that allow us to build a Keras model just by knowing the inputs and outputs of the model.

For instance, if a, b and c are Keras tensors, it becomes possible to do: model = Model(input=[a, b], output=c)

The added Keras attribute is: _keras_history: Last layer applied to the tensor. the entire layer graph is retrievable from that layer, recursively.

Arguments:

  • shape: A shape tuple (integers), not including the batch size. For instance, shape=(32,) indicates that the expected input will be batches of 32-dimensional vectors. Elements of this tuple can be None; 'None' elements represent dimensions where the shape is not known.
  • batch_size: optional static batch size (integer).
  • name: An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided.
  • dtype: The data type expected by the input, as a string (float32, float64, int32...)
  • sparse: A boolean specifying whether the placeholder to be created is sparse. Only one of 'ragged' and 'sparse' can be True.
  • tensor: Optional existing tensor to wrap into the Input layer. If set, the layer will not create a placeholder tensor.
  • ragged: A boolean specifying whether the placeholder to be created is ragged. Only one of 'ragged' and 'sparse' can be True. In this case, values of 'None' in the 'shape' argument represent ragged dimensions. For more information about RaggedTensors, see https://www.tensorflow.org/guide/ragged_tensors.
  • **kwargs: deprecated arguments support.

Returns:

A tensor.

Example:

# this is a logistic regression in Keras
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)

Note that even if eager execution is enabled, Input produces a symbolic tensor (i.e. a placeholder). This symbolic tensor can be used with other TensorFlow ops, as such:

x = Input(shape=(32,))
y = tf.square(x)

Raises:

  • ValueError: in case of invalid arguments.