tf.TypeSpec
Определяет тип значения TensorFlow.
Унаследовано от: TraceType
A tf.TypeSpec предоставляет метаданные, описывающие объект, принимаемый или возвращаемый API TensorFlow. Конкретные подклассы, такие как tf.TensorSpec и tf.RaggedTensorSpec, используются для описания различных типов значений.
Например, аргумент input_signature метода tf.function принимает список (или вложенную структуру) TypeSpec.
Создание новых подклассов TypeSpec (вне ядра TensorFlow) в настоящее время не поддерживается. В частности, мы можем внести несовместимые изменения в закрытые методы и свойства, определенные в этом базовом классе.
Пример:
spec = tf.TensorSpec(shape=[None, None], dtype=tf.int32)
@tf.function(input_signature=[spec])
def double(x):
return x * 2
double(tf.constant([[1, 2], [3, 4]]))
<tf.Tensor: shape=(2, 2), dtype=int32,
numpy=array([[2, 4], [6, 8]], dtype=int32)>| Атрибуты | |
|---|---|
value_type | Тип Python для значений, совместимых с этим TypeSpec. В частности, все значения, совместимые с этим TypeSpec, должны быть экземплярами этого типа. |
Методы
experimental_as_proto
experimental_as_proto() -> struct_pb2.TypeSpecProto
Возвращает представление прото для экземпляра TypeSpec.
НЕ переопределять для пользовательских типов, не являющихся типами TF.
experimental_from_proto
@classmethod
experimental_from_proto(
proto: struct_pb2.TypeSpecProto
) -> 'TypeSpec'
Возвращает экземпляр TypeSpec на основе сериализованного прото.
НЕ переопределять для пользовательских типов, не являющихся типами TF.
| Аргументы | |
|---|---|
proto | Прото, сгенерированный с помощью 'experimental_as_proto'. |
experimental_type_proto
@classmethod experimental_type_proto() -> Type[struct_pb2.TypeSpecProto]
Возвращает тип прото, связанного с сериализацией TypeSpec.
НЕ переопределять для пользовательских типов, не являющихся типами TF.
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 | Последовательность TraceTypes. |
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/TypeSpec