Represents the shape of a Tensor.

Used in the notebooks

Used in the guide Used in the tutorials

A TensorShape represents a possibly-partial shape specification for a Tensor. It may be one of the following:

  • Fully-known shape: has a known number of dimensions and a known size for each dimension. e.g. TensorShape([16, 256])
  • Partially-known shape: has a known number of dimensions, and an unknown size for one or more dimension. e.g. TensorShape([None, 256])
  • Unknown shape: has an unknown number of dimensions, and an unknown size in all dimensions. e.g. TensorShape(None)

If a tensor is produced by an operation of type "Foo", its shape may be inferred if there is a registered shape function for "Foo". See Shape functions for details of shape functions and how to register them. Alternatively, the shape may be set explicitly using tf.Tensor.set_shape.

dims A list of Dimensions, or None if the shape is unspecified.

TypeError If dims cannot be converted to a list of dimensions.

dims Deprecated. Returns list of dimensions for this shape.

Suggest TensorShape.as_list instead.

ndims Deprecated accessor for rank.
rank Returns the rank of this shape, or None if it is unspecified.



View source

Returns a list of integers or None for each dimension.

A list of integers or None for each dimension.

ValueError If self is an unknown shape with an unknown rank.


View source

Returns this shape as a TensorShapeProto.


View source

Raises an exception if self is not compatible with the given rank.

rank An integer.

ValueError If self does not represent a shape with the given rank.


View source

Raises exception if self and other do not represent the same shape.

This method can be used to asser