Spec-Zone.ru › TensorFlow 2.9

tf.experimental.DynamicRaggedShape

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

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

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

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

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

tf.compat.v1.experimental.DynamicRaggedShape

tf.experimental.DynamicRaggedShape(
    row_partitions, inner_shape, dtype=None, validate=False
)

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

  • 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, применяется динамическая проверка формы.
Атрибуты
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/versions/r2.9/api_docs/python/tf/experimental/DynamicRaggedShape

Spec-Zone.ru

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