Метод from_row_splits
Метод from_row_splits класса RaggedTensor создает
рваный тензор из плоского тензора значений и тензора границ
строк. Первым параметром метод принимает тензор значений
values, который содержит все элементы будущего
рваного тензора в развернутом виде. Вторым параметром
передается тензор row_splits, который задает
границы строк: каждый следующий элемент указывает,
сколько значений попадает в текущую строку.
Метод удобен, когда данные уже хранятся в плоском виде, а информацию о длине строк нужно задать отдельным тензором. Длины строк при этом могут отличаться друг от друга.
Синтаксис
tf.RaggedTensor.from_row_splits(values, row_splits, [validate])
Пример
Давайте создадим рваный тензор из плоского тензора
значений 1, 2, 3, 4, 5,
разбив его на строки с границами 0, 2, 5:
import tensorflow as tf
values = tf.constant([1, 2, 3, 4, 5])
row_splits = tf.constant([0, 2, 5])
t = tf.RaggedTensor.from_row_splits(values, row_splits)
print(t)
Результат выполнения кода:
<tf.RaggedTensor [[1, 2], [3, 4, 5]]>
Пример
Давайте создадим рваный тензор, в котором первая строка пустая, а остальные содержат значения:
import tensorflow as tf
values = tf.constant([1, 2, 3, 4, 5])
row_splits = tf.constant([0, 0, 2, 5])
t = tf.RaggedTensor.from_row_splits(values, row_splits)
print(t)
Результат выполнения кода:
<tf.RaggedTensor [[], [1, 2], [3, 4, 5]]>
Смотрите также
-
класс
RaggedTensor,
который представляет рваные тензоры -
метод
from_row_lengths,
который создает рваный тензор из длин строк -
метод
to_tensor,
который преобразует рваный тензор в обычный -
метод
to_list,
который преобразует рваный тензор в список