View source on GitHub |
Type specification for tf.data.Iterator
.
Inherits From: TypeSpec
, TraceType
tf.data.IteratorSpec(
element_spec
)
For instance, tf.data.IteratorSpec
can be used to define a tf.function that
takes tf.data.Iterator
as an input argument:
@tf.function(input_signature=[tf.data.IteratorSpec(
tf.TensorSpec(shape=(), dtype=tf.int32, name=None))])
def square(iterator):
x = iterator.get_next()
return x * x
dataset = tf.data.Dataset.from_tensors(5)
iterator = iter(dataset)
print(square(iterator))
tf.Tensor(25, shape=(), dtype=int32)
Attributes | |
---|---|
element_spec
|
A (nested) structure of tf.TypeSpec objects that represents
the type specification of the iterator elements.
|
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
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
@classmethod
experimental_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
|
Proto generated using 'experimental_as_proto'. |
experimental_type_proto
@classmethod
experimental_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
@staticmethod
from_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
|
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 self
and other .
|
__eq__
__eq__(
other
) -> bool
Return self==value.
__ne__
__ne__(
other
) -> bool
Return self!=value.