Spec-Zone.ru › TensorFlow 2.9

tf.experimental.ExtensionTypeBatchEncoder

Класс для кодирования и декодирования значений типов расширений для пакетной обработки.

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

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.experimental.ExtensionTypeBatchEncoder

Для пакетной и распакетной обработки API, таких как tf.data.Dataset, tf.keras и tf.map_fn, значения типов расширений должны быть закодированы как список tf.Tensorов, где стэкинг, расстэкинг или конкатенация этих закодированных тензоров, а затем декодирование результата должны быть эквивалентны стэкингу, расстэкингу или конкатенации исходных значений. ExtensionTypeBatchEncoder отвечают за реализацию этого кодирования.

По умолчанию ExtensionTypeBatchEncoder используется BatchableExtensionType, предполагая, что значения типа расширения можно стекировать, расстекивать или конкатенировать, просто стекируя, расстекивая или конкатенируя каждый вложенный Tensor, ExtensionType, CompositeTensor, и TensorShape поля.

Для типов расширений, для которых это не так, потребуется переопределить __batch_encoder__ с пользовательским кодером, который переопределяет методы batch, unbatch, encode, и decode. Например:

class CustomBatchEncoder(ExtensionTypeBatchEncoder):
  pass # Override batch(), unbatch(), encode(), and decode().
class CustomType(BatchableExtensionType):
  x: tf.Tensor
  y: tf.Tensor
  shape: tf.TensorShape
  __batch_encoder__ = CustomBatchEncoder()

Например, tf.RaggedTensor и tf.SparseTensor оба используют пользовательские кодирования пакетной обработки, которые определяют операции для "упаковки" и "распаковки" отдельных значений в tf.variant тензоры.

Методы

batch

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

batch(
    spec, batch_size
)

Возвращает TypeSpec, представляющий пакет значений, описанных spec.

По умолчанию возвращается TypeSpec, равный spec, за исключением того, что к каждому вложенному TypeSpec и TensorShape полю добавляется внешний осевой размер batch_size. Подклассы могут переопределить это по умолчанию, при необходимости.

Аргументы
spec TypeSpec для отдельного значения.
batch_size int, указывающий на количество значений, сгруппированных в пакет, или None если размер пакета неизвестен.
Возвращаемое значение
TypeSpec для пакета значений.

decode

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

decode(
    spec, encoded_value
)

Декодирует value из кодированного в пакетном формате тензора.

См. encode для описания кодирования по умолчанию. Подклассы могут переопределить это по умолчанию, при необходимости.

Аргументы
spec TypeSpec для результирующего значения. Если закодированные значения со спецификацией s были сгруппированы в пакет, то spec должно быть s.batch(batch_size); или если закодированные значения со спецификацией s были распакованы, то spec должно быть s.unbatch().
encoded_value Вложенное значение, возвращаемое encode; или вложенное значение, сформированное путём стэкинга, расстэкинга или конкатенации соответствующих элементов значений, возвращаемых encode.
Возвращаемое значение
Значение, совместимое с type_spec.

encode

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

encode(
    spec, value, minimum_rank=0
)

Кодирует value как набор пакетных тензоров или CompositeTensors.

По умолчанию возвращается плоский кортеж всех Tensors, CompositeTensors и ExtensionTypes из обхода value полей в глубину. Подклассы могут переопределить это по умолчанию, при необходимости.

Аргументы
spec TypeSpec кодируемого значения.
value Значение, совместимое с spec.
minimum_rank Минимальный ранг для возвращаемых тензоров, CompositeTensors и значений ExtensionType. Это можно использовать для обеспечения того, что закодированные значения можно распаковать это количество раз. Если minimum_rank>0, то t.shape[:minimum_rank] должен быть совместим для всех значений t возвращаемых encode.
Возвращаемое значение
Вложенное (как определено tf.nest) tf.Tensorов, пакетных tf.CompositeTensor или tf.ExtensionType. Стекинг, расстекинг или конкатенация этих закодированных значений и последующее декодирование результата должны быть эквивалентны стэкингу, расстэкингу или конкатенации исходных значений.

encoding_specs

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

encoding_specs(
    spec
)

Возвращает список TensorSpec(ов), описывающих кодирование для spec.

См. encode для описания кодирования по умолчанию. Подклассы могут переопределить это по умолчанию, при необходимости.

Аргументы
spec TypeSpec, кодирование которого должно быть описано.
Возвращаемое значение
Вложенное (определённое tf.nest) oftf.TypeSpec, describing the values that are returned byself.encode(spec, ...)`. Все TypeSpec в этом вложенном значении должны быть пакетными.

unbatch

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

unbatch(
    spec
)

Возвращает TypeSpec для одного не-пакетного элемента в spec.

По умолчанию возвращается TypeSpec, равный spec, за исключением того, что внешняя ось удалена из каждого вложенного TypeSpec и TensorShape поля. Подклассы могут переопределить это по умолчанию, при необходимости.

Аргументы
spec TypeSpec для пакета значений.
Возвращаемое значение
TypeSpec для отдельного значения.

© 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/versions/r2.9/api_docs/python/tf/experimental/ExtensionTypeBatchEncoder

Spec-Zone.ru

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