Spec-Zone.ru › TensorFlow

tf.experimental.DynamicRaggedShape

Форма разряженного или плотного тензора.

Наследуется от: BatchableExtensionType, ExtensionType

Псевдонимы

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

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

tf.compat.v1.experimental.DynamicRaggedShape

tf.experimental.DynamicRaggedShape(
    row_partitions: Sequence[tf.experimental.RowPartition],
    inner_shape: tf.types.experimental.TensorLike,
    dtype: Optional[tf.dtypes.DType] = None,
    validate: bool = False,
    static_inner_shape: ... = None
)

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

Используется в руководстве
  • Разряженные тензоры

Разряженные формы кодируются с использованием двух полей:

  • inner_shape: Целочисленный вектор, задающий форму плотного тензора.
  • row_partitions: Список объектов RowPartition, описывающих, как эта плоская форма должна быть раздроблена для добавления разряженных осей.

Если DynamicRaggedShape является формой RaggedTensor rt, то:

  1. row_partitions = rt._nested_row_partitions (и, следовательно, len(row_partitions) > 0)
  2. inner_shape — это форма rt.flat_values

Если DynamicRaggedShape является формой плотного тензора t, то:

  1. row_partitions = []
  2. inner_shape — это форма t.

Примеры:

В следующей таблице приведены несколько примеров (где RP(lengths) — сокращение для RowPartition.from_lengths(lengths)):

Разбиения строк Внутренняя форма Пример тензора
[] [2, 3] [[1, 2, 3], [4, 5, 6]]
[RP([2, 0, 3])] [5] [[1, 2], [], [3, 4, 5]]
[RP([2, 1])] [3, 2] [[[1, 2], [3, 4]], [[5, 6]]]
[RP([2, 1]), RP([2, 1, 2])] [5] [[[1, 2], [3]], [[4, 5]]]
Аргументы
row_partitions разбиения строк формы.
inner_shape если len(row_partitions) > 0, форма flat_values. В противном случае, форма тензора.
dtype tf.int64, tf.int32 или None, представляющий предпочтительный тип данных.
validate если true, применяется динамическая проверка формы.
static_inner_shape если len(row_partitions) > 0, статическая форма flat_values. В противном случае, статическая форма тензора. Должен быть преобразуем в TensorShape.
Атрибуты
dtype Тип данных формы — один из tf.int32 или tf.int64.
inner_rank ранг inner_shape.
inner_shape Размеры внутренних измерений для этой формы.
num_row_partitions Количество разбиений строк формы.
rank Количество измерений в этой форме, или None, если неизвестно.
row_partitions Разбиения строк формы.

Подклассы

class Spec

Методы

from_lengths

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

@classmethod
from_lengths(
    lengths: Sequence[Union[Sequence[int], int]],
    num_row_partitions=None,
    dtype=tf.dtypes.int64
)

Создает форму с заданными длинами и num_row_partitions.

Длины могут быть либо целым неотрицательным числом, либо списком неотрицательных целых чисел.

Если num_row_partitions равно None, используется минимальное значение num_row_partitions.

Например, [2, (3, 2)] — это форма [[0, 0, 0], [0, 0]], а [2, 2] — форма [[0, 0], [0, 0]]

Выбирается минимальное значение num_row_partitions, необходимое (включая ноль).

В следующей таблице приведены несколько примеров (где RP(lengths) — сокращение для RowPartition.from_lengths(lengths)):

Например:

from_lengths row_partitions inner_shape
[] [] []
[2, (3, 2)] [RP([3, 2])] [5]
[2, 2] [] [2, 2]
[2, (3, 2), 7] [RP([3, 2])] [5, 7]
[2, (2, 2), 3] [RP([2, 2])] [4, 3]
[2, 2, 3] [] [2, 2, 3]
[2, (2, 1), (2, 0, 3)] [RP(2, 1), RP([2, 0, 3])] [5]

Если мы хотим, чтобы разбиения строк завершались равномерными разбиениями строк, мы можем установить num_row_partitions.

Например, ниже URP(3, 12) — это RowPartition.from_uniform_row_length(3, 12)

from_lengths num_row_partitions row_partitions inner_shape
[2, (3, 2), 2] 2 [RP([3, 2]), URP(2, 10)] [10]
[2, 2] 1 [URP(2, 4)] [4]
[2, 2, 3] 0 [] [2, 2, 3]
[2, 2, 3] 1 [URP(2, 4)] [4, 3]
[2, 2, 3] 2 [URP(2, 4), URP(3, 12)] [12]

Представление форм из init():

from_lengths Пример тензора
[2, 3] [[1, 2, 3], [4, 5, 6]]
[3, (2, 0, 3)] [[1, 2], [], [3, 4, 5]]
[2, (2, 1), 2] [[[1, 2], [3, 4]], [[5, 6]]]
[2, (2, 1), (2, 1, 2)] [[[1, 2], [3]], [[4, 5]]]
Аргументы
lengths длины подсписков вдоль каждой оси.
num_row_partitions num_row_partitions результата или None, указывающий минимальное количество row_partitions.
dtype тип данных формы (tf.int32 или tf.int64).
Возвращает
новый DynamicRaggedShape

from_row_partitions

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

@classmethod
from_row_partitions(
    row_partitions, dtype=None
)

Создает форму из row_partitions.

Аргументы
row_partitions непустой список объектов RowPartition.
dtype используемый тип данных или None для использования типа данных row_partitions.
Возвращает
DynamicRaggedShape с inner_rank==1.

from_tensor

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

@classmethod
from_tensor(
    t, dtype=None
)

Создаёт разряженную форму для потенциально разряженного тензора.

is_uniform

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

is_uniform(
    axis
)

Возвращает true, если указанное измерение однородное.

static_lengths

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

static_lengths(
    ragged_lengths=True
)

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

Это представляет собой известные значения. Для каждого разбиения строк он предоставляет либо равномерную длину строки (если она статически известна), либо список длин строк, либо None, если она не статически известна. Для внутренней формы, если ранг известен, то каждое измерение сообщается, если известно, и None в противном случае. Если ранг внутренней формы не известен, то возвращаемый список заканчивается многоточием.

Аргументы
ragged_lengths Если false, возвращает None для всех разряженных измерений.
Возвращает
Последовательность [Объединение [Последовательность [int], int, None]] длин с возможным многоточием в конце.

with_dtype

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

with_dtype(
    dtype
)

Изменить тип данных формы.

__eq__

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

__eq__(
    other
)

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

__getitem__

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

__getitem__(
    index
)

Возвращает размерность или срез формы.

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

Любой срез, который не начинается с нуля, вернёт форму с num_row_partitions == 0.

Аргументы
index индекс: может быть целым числом или срезом.
Исключения
IndexError если индекс не входит в диапазон.
ValueError если ранг неизвестен или неправильно запрашивается ранг растянутой формы.

__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/experimental/DynamicRaggedShape

Spec-Zone.ru

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