Specifies the rank, dtype and shape of every input to a layer.

Layers can expose (if appropriate) an input_spec attribute: an instance of InputSpec, or a nested structure of InputSpec instances (one per input tensor). These objects enable the layer to run input compatibility checks for input structure, input rank, input shape, and input dtype.

A None entry in a shape is compatible with any dimension, a None shape is compatible with any shape.