Represents the Shape of an input or output.
Mostly used for vector data, the Shape describes The expected structure of a model. A N-D shape with shape variables (n1,n2,..nN) expects an input of size n1*n2*...*nN which is then interpreted as tensor with the dimensionalities n1 x n2 x ... x nN. A batch of inputs is then treated as each element having this shape, so the batch size is not a part of the shape.
The standard shape is the 1-D shape just describing that a model interprets every input as 1-D input. A 0-D shape descriebs the inputs of a model where the input can not be described by a shape, for example a class label or other scalar values are 0d shapes. A 3-D shape could describe an image patch with rows x columns x channels.
Shapes can be flattened, this way a 3-D image patch can also be treated as a simple vector input.
Shark currently does not enforce Shapes, it only checks that input data is compatible to a shape, i.e. a vector has the right number of dimensions.
Definition at line 67 of file Shape.h.