Spec-Zone.ru › TensorFlow

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, пригодных для пакетной обработки.

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

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

encoding_specs

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

encoding_specs(
    spec
)

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

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

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

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/api_docs/python/tf/experimental/ExtensionTypeBatchEncoder

Spec-Zone.ru

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