Spec-Zone.ru › TensorFlow

tf.TensorSpec

Описывает тип tf.Tensor.

Наследуется от: TypeSpec, TraceType

Просмотреть псевдонимы

Псевдонимы для совместимости при миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.TensorSpec

tf.TensorSpec(
    shape,
    dtype=tf.dtypes.float32,
    name=None
)

Используется в блокнотах

Используется в руководстве Используется в учебных материалах
  • Типы расширений
  • Импорт модели JAX с помощью JAX2TF
  • Использование формата SavedModel
  • Повышение производительности с помощью tf.function
  • Миграция рабочего процесса SavedModel
  • DeepDream
  • Простое распознавание аудио: распознавание ключевых слов
  • Загрузка видеоданных
  • Трансферное обучение для классификации видео с MoViNet
  • Классификация видео с помощью трехмерной сверточной нейронной сети
t = tf.constant([[1,2,3],[4,5,6]])
tf.TensorSpec.from_tensor(t)
TensorSpec(shape=(2, 3), dtype=tf.int32, name=None)

Содержит метаданные для описания свойств объектов tf.Tensor, принимаемых или возвращаемых некоторыми API TensorFlow.

Например, его можно использовать для ограничения типов входных данных, принимаемых tf.function:

@tf.function(input_signature=[tf.TensorSpec([1, None])])
def constrained_foo(t):
  print("tracing...")
  return t

Теперь tf.function может предполагать, что t всегда имеет тип tf.TensorSpec([1, None]), что позволяет избежать повторной трассировки и одновременно обеспечивает соблюдение ограничения типа входных данных.

В результате следующий вызов с тензором типа tf.TensorSpec([1, 2]) запускает трассировку и завершается успешно:

>>> constrained_foo(tf.constant([[1., 2]])).numpy()
tracing...
array([[1., 2.]], dtype=float32)

Следующий вызов с тензором типа tf.TensorSpec([1, 4]) не запускает трассировку и завершается успешно:

>>> constrained_foo(tf.constant([[1., 2, 3, 4]])).numpy()
array([[1., 2., 3., 4.], dtype=float32)

Однако следующий вызов с тензором типа tf.TensorSpec([2, 2]) завершается ошибкой:

>>> constrained_foo(tf.constant([[1., 2], [3, 4]])).numpy()
Traceback (most recent call last):
...
TypeError: Binding inputs to tf.function `constrained_foo` failed ...
Аргументы
shape Значение, преобразуемое в tf.TensorShape. Форма тензора.
dtype Значение, преобразуемое в tf.DType. Тип значений тензора.
name Необязательное имя тензора.
Исключения
TypeError Если shape нельзя преобразовать в tf.TensorShape или dtype нельзя преобразовать в tf.DType.
Атрибуты
dtype Возвращает dtype элементов в тензоре.
name Возвращает (если оно было указано) имя описываемого тензора.
shape Возвращает TensorShape, представляющий форму тензора.
value_type Тип Python для значений, совместимых с этой спецификацией TypeSpec.

Методы

experimental_as_proto

Просмотреть исходный код

experimental_as_proto() -> struct_pb2.TensorSpecProto

Возвращает представление экземпляра TensorSpec в формате proto.

experimental_from_proto

Просмотреть исходный код

@classmethod
experimental_from_proto(
    proto: struct_pb2.TensorSpecProto
) -> 'TensorSpec'

Возвращает экземпляр TensorSpec на основе сериализованного proto.

experimental_type_proto

Просмотреть исходный код

@classmethod
experimental_type_proto() -> Type[struct_pb2.TensorSpecProto]

Возвращает тип proto, связанный с сериализацией TensorSpec.

from_spec

Просмотреть исходный код

@classmethod
from_spec(
    spec, name=None
)

Возвращает TensorSpec с той же формой и типом данных, что и у spec.

spec = tf.TensorSpec(shape=[8, 3], dtype=tf.int32, name="OriginalName")
tf.TensorSpec.from_spec(spec, "NewName")
TensorSpec(shape=(8, 3), dtype=tf.int32, name='NewName')
Аргументы
spec TypeSpec, используемый для создания нового TensorSpec.
name Имя нового TensorSpec. По умолчанию — spec.name.

from_tensor

Просмотреть исходный код

@classmethod
from_tensor(
    tensor, name=None
)

Возвращает TensorSpec, описывающий tensor.

tf.TensorSpec.from_tensor(tf.constant([1, 2, 3]))
TensorSpec(shape=(3,), dtype=tf.int32, name=None)
Аргументы
tensor tf.Tensor, который требуется описать.
name Имя для TensorSpec. По умолчанию — tensor.op.name.
Возвращает
TensorSpec, описывающий tensor.

is_compatible_with

Просмотреть исходный код

is_compatible_with(
    spec_or_tensor
)

Возвращает True, если spec_or_tensor совместим с этим TensorSpec.

Два тензора считаются совместимыми, если у них одинаковый тип данных и совместимые формы (см. tf.TensorShape.is_compatible_with).

Аргументы
spec_or_tensor tf.TensorSpec или tf.Tensor
Возвращает
True, если spec_or_tensor совместим с self.

is_subtype_of

Просмотреть исходный код

is_subtype_of(
    other
)

Возвращает 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.

Устарело. Вместо этого используйте most_specific_common_supertype. Не переопределяйте эту функцию.

Аргументы
other TypeSpec.
Исключения
ValueError Если не существует TypeSpec, совместимого одновременно с self и other.

__eq__

Просмотреть исходный код

__eq__(
    other
)

Возвращает self==value.

__ne__

Просмотреть исходный код

__ne__(
    other
)

Возвращает 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/TensorSpec

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API