View source on GitHub
|
Represents a value that may or may not be present.
A tf.experimental.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.Iterator.get_next_as_optional() returns a
tf.experimental.Optional that either contains the next element of an
iterator if one exists, or an "empty" value that indicates the end of the
sequence has been reached.
tf.experimental.Optional can only be used with values that are convertible
to tf.Tensor or tf.CompositeTensor.
One can create a tf.experimental.Optional from a value using the
from_value() method:
optional = tf.experimental.Optional.from_value(42)print(optional.has_value())tf.Tensor(True, shape=(), dtype=bool)print(optional.get_value())tf.Tensor(42, shape=(), dtype=int32)
or without a value using the empty() method:
optional = tf.experimental.Optional.empty(tf.TensorSpec(shape=(), dtype=tf.int32, name=None))print(optional.has_value())tf.Tensor(False, shape=(), dtype=bool)
element_spec
optional = tf.experimental.Optional.from_value(42)print(optional.element_spec)tf.TensorSpec(shape=(), dtype=tf.int32, name=None)
empty@staticmethodempty( element_spec )
Returns an Optional that has no value.
optional = tf.experimental.Optional.empty(tf.TensorSpec(shape=(), dtype=tf.int32, name=None))print(optional.has_value())tf.Tensor(False, shape=(), dtype=bool)
element_spec
tf.TypeSpec objects matching the
structure of an element of this optional.
tf.experimental.Optional with no value.
from_value@staticmethodfrom_value( value )
Returns a tf.experimental.Optional that wraps the given value.
optional = tf.experimental.Optional.from_value(42)print(optional.has_value())tf.Tensor(True, shape=(), dtype=bool)print(optional.get_value())tf.Tensor(42, shape=(), dtype=int32)
value
tf.Tensor or
tf.CompositeTensor.
tf.experimental.Optional that wraps value.
get_value@abc.abstractmethodget_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.
optional = tf.experimental.Optional.from_value(42)print(optional.get_value())tf.Tensor(42, shape=(), dtype=int32)
name
has_value@abc.abstractmethodhas_value( name=None )
Returns a tensor that evaluates to True if this optional has a value.
optional = tf.experimental.Optional.from_value(42)print(optional.has_value())tf.Tensor(True, shape=(), dtype=bool)
name
tf.Tensor of type tf.bool.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.