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
  • Классификация видео с помощью 3D сверточной нейронной сети
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 Если форма не может быть преобразована в tf.TensorShape, или тип данных не может быть преобразован в tf.DType.
Атрибуты
dtype Возвращает dtype элементов в тензоре.
name Возвращает (необязательное) имя описанного тензора.
shape Возвращает TensorShape, представляющий форму тензора.
value_type Тип Python для значений, совместимых с этим TypeSpec.

Методы

experimental_as_proto

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

experimental_as_proto() -> struct_pb2.TensorSpecProto

Возвращает представление прото объекта TensorSpec.

experimental_from_proto

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

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

Возвращает объект TensorSpec на основе сериализованного прото.

experimental_type_proto

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

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

Возвращает тип прото, связанный с сериализацией 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.

Args
others Последовательность TraceTypes.

most_specific_compatible_type

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

most_specific_compatible_type(
    other: 'TypeSpec'
) -> 'TypeSpec'

Возвращает наиболее специфичный совместимый TypeSpec с self и other. (устарело)

Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: Используйте most_specific_common_supertype вместо неё.

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

Args
other A TypeSpec.
Raises
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