tf.compat.v1.Dimension

Represents the value of one dimension in a TensorShape.

Migrate to TF2

In TF2, members of a TensorShape object are integers. The Dimension class is not part of TF2's data model.

Please refer to the TensorShape section of the migration guide on common code patterns adapting Dimension objects to a TF2 syntax.

Description

value The value of this dimension, or None if it is unknown.

Methods

assert_is_compatible_with

View source

Raises an exception if other is not compatible with this Dimension.

Args
other Another Dimension.

Raises
ValueError If self and other are not compatible (see is_compatible_with).

is_compatible_with

View source

Returns true if other is compatible with this Dimension.

Two known Dimensions are compatible if they have the same value. An unknown Dimension is compatible with all other Dimensions.

Args
other Another Dimension.

Returns
True if this Dimension and other are compatible.

merge_with

View source

Returns a Dimension that combines the information in self and other.

Dimensions are combined as follows:

tf.compat.v1.Dimension(n)   .merge_with(tf.compat.v1.Dimension(n))     ==
tf.compat.v1.Dimension(n)
tf.compat.v1.Dimension(n)   .merge_with(tf.compat.v1.Dimension(None))  ==
tf.compat.v1.Dimension(n)
tf.compat.v1.Dimension(None).merge_with(tf.compat.v1.Dimension(n))     ==
tf.compat.v1.Dimension(n)
# equivalent to tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None).merge_with(tf.compat.v1.Dimension(None))

# raises ValueError for n != m
tf.compat.v1.Dimension(n)   .merge_with(tf.compat.v1.Dimension(m))

Args
other Another Dimension.

Returns
A Dimension containing the combined information of self and other.

Raises
ValueError If self and other are not compatible (see is_compatible_with).

__add__

View source

Returns the sum of self and other.

Dimensions are summed as follows:

tf.compat.v1.Dimension(m)    + tf.compat.v1.Dimension(n)     ==
tf.compat.v1.Dimension(m + n)
tf.compat.v1.Dimension(m)    + tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) + tf.compat.v1.Dimension(n)     # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) + tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the sum of self and other.

__bool__

View source

Equivalent to bool(self.value).

__div__

View source

This function exists only for backwards compatibility purposes; new code should use __floordiv__ via the syntax x // y. Using x // y communicates clearly that the result rounds down, and is forward compatible to Python 3.

Args
other Another Dimension.

Returns
A Dimension whose value is the integer quotient of self and other.

__eq__

View source

Returns true if other has the same known value as this Dimension.

__floordiv__

View source

Returns the quotient of self and other rounded down.

Dimensions are divided as follows:

