Specifies the rank, dtype and shape of every input to a layer.
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 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.
Arguments | |
---|---|
dtype | Expected DataType of the input. |
shape | Shape tuple, expected shape of the input (may include None for unchecked axes). Includes the batch size. |
ndim | Integer, expected rank of the input. |
max_ndim | Integer, maximum rank of the input. |
min_ndim | Integer, minimum rank of the input. |
axes | Dictionary mapping integer axes to a specific dimension value. |
allow_last_axis_squeeze | 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. |
name | 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
@classmethod from_config( config )
get_config
get_config()
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/layers/InputSpec