tf.RaggedTensorSpec

Type specification for a tf.RaggedTensor.

Inherits From: TypeSpec

shape The shape of the RaggedTensor, or None to allow any shape. If a shape is specified, then all ragged dimensions must have size None.
dtype tf.DType of values in the RaggedTensor.
ragged_rank Python integer, the number of times the RaggedTensor's flat_values is partitioned. Defaults to shape.ndims - 1.
row_splits_dtype dtype for the RaggedTensor's row_splits tensor. One of tf.int32 or tf.int64.
flat_values_spec TypeSpec for flat_value of the RaggedTensor. It shall be provided when the flat_values is a CompositeTensor rather then Tensor. If both dtype and flat_values_spec and are provided, dtype must be the same as flat_values_spec.dtype. (experimental)

dtype The tf.dtypes.DType specified by this type for the RaggedTensor.

rt = tf.ragged.constant([["a"], ["b", "c"]], dtype=tf.string)
tf.type_spec_from_value(rt).dtype
tf.string

flat_values_spec The TypeSpec of the flat_values of RaggedTensor.
ragged_rank The number of times the RaggedTensor's flat_values is partitioned.

Defaults to shape.ndims - 1.

values = tf.ragged.constant([[1, 2, 3], [4], [5, 6], [7, 8, 9, 10]])
tf.type_spec_from_value(values).ragged_rank
1
rt1 = tf.RaggedTensor.from_uniform_row_length(values, 2)
tf.type_spec_from_value(rt1).ragged_rank
2

row_splits_dtype The tf.dtypes.DType of the RaggedTensor's row_splits.

rt = tf.ragged.constant([[1, 2, 3], [4]], row_splits_dtype=tf.int64)
tf.type_spec_from_value(rt).row_splits_dtype
tf.int64

shape The statically known shape of the RaggedTensor.

rt = tf.ragged.constant([[0], [1, 2]])
tf.type_spec_from_value(rt).shape
TensorShape([2, None])
rt = tf.ragged.constant([[[0, 1]], [[1, 2], [3, 4]]], ragged_rank=1)
tf.type_spec_from_value(rt).shape
TensorShape([2, None, 2])

value_type The Python type for values that are compatible with this TypeSpec.

In particular, all values that are compatible with this TypeSpec must be an instance of this type.

Methods

from_value

View source

is_compatible_with

View source

Returns true if spec_or_value is compatible with this TypeSpec.

most_specific_compatible_type

View source

Returns the most specific TypeSpec compatible with self and other.

Args
other A TypeSpec.

Raises
ValueError If there is no TypeSpec that is compatible with both self and other.

__eq__

View source

Return self==value.

__ne__

View source

Return self!=value.