| View source on GitHub | 
Specifies a TensorFlow value type.
Inherits From: TraceType
A tf.TypeSpec provides metadata describing an object accepted or returned by TensorFlow APIs. Concrete subclasses, such as tf.TensorSpec and tf.RaggedTensorSpec, are used to describe different value types.
For example, tf.function's input_signature argument accepts a list (or nested structure) of TypeSpecs.
Creating new subclasses of TypeSpec (outside of TensorFlow core) is not currently supported. In particular, we may make breaking changes to the private methods and properties defined by this base class.
spec = tf.RaggedTensorSpec(shape=[None, None], dtype=tf.int32) @tf.function(input_signature=[spec]) def double(x): return x * 2 print(double(tf.ragged.constant([[1, 2], [3]]))) <tf.RaggedTensor [[2, 4], [6]]>
| Attributes | |
|---|---|
| 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. | 
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 | A TypeSpec or TypeSpec associated value to compare against. | 
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 | A TraceType object. | 
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 | A sequence of TraceTypes. | 
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 | A TypeSpec. | 
| Raises | |
|---|---|
| ValueError | If there is no TypeSpec that is compatible with both selfandother. | 
__eq__
__eq__(
    other
) -> bool
 Return self==value.
__ne__
__ne__(
    other
) -> bool
 Return self!=value.
    © 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
    https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/TypeSpec