View source on GitHub
|
Type specification for a tf.RaggedTensor.
Inherits From: TypeSpec, TraceType
tf.RaggedTensorSpec(
shape=None,
dtype=tf.dtypes.float32,
ragged_rank=None,
row_splits_dtype=tf.dtypes.int64,
flat_values_spec=None
)
Used in the notebooks
| Used in the guide |
|---|
Args |
|---|
shape
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
shape.ndims - 1.
row_splits_dtype
dtype for the RaggedTensor's row_splits tensor. One
of tf.int32 or tf.int64.
flat_values_spec
dtype and flat_values_spec and are provided, dtype must
be the same as flat_values_spec.dtype. (experimental)
Attributes |
|---|
dtype
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).dtypetf.string
flat_values_spec
TypeSpec of the flat_values of RaggedTensor.
ragged_rank
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_rank1
rt1 = tf.RaggedTensor.from_uniform_row_length(values, 2)tf.type_spec_from_value(rt1).ragged_rank2
row_splits_dtype
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_dtypetf.int64
shape
rt = tf.ragged.constant([[0], [1, 2]])tf.type_spec_from_value(rt).shapeTensorShape([2, None])
rt = tf.ragged.constant([[[0, 1]], [[1, 2], [3, 4]]], ragged_rank=1)tf.type_spec_from_value(rt).shapeTensorShape([2, None, 2])
value_type
In particular, all values that are compatible with this TypeSpec must be an instance of this type.
Methods
experimental_as_proto
experimental_as_proto() -> struct_pb2.TypeSpecProto
Returns a proto representation of the TypeSpec instance.
Do NOT override for custom non-TF types.
experimental_from_proto
@classmethodexperimental_from_proto( proto: struct_pb2.TypeSpecProto ) -> 'TypeSpec'
Returns a TypeSpec instance based on the serialized proto.
Do NOT override for custom non-TF types.
| Args |
|---|
proto
experimental_type_proto
@classmethodexperimental_type_proto() -> Type[struct_pb2.TypeSpecProto]
Returns the type of proto associated with TypeSpec serialization.
Do NOT override for custom non-TF types.
from_value
@classmethodfrom_value( value )
is_compatible_with
is_compatible_with(
spec_or_value
)
Returns true if spec_or_value is compatible with this TypeSpec.
Prefer using "is_subtype_of" and "most_specific_common_supertype" wherever possible.
| Args |
|---|
spec_or_value
is_subtype_of
is_subtype_of(
other: tf.types.experimental.TraceType
) -> bool
Returns True if self is a subtype of other.
Implements the tf.types.experimental.func.TraceType interface.
If not overridden by a subclass, the default behavior is to assume the TypeSpec is covariant upon attributes that implement TraceType and invariant upon rest of the attributes as well as the structure and type of the TypeSpec.
| Args |
|---|
other
most_specific_common_supertype
most_specific_common_supertype(
others: Sequence[tf.types.experimental.TraceType]
) -> Optional['TypeSpec']
Returns the most specific supertype TypeSpec of self and others.
Implements the tf.types.experimental.func.TraceType interface.
If not overridden by a subclass, the default behavior is to assume the TypeSpec is covariant upon attributes that implement TraceType and invariant upon rest of the attributes as well as the structure and type of the TypeSpec.
| Args |
|---|
others
most_specific_compatible_type
most_specific_compatible_type(
other: 'TypeSpec'
) -> 'TypeSpec'
Returns the most specific TypeSpec compatible with self and other. (deprecated)
Deprecated. Please use most_specific_common_supertype instead.
Do not override this function.
| Args |
|---|
other
TypeSpec.
| Raises |
|---|
ValueError
self
and other.
__eq__
__eq__(
other
) -> bool
Return self==value.
__ne__
__ne__(
other
) -> bool
Return self!=value.
View source on GitHub