|View source on GitHub|
Specifies the rank, dtype and shape of every input to a layer.
Compat aliases for migration
See Migration guide for more details.
tf.keras.layers.InputSpec( dtype=None, shape=None, ndim=None, max_ndim=None, min_ndim=None, axes=None, allow_last_axis_squeeze=False, name=None )
Layers can expose (if appropriate) an
an instance of
InputSpec, or a nested structure of
(one per input tensor). These objects enable the layer to run input
compatibility checks for input structure, input rank, input shape, and
A None entry in a shape is compatible with any dimension, a None shape is compatible with any shape.
||Expected DataType of the input.|
||Shape tuple, expected shape of the input (may include None for unchecked axes). Includes the batch size.|
||Integer, expected rank of the input.|
||Integer, maximum rank of the input.|
||Integer, minimum rank of the input.|
||Dictionary mapping integer axes to a specific dimension value.|
||If True, then allow inputs of rank N+1 as long as the last axis of the input is 1, as well as inputs of rank N-1 as long as the last axis of the spec is 1.|
||Expected key corresponding to this input when passing data as a dictionary.|
class MyLayer(Layer): def __init__(self): super(MyLayer, self).__init__() # The layer will accept inputs with shape (?, 28, 28) & (?, 28, 28, 1) # and raise an appropriate error message otherwise. self.input_spec = InputSpec( shape=(None, 28, 28, 1), allow_last_axis_squeeze=True)
from_config( config )