tf.OptionalSpec
Спецификация типа для tf.experimental.Optional.
Наследует: TypeSpec, TraceType
tf.OptionalSpec(
element_spec
)
Например, tf.OptionalSpec можно использовать для определения tf.function, принимающей tf.experimental.Optional в качестве входного аргумента:
@tf.function(input_signature=[tf.OptionalSpec(
tf.TensorSpec(shape=(), dtype=tf.int32, name=None))])
def maybe_square(optional):
if optional.has_value():
x = optional.get_value()
return x * x
return -1
optional = tf.experimental.Optional.from_value(5)
print(maybe_square(optional))
tf.Tensor(25, shape=(), dtype=int32)| Атрибуты | |
|---|---|
element_spec | (Вложенная) структура объектов TypeSpec, представляющая спецификацию типа необязательного элемента. |
value_type | Тип Python для значений, совместимых с этой TypeSpec. В частности, все значения, совместимые с этой TypeSpec, должны быть экземплярами этого типа. |
Методы
experimental_as_proto
experimental_as_proto() -> struct_pb2.TypeSpecProto
Возвращает представление экземпляра TypeSpec в формате proto.
НЕ переопределяйте для пользовательских типов, не относящихся к TF.
experimental_from_proto
@classmethod
experimental_from_proto(
proto: struct_pb2.TypeSpecProto
) -> 'TypeSpec'
Возвращает экземпляр TypeSpec на основе сериализованного proto.
НЕ переопределяйте для пользовательских типов, не относящихся к TF.
| Аргументы | |
|---|---|
proto | Proto, созданный с помощью 'experimental_as_proto'. |
experimental_type_proto
@classmethod experimental_type_proto() -> Type[struct_pb2.TypeSpecProto]
Возвращает тип proto, связанный с сериализацией TypeSpec.
НЕ переопределяйте для пользовательских типов, не относящихся к TF.
from_value
@staticmethod
from_value(
value
)
is_compatible_with
is_compatible_with(
spec_or_value
)
Возвращает true, если spec_or_value совместим с этой TypeSpec.
По возможности используйте "is_subtype_of" и "most_specific_common_supertype".
| Аргументы | |
|---|---|
spec_or_value | TypeSpec или значение, связанное с TypeSpec, для сравнения. |
is_subtype_of
is_subtype_of(
other: tf.types.experimental.TraceType
) -> bool
Возвращает True, если self является подтипом other.
Реализует интерфейс tf.types.experimental.func.TraceType.
Если подкласс не переопределяет это поведение, по умолчанию предполагается, что TypeSpec ковариантен по атрибутам, реализующим TraceType, и инвариантен по остальным атрибутам, а также по структуре и типу TypeSpec.
| Аргументы | |
|---|---|
other | Объект TraceType. |
most_specific_common_supertype
most_specific_common_supertype(
others: Sequence[tf.types.experimental.TraceType]
) -> Optional['TypeSpec']
Возвращает наиболее конкретный надтип TypeSpec для self и others.
Реализует интерфейс tf.types.experimental.func.TraceType.
Если подкласс не переопределяет это поведение, по умолчанию предполагается, что TypeSpec ковариантен по атрибутам, реализующим TraceType, и инвариантен по остальным атрибутам, а также по структуре и типу TypeSpec.
| Аргументы | |
|---|---|
others | Последовательность TraceType. |
most_specific_compatible_type
most_specific_compatible_type(
other: 'TypeSpec'
) -> 'TypeSpec'
Возвращает наиболее конкретную TypeSpec, совместимую с self и other. (устарело)
Устарело. Используйте вместо этого most_specific_common_supertype. Не переопределяйте эту функцию.
| Аргументы | |
|---|---|
other | TypeSpec. |
| Исключения | |
|---|---|
ValueError | Если не существует TypeSpec, совместимой одновременно с self и other. |
__eq__
__eq__(
other
) -> bool
Возвращает результат сравнения self==value.
__ne__
__ne__(
other
) -> bool
Возвращает результат сравнения 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/api_docs/python/tf/OptionalSpec