View source on GitHub |
Wraps a value that may/may not be present at runtime.
An Optional
can represent the result of an operation that may fail as a
value, rather than raising an exception and halting execution. For example,
tf.data.experimental.get_next_as_optional
returns an Optional
that either
contains the next value from a tf.compat.v1.data.Iterator
if one exists, or
a "none" value that indicates the end of the sequence has been reached.
Optional
can only be used by values that are convertible to Tensor
or
CompositeTensor
.
value_structure
: The structure of the components of this optional.from_value
@staticmethod
from_value(
value
)
Returns an Optional
that wraps the given value.
value
: A value to wrap. The value must be convertible to Tensor
or
CompositeTensor
.An Optional
that wraps value
.
get_value
get_value(
name=None
)
Returns the value wrapped by this optional.
If this optional does not have a value (i.e. self.has_value()
evaluates
to False
), this operation will raise tf.errors.InvalidArgumentError
at runtime.
name
: (Optional.) A name for the created operation.The wrapped value.
has_value
has_value(
name=None
)
Returns a tensor that evaluates to True
if this optional has a value.
name
: (Optional.) A name for the created operation.A scalar tf.Tensor
of type tf.bool
.
none_from_structure
@staticmethod
none_from_structure(
value_structure
)
Returns an Optional
that has no value.
NOTE: This method takes an argument that defines the structure of the value
that would be contained in the returned Optional
if it had a value.
value_structure
: A Structure
object representing the structure of the
components of this optional.An Optional
that has no value.