View source on GitHub |
Specifies a TensorFlow value type.
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 TypeSpec
s.
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.
Example:
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. |
Methods
is_compatible_with
is_compatible_with(
spec_or_value
)
Returns true if spec_or_value
is compatible with this TypeSpec.
most_specific_compatible_type
most_specific_compatible_type(
other: 'TypeSpec'
) -> 'TypeSpec'
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__
__eq__(
other
) -> bool
Return self==value.
__ne__
__ne__(
other
) -> bool
Return self!=value.