tf.compat.v1.Dimension(m)    // tf.compat.v1.Dimension(n)     ==
tf.compat.v1.Dimension(m // n)
tf.compat.v1.Dimension(m)    // tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) // tf.compat.v1.Dimension(n)     # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) // tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the integer quotient of self and other.

__ge__

View source

Returns True if self is known to be greater than or equal to other.

Dimensions are compared as follows:

(tf.compat.v1.Dimension(m)    >= tf.compat.v1.Dimension(n))    == (m >= n)
(tf.compat.v1.Dimension(m)    >= tf.compat.v1.Dimension(None)) == None
(tf.compat.v1.Dimension(None) >= tf.compat.v1.Dimension(n))    == None
(tf.compat.v1.Dimension(None) >= tf.compat.v1.Dimension(None)) == None

Args
other Another Dimension.

Returns
The value of self.value >= other.value if both are known, otherwise None.

__gt__

View source

Returns True if self is known to be greater than other.

Dimensions are compared as follows:

(tf.compat.v1.Dimension(m)    > tf.compat.v1.Dimension(n))    == (m > n)
(tf.compat.v1.Dimension(m)    > tf.compat.v1.Dimension(None)) == None
(tf.compat.v1.Dimension(None) > tf.compat.v1.Dimension(n))    == None
(tf.compat.v1.Dimension(None) > tf.compat.v1.Dimension(None)) == None

Args
other Another Dimension.

Returns
The value of self.value > other.value if both are known, otherwise None.

__le__

View source

Returns True if self is known to be less than or equal to other.

Dimensions are compared as follows:

(tf.compat.v1.Dimension(m)    <= tf.compat.v1.Dimension(n))    == (m <= n)
(tf.compat.v1.Dimension(m)    <= tf.compat.v1.Dimension(None)) == None
(tf.compat.v1.Dimension(None) <= tf.compat.v1.Dimension(n))    == None
(tf.compat.v1.Dimension(None) <= tf.compat.v1.Dimension(None)) == None

Args
other Another Dimension.

Returns
The value of self.value <= other.value if both are known, otherwise None.

__lt__

View source

Returns True if self is known to be less than other.

Dimensions are compared as follows:

(tf.compat.v1.Dimension(m)    < tf.compat.v1.Dimension(n))    == (m < n)
(tf.compat.v1.Dimension(m)    < tf.compat.v1.Dimension(None)) == None
(tf.compat.v1.Dimension(None) < tf.compat.v1.Dimension(n))    == None
(tf.compat.v1.Dimension(None) < tf.compat.v1.Dimension(None)) == None

Args
other Another Dimension.

Returns
The value of self.value < other.value if both are known, otherwise None.

__mod__

View source

Returns self modulo other.

Dimension modulo are computed as follows:

tf.compat.v1.Dimension(m)    % tf.compat.v1.Dimension(n)     ==
tf.compat.v1.Dimension(m % n)
tf.compat.v1.Dimension(m)    % tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) % tf.compat.v1.Dimension(n)     # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) % tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is self modulo other.

__mul__

View source

Returns the product of self and other.

Dimensions are summed as follows:

tf.compat.v1.Dimension(m)    * tf.compat.v1.Dimension(n)     ==
tf.compat.v1.Dimension(m * n)
tf.compat.v1.Dimension(m)    * tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) * tf.compat.v1.Dimension(n)     # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) * tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the product of self and other.

__ne__

View source

Returns true if other has a different known value from self.

__radd__

View source

Returns the sum of other and self.

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the sum of self and other.

__rdiv__

View source

Use __floordiv__ via x // y instead.

This function exists only to have a better error message. Instead of: TypeError: unsupported operand type(s) for /: 'int' and 'Dimension', this function will explicitly call for usage of // instead.

Args
other Another Dimension.

Raises
TypeError.

__rfloordiv__

View source

Returns the quotient of other and self rounded down.

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the integer quotient of self and other.

__rmod__

View source

Returns other modulo self.

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is other modulo self.

__rmul__

View source

Returns the product of self and other.

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the product of self and other.

__rsub__

View source

Returns the subtraction of self from other.

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the subtraction of self from other.

__rtruediv__

View source

Use __floordiv__ via x // y instead.

This function exists only to have a better error message. Instead of: TypeError: unsupported operand type(s) for /: 'int' and 'Dimension', this function will explicitly call for usage of // instead.

Args
other Another Dimension.

Raises
TypeError.

__sub__

View source

Returns the subtraction of other from self.

Dimensions are subtracted as follows:

tf.compat.v1.Dimension(m)    - tf.compat.v1.Dimension(n)     ==
tf.compat.v1.Dimension(m - n)
tf.compat.v1.Dimension(m)    - tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) - tf.compat.v1.Dimension(n)     # equiv. to
tf.compat.v1.Dimension(None)
tf.compat.v1.Dimension(None) - tf.compat.v1.Dimension(None)  # equiv. to
tf.compat.v1.Dimension(None)

Args
other Another Dimension, or a value accepted by as_dimension.

Returns
A Dimension whose value is the subtraction of other from self.

__truediv__

View source

Use __floordiv__ via x // y instead.

This function exists only to have a better error message. Instead of: TypeError: unsupported operand type(s) for /: 'Dimension' and 'int', this function will explicitly call for usage of // instead.

Args
other Another Dimension.

Raises
TypeError.